Programming + Design

PERL Creator sounds off on scripting languages (and skewers them) PDF Print E-mail
Written by Brett Brewer   
Thursday, 27 December 2007
I ran across this fantastic article by Larry Wall, the creator of PERL (the coolest scripting language you'll never bother to learn) called "Programming is Hard, Let's go Scripting... " It's a great perspective on the history of scripting languages as seen by Wall, and in it he skewers many modern languages and is somewhat harsh toward my (and most other people's) favorite scripting language, PHP.  I'm actually surprised I still liked the article. If Larry wasn't obviously a genius I probably wouldn't have liked it much, but he definitely makes some great points and has a great writing style to boot. If I'd have read his writing sooner I might have bothered to learn his language, but alas, I have too much actual work to do. In fact, despite mocking PHP a bit, Wall sort of defines the reason I chose PHP as my primary tool several years ago when he describes his early experience coding in BASIC:
    "I had a college buddy I did pair programming with. We took a compiler writing class together and studied all that fancy stuff from the dragon book. Then of course the professor announced we would be implementing our own language, called PL/0. After thinking about it a while, we announced that we were going to do our project in BASIC. The professor looked at us like were insane. Nobody else in the class was using BASIC. And you know what? Nobody else in the class finished their compiler either. We not only finished but added I/O extensions, and called it PL 0.5. That's rapid prototyping."

They taught that language to college kids? Jeez. I wonder if Larry was coding BASIC on a TRS-80 like me and my 12-year old friends were back in 1982...I think it was '82 anyway. No, Larry, programming really isn't that hard, it just takes too damned long and many of us would like to go snowboarding again before global warming makes that impossible, not waste our time learning PERL so we can brag about our geek-cred. Writing programming languages is and should be hard, but actually writing computer programs, the act of instructing the computer what to do using the lexical magic created by people like Larry Wall shouldn't be hard. That's why we have PHP -- to get shit done -- not to satisfy the lexical fantasies of computer science geeks. If it weren't for PHP, half of the most popular web sites on the net wouldn't even exist because nobody could afford to develop them quickly enough to satisfy their investors. It wasn't until I found PHP that I had any idea of what rapid prototyping REALLY meant. With PHP, half the time you can put your rapid prototyping code directly into production. You can live in your ivory tower and talk about PHP's lack of namespaces until you're blue in the face, but the bottom line is, we, the unwashed web programming masses haven't yet needed namspaces to build web sites that can serve up content to millions upon millions of satisfied users and can scale easily using cost effective commoditized technologies (AKA: LAMP).

But I digress, the point of this post wasn't to defend PHP, it was to tell you about this great article. Beyond some humorous trash-talking about PHP and most other languages including PERL 5, Wall makes some really good points regarding the nature of language. For instance, he talks about the fact that all human languages are "Turing Complete" or Universal, and how their syntax defines certain aspects about them, but doesn't really limit what they can communicate:

"Human languages therefore differ not so much in what you can say but in what you must say. In English, you are forced to differentiate singular from plural. In Japanese, you don't have to distinguish singular from plural, but you do have to pick a specific level of politeness, taking into account not only your degree of respect for the person you're talking to, but also your degree of respect for the person or thing you're talking about."

So basically what he's saying is that you can say and do the same things in ANY language. The syntax of a language simply determines the overhead that goes along with whatever you're trying to communicate.  There's a bunch of other good stuff in his article , so you should probably be off reading that now instead of this.

Last Updated ( Thursday, 27 December 2007 )
< Prev   Next >


Who's Online

© 2017
Joomla! is Free Software released under the GNU/GPL License.