Advice requested: GUI project beginning
Christian Tanzer
tanzer at swing.co.at
Fri Mar 31 02:23:47 EST 2000
"Russell E. Owen" <owen at astroNOJNK.washington.edu.invalid> wrote:
> I am starting work on a telescope remote control user interface. It's a
> big program with lots of windows and controls and display graphics
> supporting the telescope and numerous instruments.
Nice project.
> Python is a leading contender because I'd like a system that offers:
> - rapid development/change/test
> - robust
> - safe (automatic garbage collection and bounds checking)
> - runs under both unix and MacOS, if possible (windows wouldn't hurt,
> either)
> - will probably be around in 10 years
IMHO, Python is a very good bet on all counts.
> Any comments? If I do switch, is Python development or support notably
> superior under unix or windows -- aside from OS preferences? (Please no
> OS flame wars.)
I'm developing on Linux while most of the production code runs on
Win32.
If you have free choice, Linux would be the better platform for
controlling a telescope than either Mac or Win32. The observers
wouldn't like to have to reboot in the middle of the night on a
regular basis.
I'd not like to switch to Win32 as development platform.
> What Python windowing environment do you recommend for a new project?
> wxPython? Tkinter? Java (via JPython)? (Is there anything else?). I'd
> prefer something that is easy to use and scalable.
Tkinter offers a higher-level toolkit than its contenders. This
reduces the amount of programming necessary. OTOH, the performance of
Tkinter is not as good as you'd like -- going through Tcl slows things
down a bit. Depending on your application this might be a problem.
> P.S. I am also considering Smalltalk (superb language, but ugly GUI and
> hard to sell to folks used to C/tcl/perl) and Java (reasonable Mac
> support and long-term prospects, but not very malleable). Are there any
> other languages I should consider?
I'd stick to Python.
Java would cost you substantially more development effort.
IMO, Python has several advantages over Smalltalk:
- scalability: Python supports tiny scripts and substantial
applications equally well
- openness: you can easily use C and C++ code (which might be
important for performance reasons)
- Numeric python might be very interesting for your application
- Python is much easier to learn than Smalltalk
--
Christian Tanzer tanzer at swing.co.at
Glasauergasse 32 Tel: +43 1 876 62 36
A-1130 Vienna, Austria Fax: +43 1 877 66 92
More information about the Python-list
mailing list