Python and Java Compared?

Russell E. Owen owen at astrono.junkwashington.emu
Mon Apr 2 14:32:18 EDT 2001


In article <3ac6f744_1 at news4.newsfeeds.com>,
 "Dry Ice" <nomail at nomail.com> wrote:

>First, I'd most like to hear from those
>who have some balanced experience at BOTH,
>as opposed to 'fans' of one or the other who
>have only dabbled in a secondary effort.
>
>I would like to select one development environment
>to manage everything in a cluster-server project,
>from accounting-database to server CGI to distributed
>computing jobs.
>
>Platform: Linux, and a few Windows machines- at
>least at the beginning.
>
>If you had to choose...

Both are reasonable. They have decent syntax, built in garbage 
collection, integrated networking libraries, good support, good 
documentation.

Python's strenths include:
- Dynamically typed and interpreted. Both of these make code clearer, 
much easier to write and much more malleable. Interpreted code is also 
easier to test. It is hard to overstate how valuable these factors are 
for reliability -- far outweighing, in my mind, the value of strong 
typing (though better optional type checking would be nice to have).
- Well designed class libraries that are easy to use. I find Java's a 
bit cluttered and overly complex. This is partly a by-product of dynamic 
vs static typing. Check out the relative size of the books for each 
language some time; it's an eye opener.

Java's strengths include:
- Interfaces (which may get added to Python).
- Lack of multiple inheritance. In my view MI adds more risk than 
advantage. Others, of course, will assign the advantage to Python.
- Integrated GUI. There are many GUI choices for Python but none are 
really well integrated and support can be an issue.
- Jython means you can write Python scripts in Java and, to some extent, 
have the best of both worlds. I've not tried it, though.

I'm sure I'm missing a lot, but it's a start.

Smalltalk is another language you should consider (try out Cincom's 
noncommercial package). It is missing interfaces, but otherwise has most 
of the strengths listed above. It also has the best development tools 
and development time of the bunch.

-- Russell



More information about the Python-list mailing list