Java and Python

Peter Hansen peter at engcorp.com
Wed Mar 20 02:14:00 EST 2002


Ahmed Moustafa wrote:
> 
> Peter Hansen wrote:
> > 1. As others have said, there is no such thing as an unbiased
> > comparison of almost anything, let alone programming languages,
> > let alone two with such, uh, "dedicated" users as Java and Python.
> > Nevertheless, even if we could find such a thing, the response
> > would really depend entirely on the application area.
> 
> How about web development? Also, how is Python doing in the embedded
> applications?

Python is excellent for web development.  I can't say exactly
how it compares with Java, but this is a very active area
for Python (see Zope, for example).  You may also have heard of 
Jython, which compiles Python source to Java .class files which 
can then run on any Java VM.  Since Python source is often more 
readable and compact than languages derived from C, the result 
can be "the best of both worlds."

If by "embedded" you mean truly embedded systems, with 
microcontrollers in dedicated-purpose systems and generally 
limited user interfaces, Python is somewhat less suitable
than Java, since there are the KVM and similar Java variants
focussed specifically in this area.  Python is in use in
some PC104-based embedded systems (that's what we use it 
for in the embedded area) and has also been ported (in
early forms) to the Palm Pilot, for example.  The language
itself is perhaps slightly less effective for embedded
systems in some respects, because it is higher level than
Java.  If your constraint is performance and code size,
Java might be better (but then, C might be much much
better...) whereas if development time and cost is the
constraint, Python may well be the winner.  (This is 
why we use it.. much faster development, easier testing,
etc.)  On the other hand, two years ago I made the choice
between Java and Python for the embedded arena, and 
Java was no hell at the time, so I chose Python.  I'm
still quite satisfied with the decision.

> > The point is, I would never hire you or anyone _because_
> > you knew Python, or Java.  I would hire you because
> > I thought you were capable of learning it and using it
> > effectively.  I actually tend to shy away from people
> > with great lists of "certifications" in languages because
> > it suggests to me they have difficulty learning and
> > think it's a very impressive thing that they managed
> > to learn enough to write an exam which tests knowledge
> > of syntax but little about programming skill.
> 
> I agree a certificate does not mean a great programmer, and I think the
> employers know that, but it still tells that one is serious about the
> profession. I have been programming with Java for +4 years now. I got
> certified 2 months ago. I feel my resume is stronger now.

That may be, depending on the one doing the hiring.  I consider
*any* competent programmer fully capable of learning a language
such as Java or Python within at the absolute most a few 
months and, if necessary, taking these certifications.  
The fact one has taken it holds no special merit in my mind,
since it is a "least common denominator" type of thing.  I 
can judge a developer's competence much better during an
interview with discussion than I can by seeing a
certification on her resume.  It is _not_ the knowledge of
language syntax and idioms that matters, but many less
technical traits, where I'm concerned.

As for showing your seriousness, I suppose it might do that.
For me, the breadth and depth of your experience on projects
does that.  After four years, I would expect to see several
major projects and experience in a variety of areas such
as networking, database, GUI, and multithreaded work.  The
certification pales in comparison to those items on any 
resume I've seen.  But that's certain a matter of opinion.
Some people think a P.Eng. (professional engineering, or
PE in the States) designation means a lot.  Others remember
some of the people they went to school with and realize 
some P.Eng's are quite competent, while others may be less 
so.  It's no guarantee. 

-Peter Hansen, P.Eng.  :-)



More information about the Python-list mailing list