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