Saturday April 09, 2005
Basic Logo Pascal VB Perl - doomed newbie languages
"Basic Logo Pascal VB Perl - doomed newbie languages" - of course I'm not implying that
Perl is only suitable for novices, as that's
clearly not the case. Now that I have your
attention, I'd like to 302 it on over a
an interesting bit of opinion being pomped
as trivia: languages generally learned as
a first language die at the same rate the
people who learn them become competent programmers.
Restated, languages generally learned as a
first language have a life span, and the
length of that lifespan is the time it takes
these new programmers to become competent
Anecdotaly, most of the people who I knew
who were Perl programmers aren't Perl programmers
They program other things but they've moved
to Java and Python by and large -- and they
blame the childishness of their early attempts at programming on Perl, not themselves.
And as they had only just become competent
programmers with Perl, they'd switched away
before they came to really understand the
beauty of Perl. Also, switching languages
wholesale is a great way to distance yourself
from having to maintain your old code
(but keeping newbies at least one
committer away from production code is an
even better way).
None of this is unique to Perl.
Exactly the same thing happened with
Logo, Pascal, and VB.
Pascal and VB certainly aren't fantastic
languages, but Pascal is pretty sane as long
as you don't think about the futility of
their approach to types and VB lets you get
things done a heck of a lot faster than C++
(and many Microsoft developers will say so).
I started thinking about this when I started
playing with Logo recently.
It's a fantastic little language, and it has
a lot in common with Perl.
It's a Lisp dialect - but without the
Just like with Perl built-ins and prototyped
user functions, parentheses are only necessary
where the statement would otherwise be
ambagious (such as when a function that
takes any number of arguments is used as an
argument to another function).
(Curiously, Logo also omits commas between
Legions of school kids learned to program
Logo using the turtle (in addition to text)
But as soon as they learned this nifty
Lisp dialect, they stopped programming Lisp -
and moved to something almost certainly
far less neat - something such as VB.
This directly conflicts with the "common sense"
that programmers graduate from less-cool
languages to more-cool languages over time, but
this considers C to be a step up.
Supporting my theory is the fact that programmers aren't slowly moving towards
Lisp, Perl, Ocaml, Hasell, Ruby, or any
other language that great hackers generally
consider to be great languages.
Instead, this trestie says that the second language
a programmer learns has no particular
relationship whatsoever to their first.
I learned BASIC than assembly.
This forced me to move to yet another language
to continue my personal development.
Once I had learned three languages, I was
incapable of harboring the dillusion that
the second language I learned was free of
pitfalls, short comings, limitations, etc.
Happily this predicts the death of PHP as well