Java and Python

Ahmed Moustafa amoustafa at pobox.com
Wed Mar 20 01:41:13 EST 2002


Peter,

Thanks a lot for your answers. I really appreciate them.

Peter Hansen wrote:

> Ahmed Moustafa wrote:
> 
>>Peter Hansen wrote:
>>
>>>Ahmed Moustafa wrote:
>>>
>>>>1. Where can I find an unbiased comparison between Java and Python?
>>>>2. Will Python dominate?
>>>>3. Who does support Python?
>>>>
> [...]
> 
>>>I think if you told us what your purpose is in asking the questions,
>>>the answers would be more useful and direct.  _Why_ do you want
>>>to know?
>>>
>>I'm interested in knowing which skills will(are) being looked for.
>>
> 
> Thanks for the clarification.  In that case, these would be my answers
> to you:
> 
> 2. Python will not dominate, any more than any other language will.
> Python is certainly in a growth period, but it seems unlikely it
> will attain the mass acceptance of Pascal, C, C++, and Java in their
> day.  (Not to imply that Java's day has passed... that much is 
> evident from the number of bookstore shelves devoted to it!)
> But who cares?  If you go where the mass unwashed go, you'll get
> the same sorts of mundane and rote jobs as the mass unwashed do.
> 
> 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?


> Java is better suited for some applications, and Python for
> others.  Without defining the type of work you want to do,
> any comparison is meaningless.  (E.g. "Python programs tend
> to be much more readable" doesn't matter if your job involves
> writing Java on a Java team doing EJB stuff, unless you 
> can get the whole team to use Jython instead.)
> 
> 3. The best support for either Java or Python is probably in 
> their respective newsgroups.  Python's is widely known as being
> one of the most polite and helpful.  The language has been
> around a little longer as well, and as it's not largely a 
> commercial venture this might suggest that the "support"
> question is a bit of a red herring.  Do you regularly contact
> the Microsoft for help with VB, or Sun for help with Java?
> (Or did you mean who is "backing" the language, ensuring
> its continued viability.  The answer to that is twofold:
> look at the 11+ year age of Python as historical proof
> it's not a flash in the pan, and note it's _open source_
> so it cannot, by definition, lose viability while people
> support and use it.  You can always get the source.)
> 
> Here's my best answer to you:  I happen to hire programmers
> to work on my team in a wireless telecom company.  Although
> we happen to have chosen to use Python in addition to C and
> a few minor languages like Javascript and Assembly, where 
> necessary, the language we use is hardly the most important
> thing.  
> 
> Communication skills are, first and foremost, the thing I 
> look for in hiring.  This includes the softer social skills
> like how to work in a team and put aside one's programming
> ego.  Next are adaptability, as in how easily someone can 
> pick up new skills and apply them effectively.  Design 
> skills are useful.  Debugging skills are very valuable, 
> though rather unfortunately rare.  Probably some others 
> that don't come to mind in today's economy (we're not
> hiring now :-).
> 
> Way, way down the list of things I look for in a resume
> is the programming languages a candidate has.  Not entirely
> unimportant, but useful only taken as a whole.  I don't care 
> whether somebody knows Python, and have found and hired
> only one such programmer yet (and not because he knew Python).  
> The others had a variety of backgrounds including Java, 
> C++, Delphi, VB, C, BASIC, assembly of various kinds, 
> and so forth.  Those with only a single language, or 
> maybe two, probably didn't get hired.  Those with a dozen 
> were more able to demonstrate their flexibility to me.
> 
> When they were hired, they went to work learning Python.
> About a week later, most of them were already contributing
> in a productive way.  A month later any of them could
> code Python as well as they could code in any of their
> previous languages.  For the most part, I would have 
> expected the same of them even if we used Java (though
> perhaps with a somewhat longer learning curve).
> 
> 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.


> 
> My suggestion then is to "get over" the comparison thing,
> and make sure you know both, and throw in others as you
> come across them and have opportunity to learn. This will
> make you a better programmer, because of the learning and
> generalization your brain will do, not because of the 
> specific skills you have.
> 
> Not all companies hire in this way, of course, but all
> the best ones do. :-)
> 
> -Peter
> 
> P.S.: If you are considering Python as a massive growth
> area where ex-Java programmers can go to get lucrative
> jobs, you're bound to be disappointed.  As in programming,
> there is no silver bullet.
> 

-- 
Ahmed Moustafa




More information about the Python-list mailing list