by Jesse Somer
http://www.m6.netYou are a web-developing super-programmer who’s going to change the world. You know all about Perl, I mean it’s the most general purpose programming language around, and probably the most widely used for small ‘glue’ applications between other applications. It’s been described as the ‘duct tape’ of the Internet…Well it pretty much created the Internet that we know today. I decided to look into this super-language a bit deeper to see what I could find out about the people who created it. Boy was I unprepared! Have you ever see a computer language that has so many weird and strange affiliations? Haiku contests, ‘Keepers of the Pumpkin’, "manipulexity", "whipuptitude", ‘TMTOWTDI’ (pronounced TIM-toady), hubris, camels, "Swiss Army chain-saw"…Stepping into the world of Perl was taking a dive into some quirky humanity, some strange creation, a humorous extension of ingeniousness.
The first version of Perl came from the mind of a human named Larry Wall. If you thought that all computer programmers were boring nerds hiding away from the rest of society, you’d probably be right…but you may be absolutely wrong. Larry Wall graduated from University in the field of Linguistics, a little bit different from most tech-heads wouldn’t you say? Funny that a linguist would be the one who creates a language, and that’s exactly what happened. Perl has been compared with natural human languages and said to have striking parallels.
Natural languages have the incredible ability to share information between people of all skill levels and backgrounds. The same natural language can allow a young child to communicate well enough for adults to understand them, while also being complex enough for a philosopher to express themselves at the deepest level. Perl is similar. Small Perl programs are easy to create and can perform many tasks easily. Even the newest student of Perl can write useful programs. However, it is such a rich language that it can also be used to create large, complicated programs that do utterly amazing things.
So why is it called Perl? These days it has the meaning of ‘Practical Extraction and Report Language’. (It has also been known as ‘Pathologically Eclectic Rubbish Lister’ by computing comedians.) However, you should know that it was originally called ‘Pearl’ because it was deemed by its creator as having a similar value as the pearl in a Christian Bible Parable, ‘The Gospel of Matthew’ 13:46. ‘Who, when he had found one pearl of great price, went and sold all that he had, and bought it.’ Larry Wall seems to be a little different from the average bear…one might think that he could have an enormous ego in the sense that he in essence has defined his own invention as being worth the sum of all of one’s possessions. Hmmm, Perl does kick fool so we won’t question his integrity, and he does seem a bit tongue-in-cheek with his humor so who knows what he was really thinking? He had to change the name anyway because (Can you believe it?) there was already a programming language called ‘Pearl’.
So let’s find out a little about the Perl of laughter. As Larry Wall wrote the first version of Perl, he also wrote the first Perl poem…normal programmer? There has subsequently been a Perl Haiku competition. Here was the winner:
sub summer { my $sum;
$sum += $_ for @_;
$sum } print summer (split);
Ronald J Kimball
n.b: summer.pl is a sum-er and a season.
Programmers are normal. Now you must have heard of ‘TMTOWTDI’. "There's more than one way to do it". This is Perl’s main slogan. If you see life in this way, things are always going to look brighter when a problem seems hard to solve. Most major constructs in Perl have two or three exact equivalents, and there are heaps of shortcuts. This can be confusing to novices, but if you can get your head around this new perspective, having "more than one way to do it" should be fun.
Some people call Perl a ‘Swiss Army Chain-saw’ because they think it has too many different powerful tools, which makes it hard to use all of them on one ‘knife’. Charles Cazabon sees it differently. ‘Perl isn't really a Swiss Army knife. That's more like C. Perl is a large, metallic toolbox containing: a complete set of box-end wrenches in metric and imperial, except 10mm and 3/8"; a selection of five machinists' hammers; one regular construction hammer; ten- and twelve-pound sledgehammers; complete set of Robertson screwdrivers; and an infinite length of duct tape."
Perl advertises itself as a language that ‘promotes laziness, impatience and hubris." Why would you ever say such a thing believing that there was a positive implication? Well, lazy programmers do not like to write the same code more than once. A lazy programmer is much more likely to write code that can be reused as many times as possible. Impatient programmers do not like to do things that they know the computer could do for them, so they write programs to do stuff they don’t want to do themselves. Hubris, or a kind of narcissism, means that programmers don’t want to write bad code-they want to show it off too much! So, these three seemingly negative traits can actually create a great outcome. Programmers see things normally, don’t they?
‘Keepers of the Pumpkin’, I know you want to know what this is all about. It has something to do with one of the Perl developers telling a story from an old job where instead of some high-tech exclusion software, they used a low-tech method to prevent multiple simultaneous backups: a stuffed pumpkin. No one was allowed to make backups unless they had the "backup pumpkin". So now, even today the name has stuck and down at the Perl offices you will often here people say, ‘Who has the patch pumpkin?’ Hmmmm…
Alright you get the idea. Perl brings wisdom and humour to your ears. If you do want to find out what "manipulexity", "whipuptitude”, and camels have do with Perl, it’s up to you to search out the vital information yourself.(Do you know that if you put the words ‘camels’ and ‘have’ next to each other, it reads ‘camelshave’?) Just remember, Perl was the first widely-used language to do dynamic sites on the World Wide Web, and if you are going to need support from a web-hosting company for your site, it will probably be the first language that they support.