Happy Birthday Perl!
Puppet Master writes: "Just remembered that Perl was created on this day (12/18) in 1987 by Larry Wall..." Check out the Time Line and the discussion on use.perl.org and I'll take this chance as a reminder to donate to the Damian Conway/Dan Sugalski slavery fund.
http://paulagordon.com/shows/wall/
Also, this would be a good time to remember the principles of good programming:
"I don't know half of you half as well as I should like, and I like less than half of you half as well as you deserve."
Seriously - what else can do system admin scripting(on many different systems), database programming, web programming, network programming, and do it all on just about any platform, not to mention virtually everything C, awk, sed and shell scripting can do.
Nothing, that I know of.
No, Thursday's out. How about never - is never good for you?
Perl is really the reason I stay with programming. Trained in Cobol, Pascal, C, and C++, I thought that coding was an adventure like delving into the depths of Mayan pyramids - difficult and yet rewarding. There's only so much grinding one can take, though, and I was at the point of giving it all up to focus all my time on engineering new toys for all the boys and girls.
Then I found Perl. Built-in data structures, a text-parsing mechanism that's second to none, and a community that's more interesting than a barrel of camels. Programming in Perl is like painting, it's fun, engaging, and every bit of creativity that rolls from the tips of your fingers is reflected in the code.
Besides, I've had the opportunity to have lunch with Randal, and he was much more interesting than Bjarne (who couldn't be bothered, but I'm sure is a nice guy).
No coal for you this year, Larry.
Dancin Santa
You're right. There's a lot of unnecessary elitism in programming (just like in anything else.. choosing an OS, video card, etc) which gets in the way of the task at hand. I admit it, I've done it myself.
Perl is often put down for no reason, although a specifically Win32 based programming language that also gets a lot of unnecessary ribbing is Delphi. Visual C++ diehards don't really care about the fact Delphi's compiler is faster or that you can do practically everything quicker in Delphi, but they blast it anyway.
While Visual C++, Perl, VB, ADA, Delphi, x86 are all good languages, it'd indeed be a dull world if you only stuck to one of them without learning others.
I just can't wait for the day that you can inline other languages easily, just like you can do with x86 into many current languages.
Imagine writing away in C++ and suddenly dropping in:
inline perl {
$_ = $argv['myvariable'];
s/etcetc/etcetc/g;
}
That would rule! (Especially since languages such as C and Pascal are awful at the things Perl is good at.)
mogorific carpentry experiments
"Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin
If you read the history section closely, the date is when Perl 1 was released. I don't think that was the day Larry completed it (he was over in R&D by that time), but it certainly isn't the original birthday of Perl. I should know. I was there.
:-)
To tell the story yet again. Larry and I were sharing an office at SDC. Larry needed a program to support a configuration management system he was developing for the BLACKER program. Awk wouldn't do the job of marching through the news directories. And so he developed perl (version 0). I know; for I was the first user, using a combination of perl and other programs to support a data dictionary for the ACC portion of BLACKER, where we would maintain the data dictionary in nroff, and the pascal source would be automatically derived.
So, celebrate if you will, but remember exactly what you are celebrating. And drink and drive responsibly
Daniel
Perl's Maternal Godparent.
I agree with the thrust of your argument, but there are a lot more then the 2 exceptions you listed above that can seriously lengthen the learning gap, and many are losses of language/lib features.
Going from explicit to implicit memory management will generally not be too hard, but going from only languages that GC (or reference count) for you to ones that don't is a big jump. Going from things with random access pointers (C, and assembly) to things that don't (Java, Pascal...) will also be a bit of a hinderance. Losing floating point can be a shock (most languages to FORTH). Oh, going to a stack language can be a shock (PostScript and FORTH). So can going from strongly typed languages (Java/ADA) to weakly typed ones (C) can be a shock as well, but so can going to untyped languages (FORTH), and this shock works both ways. Oh, and losing exception handling (APL/C++/ Modula-3 to C) can be a shock as well.
There are dozens more that can throw one for a loop (Hmmm, explicit flow control, vs. data flow languages anyone?). Not every languages has them (some have many), and once you start learning lots of languages chances increase that the new language won't have any new concepts, but just a new (and hopefully more useful) combination of them.
Oh, and learning some of the finer points of languages can take some time ("resource acquisition is object creation" for example), I used C++ for five years before I stumbled across that one (to be honest, I think I used C++ for two years before one could fully apply that one).