Thank you (was Re: Should I learn Python or Java?)

Peter Hansen peter at engcorp.com
Sun Jan 7 22:21:26 EST 2001


D-Man wrote:
> 
> I am currently employed to do Java development.  (I'm a co-op, still
> in college so if anyone knows of a company that does python
> development, let me know)  

As someone who hires programmers, including co-ops, I would
recommend you be careful focusing on companies who demand
experience with specific languages.  Although some companies 
hire people for their language-specific experience, in 
cases of general-purpose programming this is misguided.
(For things like DB work, SQL would of course be one
requirement.)

My company now does a significant amount of Python development,
but I would still not strongly favour a "Python developer"
over a developer with a broad background in a variety of
languages, at different levels and in different application
areas.  The only thing 'Python' would do on a resume is 
slightly increase the time I would spend looking at the 
candidate (out of several hundred resumes I've seen in 
the last six months only one included the word Python.)

Or perhaps you were just expressing a strong desire to 
work for a progressive company that recognizes the benefits
of Python and provides an opportunity for people to work
with it.  I'd try the same thing in your shoes.  Another 
thing I'd do, though, would be to learn Python well 
enough and broadly enough to be able to find novel 
and useful ways to apply it in _any_ company I worked
for.  Given how easy it has been to demonstrate the
advantages of Python over many alternatives, I would
think you could successfully build yourself an opportunity
to program in Python in your next company.

> static type-checking).  Also, Java does some weird things with respect
> to objects vs. built-in types and not having generics.  One of the
> results is that you *can't* put an 'int' in a list/vector/etc.

Python is not without weirdities.  You can't easily subclass
a File 'object', because it's essentially a built-in type.
I don't think I know of any language without warts, and
I think there's a theory (from Hofstadter? (sp?)) that
says you can't have a theory that is both consistent and
complete (so maybe you can't have a programming language
that is practical but without warts...)

> As for portability, Python is much more portable than Java is.  It is
> also much older (and stabler, and faster, etc) than Java so I don't
> think it will displace Java soon (unless someone can convice a big
> name company to spend lots of money promoting it ;-)).

Although "much older" applies, "much stabler", "much faster",
and "much more portable" are, in my opinion and experience, 
definitely not true.  Both Python and Java have very high 
stability and acceptable performance given today's hardware,
and either are so much more portable than many other 
languages that they are in a class alone (together :).
Compared to many languages Java deserves respect.



More information about the Python-list mailing list