Phillip J. Eby has a recent weblog entry, Python is not Java,
wherein he points out a few aspects of Python that are notably
different from Java but that are similar enough that Java coders
working in Python mistake them for their Java counterparts.
He touches on a few of the characteristics that led me to make Python
my general purpose language of choice, a title that had belonged to
Java as recently as a year ago. I thought it might be useful to
explain these characteristics without assuming the reader has a whole
lot of Python experience but that they do have significant Java
experience. This would have helped me immensely in determining whether
Python was right for me much sooner and I hope it can be of use to
someone else.
I'm planning on covering each of the items Phillip points out in his
article over the next month and if that works out, I may extend the
series to a few other things that may be useful.
This is not a Python is better than Java
thing. Instead of
bashing aspects of Java's language and library that are
obviously valued by the Java community, or insulting the intelligence
of Java coders, or using any number of other techniques you
might find in Every Language War Ever, Phillip is simply asking
Java programmers who may be dabbling in Python to take a closer look
at some of the features that make Python unique and attractive instead
of attempting to force-fit concepts from Java. If you base your
expectations of Python on Java concepts, you are likely going to have
a bad experience with Python.
Continue on for the first part of the series, which talks about some
of the differences between Python class methods / class variables
and Java static methods / static variables.