Python vs. Perl, which is better to learn?

Patrick W quitelikely at yahoo.com.au
Thu May 2 21:17:26 EDT 2002


"Steve Holden" <sholden at holdenweb.com> writes:

> "Patrick W" <quitelikely at yahoo.com.au> wrote ...
> [...]
> >
> So, what you seem to be saying is that I should have stuck with Algol 60,
> PLAN, PL/1 and IBM 1130 assembly language?

Yeah, maybe "a lifetime" was a bit of an exaggeration.

> There is something in what you say, but I would prefer to think that one
> moves to a new language precisely because it does offer better wasy of using
> fundamentally new paradigms. If someone wants to use object-oriented
> techniques they would be hard-put to graft them onto (say) Algol 60.

This argument works both ways depending on which language you choose
as an example. As you say, it would be hard to program in a "modern"
OOP style in Algol 60, but it's done all the time in the Lisp family,
which is older than Algol. In fact it's done in ways that _still_
haven't found their way into the mainstream (but probably will one
day, packaged up and sold as something "innovative", or even
"revolutionary"). Obviously, new languages and dialects are sometimes
necessary to support new paradigms, but I argue that it's _necessary_
less often than it's _done_.

I'm not trying to be awkward though. I take your point. How about we
reduce "a lifetime" to "15 years or so" (without wishing to send
anyone to an early grave?) ;-)

> Another problem, of course, is that often times the learner has no choice,
> or is badly guided, and then has to change anyway. Plus, of course, changes
> of job can mandate changes of language.

Yeah, that's why I left slot (4) vacant. Sub "whatever else turns you
on" for "whatever pays the bills" if you must.

> [C, C++] I think it's dangerous to equate these two languages, as
> despite C++ being a superset of C it contains many things, and
> implements many concepts, which C does not. I regard them as being
> fundamentally different: C is a sort of high-level assembly
> language, whereas C++ is a Swiss army knife.

No, you misunderstand me. I wasn't equating them. I listed them as
examples of languages that permit low-level, minimal-overhead, systems
level programming. The fact that C++ crosses several categories
doesn't exclude it from this one.

> Not all languages extend easily. [...]

Aye, there's the rub. 

As a general rule though, I still think it's better to choose
carefully and go for reasonable combination of depth and breadth. The
main guts of my argument is that it leaves more time for learning
important concepts. If the need arises to change languages, those
concepts will still be around.





More information about the Python-list mailing list