|
Panacea
Or, The Way To World Peace
Some time ago I was overcome with revulsion. Revulsion for Perl, that is.
Using perl is something like picking at a scab - you know
it's bad for you and it's going to hurt,
but you just can't stop. Sure, you can (usually) get what
you need done, but will you respect yourself in the morning?
Variable names like $| and $[. Syntax from hell. And some
mind-boggling absurdities: in Perl %foo and $foo are
different things, but when you say $foo{bar} you are actually
referring to %foo. Parentheses around expressions are
significant.
There's the whole
quoting mess (string constants don't have to be quoted). Not requiring
parentheses around function arguments is hairy -- what happens with functions
that take a variable number of arguments that are used in expressions? How
do you parse foo(4+5)*8? Yikes!
And I'm not sure I even understand
filehandles (or dirhandles) after about 4 years of Perl.
Hidden variables ($_, @_) suck.
It is just about impossible to write Perl code that manipulates complex data structures.
After five
years of self-abuse, I decided to stop cursing the darkness and lit a
candle. When I was at Arizona I'd been using Icon for string processing and
data structure mangling; then Clint Jeffery had added
X11 (graphics) support to Icon, and it had become
even more fun to play with. If
writing Perl code was like hacking through a jungle in sweltering humidity,
Icon was the walk through a tranquil mountain meadow. The only problem with
Icon was that it didn't have access to the Unix low-level stuff like system
calls, select() etc.
Well, no more. I finally made some time and started to implement
Unicon,
Icon with Unix functions. It
is just the best damn language to write fun Unix programs and scripts with,
even if I say so myself. Since graphics support is integrated, it is more
powerful than Perl and tcl/tk combined. Of course Unicon is free; source and
executables are available.
PS: If you use Perl, or are even thinking about it, read about
Perl's Seven Deadly
Sins and
Perl4
gotchas first. Don't take it up just because of all the hype.

|