A humbling programming experience

I’m working a short script to post-process some simulation data from TransmissionLab, and because the scripting language I know best is Perl 5, I’ve written a short Perl program. I’ve been writing Perl since early 1994, and from about 1997 through 2005 I was fairly expert in the language, able to build and maintain fairly large, object-oriented systems that were actually readable by others. I even knew a fair bit about Perl internals, could link a C library to Perl via XS, and followed the (interminable) Perl 6 development process quite closely.

But I realized today that I’ve completely lost my fluency in the language. I’m struggling to re-activate the parts of my brain that understand deeply nested hash tables, objects, and other Perl-isms. I had to look at the perl man pages today to remember bits about foreach loops and the “defined” function. It’s coming back, and the program works, but it’s been slow. I guess that’s what you get for not using a language in several years.

Java is a terrific language for object-oriented development (as is C#, if I were working primarily in Windows), but it does insulate you from a lot of fairly-low level issues, in favor of giving you higher level expression. This little program I’m writing basically just looks for and reduces rows of data from experimental replicates and outputs the reduced data set with error terms. Simple descriptive statistics, plus a bit of data structure work. But without the Collections library and some of the Jakarta Commons stuff, I really had to think about how to do this.

Guess it points out how you need to keep using skills in order to keep them sharp.