Python vs. Perl, which is better to learn?

Philip Swartzleonard starx at pacbell.net
Thu May 2 07:18:31 EDT 2002


Patrick W || Tue 30 Apr 2002 08:05:54p:

> 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?

<> [Various other arguments]

I've been thinking about this a bit today, and I think maybe a new take 
on this metaphor would fit better. How about this, where we are 
restricted to 'things that attach pieces of wood to each other':

Python, perl, ruby, lua, etc, are all various brands of glue. This kind 
of tool was created later because of the more involved producer-side 
work and knowledge required, but are now the easiest to get ahold of and 
the easiest to start using. You don't need much education to stick two 
pieces of wood together with them =).

C++ and Java are the other side of modernization in tools: highly 
accurate plainer-jointers that produce beautiful and seemless interfaces 
that fit together effortlessly-- but they take a large amount of put-out 
to get set up and running properly and as they are huge, powerful 
machines take a lot of skill to use _just right_ and create good works 
with. You can still hurt yourself with these things.

Algol, pascal, ada, and all the languages that are a little safer than C 
but of a similar type are different kinds of hammers and nails. You can 
do good work with these things, but you can hit your thumb if you're 
clumsy. (I've never used any of these btw...)

C itself is a framing nailer. The end results are about the same as a 
hammer, but there is more power there, and you can shoot yourself in the 
hand pretty easily. =)

Assembly is like a small ball-peen and finish nails, if used 
appropriatly, or like a 100 pound mallet if not =).

Machine language is like trying to make a pocketwatch with a knife, some 
rocks, and some string. McGuiverisms =).

The point is, there is a time for most of the types of tools. Only a 
grand-master woodcrafter, or an old one who has lived through shifts in 
technology and politics, would learn many different brands of a single 
tool to a great depth. The rest of us just become proficient in one or 
occasionaly two and muddle through when required to use a different 
brand =).

Ah, gn'ight

-- 
Philip Sw "Starweaver" [rasx] :: www.rubydragon.com



More information about the Python-list mailing list