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!")