PERL4EVER

Jan 22, 2008 00:57

messy, ugly, hard to learn, they said
2008-01-08 13:47:15 scottwalters1 [Reply]

"All through my career-ish thing, people have been telling me not to learn Perl. Even people who used Perl told me not to use Perl, and especially the Windows people who I kept getting lumped with told me not to. I was a dumb kid. I listened.

I never ran Windows. I had an Atari 8 bit, then a Commodore Amiga, and then built an x86 machine to run NetBSD 0.9 after using Ultrix, AIX 2, and others over telnet from terminal server for years. I programmed on Unix and loved Unix, but I didn't quite have the chops to get those Unix programming jobs, or at least I couldn't convince people I did, so I worked writing ASP. First shop did Java, ASP, but mostly Perl, but I was assigned to an ASP project. I thought it was okay but I missed a lot of the neat stuff LPC and bash had to offer (which was different but complimentary stuff). I did Web programming on my own, for fun, in both.

In order to avoid learning this miserable Perl language, I deployed production Web apps in bash and C. I even wrote a string based assembler language as way of maintaining a C program that got out of control. I used awk and sed and terrible tricks with selecting constant values (HTML) out of the database to format reports. I spread injection vulnerabilities far and wide.

Then one day I got a job at a company who used to make the processors a lot of Unix machines ran. They told me to learn Perl. At that point, I was getting a bit curious. It had turned into a bit of a "don't press the red button" game, it seemed. So I sat down and started reading the Camel.

Holy Camel!

So, now I tell people not to learn Perl. Learn Ruby. Learn Python. Program C#. Whatever. Learn Perl and you'll start cranking out bindings to libraries. You'll build data structures first and then bless them into objects. You'll bless stashes. You'll build structures out of globs. Data will be pipelined all over without intermediate variables. You'll always be wondering if there's a more elegant way to express things and you'll actually develop an interest in reading other people's terse code. Perl is crack. Stay on the weak stuff. Go through life thinking there's one true way to do anything, and anything that can't be expressed in a chosen idiom shouldn't be expressed at all. Believe that the cheezy little utilities you're writing are hard to write, and there are no infinite levels of abstraction that can be built. Go home at the end of the day not feeling there are vast worlds to explore.

But as for myself, next time someone tells me to stay away from a language that's messy, ugly, and hard to learn, I'm ordering the book two day air.

-scott"

perl, programming

Previous post Next post
Up