Basic Logo Pascal VB Perl - doomed newbie languages

scrottie on 2005-04-10T01:31:11

"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 programmers.

Anecdotaly, most of the people who I knew who were Perl programmers aren't Perl programmers any more. 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 superflous parentheses. 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 arguments.) Legions of school kids learned to program Logo using the turtle (in addition to text) as output. 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 as Perl.

-scott


Looking for logo book

jdavidb on 2005-04-11T02:22:19

Speaking of Logo, I'm looking for a Logo book geared at children. If anyone has one they're willing to part with, please let me know.

And if there are any good online tutorials aimed at children, please point me that way. :)

Re:Looking for logo book

scrottie on 2005-04-14T18:32:07

Brian Harvey's _Computer Science Logo Style_ is available online from http://www.cs.berkeley.edu/user/bh/logo.html for personal use. They're well written, fun, project-oriented, and incremental. They're geared for highschool students or students in late elementary school (and kids are becoming increasingly capable technicians). Hope this helps - and sorry I didn't notice your comment for a while.

-scott

The problem with Logo...

bart on 2005-04-11T11:47:25

Well, a problem with Logo, was its complete lack of speed. I always thought it was pretty cool as a language.