I'm Learning Perl from Randal Schwartz!

I've always been kind of spooked by perl. To me it looks undisciplined ... wild and crazy. I mean $this is a number and a string!?!?! And if it's written like @this it is something different altogether?

I think the best way I can describe my approach to programming languages is that I hate memorizing a lot of details. I would rathar learn a few simple rules that allow me to work out the details than have to remember a zillion little syntactic quirks. In high school math class I was the guy that would memorize just two or three equations and derive the others as needed during the test.

So I like Java because the core language seems clean and simple to me. And if I need stuff like io or networking or regular expression parsing, I know I can scrounge around and find a class or package with that functionality. Still I keep thinking, there must be something to Perl. It's used everywhere.

I periodically take classes at Oregon Graduate Institute which is conviently located near my workplace (and my job pays for them which is also pretty damn convienent). So I was looking at the summer schedule about a month ago and saw:

OGI503, Web Development with Perl 5, Schwartz

I thought that name looked really familiar. I've obviously spent way too much time browsing through O'Reilly books at Powell's Technical Bookstore. Sure enough, this is the guy who wrote Learning Perl and has his name on several other Perl titles.

So far I'd have to say that Randal is a very good instructor. He explains the material well (though it is laden with bad puns, but that's not so unusual for any comp sci type endeavor). But I'm not yet a convert.

I just did the first half of the first homework. It was pretty easy, but I kept having to page through the notes to answer my questions about wierd little syntactic oddities. Still, I have to admit that every program was shorter than it would have been in Java. But these programs were playing to Perl's strengths ... which is ok I guess. I've never been one to take a religious stance on programming languages. I've used many (Ada, Basic, C, C++, Java, Pascal, Scheme, Smalltalk, Visual Basic ... and probably some more I'm forgetting) so I know that often there is a "right tool for the job" and if you don't know about it you will end up trying to pound nails with a screwdriver.

So that is all for now. I may write another daylog on this if something interesting happens in class or if I suddenly decide to become a Perl Monk and cast all of my worldly languages aside, subsisting only on strange characters like s/\w<([^>]+)>/\U$1/g for the rest of my natural programming life. (That was some wierd shit I copied from chapter 1 that says, "You are not expected to understand this yet!")