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