| Back in 1986, a UNIX programmer by the name of Larry Wall found himself working on a task that involved generating reports from a great many text files, with cross-references. Because he was a UNIX programmer, and because the problem involved manipulating the contents of text files, he started to use awk for the task. But it soon became clear that awk wasn't up to the job, and with no other obvious candidate for the job, he'd just have to write some code.
Now, here's the interesting bit: Larry could have written a utility to manage the particular job at hand and gotten on with his life. He could see, though, that it wouldn't be long before he'd have to write another special utility to handle something else that the standard tools couldn't quite hack. (He may have realized that most programmers are always writing special utilities to handle things that the standard tools can't quite hack.)
So rather than waste any more of his time, he invented a new language and wrote an interpreter for it. That statement may seem to be a paradox, but it isn't. Setting yourself up with the right tools is always an effort, but if you do it right, the effort pays off.
The new language emphasized system management and text handling. After a few revisions, it could handle regular expressions, signals, and network sockets, too. The language became known as Perl and quickly became popular with frustrated, lazy UNIX programmers-and with the rest of us. |