In yesterday’s post about AmphetaDesk’s customizability, I closed with a glib jab at Perl. This (I think) offended some, and I should explain.
AmphetaDesk is well-written, and for all I know is a milestone in Perl coding. Others have thought so. I have read some of the code, and I have to say, it is very well documented, the comments even including jokes to keep the reader entertained. It is clear that the author knows what he is doing.
But for me, Perl remains an opaque language. To take one example, this appears early on in AmphetaDesk.pm:
# turn on autoflushing for AmphetaDesk.log
select(LOG); $|++; select(STDOUT);
This just turns me off, and more to my original point, is difficult for me to read and understand (although AmphetaDesk is way ahead of the pack by providing a helpful comment). I’ve used Perl before, and what it does well it does very well. I don’t mind diving into it to get something done. For example, I added some features to Webtrax. I may yet be tempted to try to hack AmphetaDesk. But there will be more friction for me with Perl than with another interpreted language (though clearly much less than a compiled language). That’s all I meant.