Python vs. Perl, which is better to learn?

Cameron Laird claird at starbase.neosoft.com
Wed May 1 10:02:40 EDT 2002


In article <826628efe5.fsf at acropolis.localdomain>,
Patrick W  <quitelikely at yahoo.com.au> wrote:
>rmelson at gilia.nmsu.edu ("Bob Melson") writes:
>
>> If you're asked to build a house, you certainly don't confine
>> yourself to a single tool -- you use the tools appropriate to the
>> job you have to do; why should it be different with scripting
>> languages?
>
>Because the "right tool for the right job" approach is wrong in this
>context. It should apply to the choice of language _categories_, not
>languages _within_ a category. There are better things to do with time
>and mental energy than learn a dozen different ways of doing the same
>thing. 
>
>If it took a minimum of six months to learn how to push two different
>brands of wheelbarrow, can you imagine an experienced builder saying
>to his apprentice: learn both?

It's a good point.  I think Mr. Melson's also
right, though.  And my understanding of at
least some traditions of apprenticeship is 
that they *do* call for the juniors to learn
two wheelbarrows before using either.

I'll try to make this more precise in the
case at hand.  You are right that it's con-
siderably more expensive to learn two
languages, or a mix of two languages, than
a single one.  One has to expect that there's
a far greater return-on-investment for
learning the first, than the second.  This
puts a premium, of course, on making a cor-
rect choice for the first.

So far, we're conversing rather abstractly.
In the specific case of Perl vs. Python, I
contend that:
1.  their functional roles are quite
    similar;
2.  both languages are "lightweight"
    in the sense that one can start
    to use them with only a few hours
    spare time; and
3.  their "subjective" applicability
    is rather polarized.
What I mean by the latter is that a large
number of engineers seem to have big emotional
reactions to syntactic differences that are
superficial in any language-theoretic sense:
significant white-space, variable markers,
function argument lists, CPAN vs. distutils,
and so on.

My conclusion:  *experience* both languages
(a modest investment), decide for yourself the
"first impression" each makes, pick the one 
that feels right, then *learn* that language,
with confidence that you're missing little by
choosing only that one.

-- 

Cameron Laird <Cameron at Lairds.com>
Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



More information about the Python-list mailing list