Advice requested: GUI project beginning

Christian Tanzer tanzer at swing.co.at
Fri Mar 31 09:23:47 CEST 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