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