January 2011 Archives

Although I've done a lot of coding in my life, it has never really been the focus of my work. I sort of pick it up when I need it, gain an appreciation for whatever language I need to get the job done, and then set it aside. As a result, I have been proficient in a huge array of languages, everything from C++ to VHDL to Fortran 77 to PIC assembly. The only programming language I'd say I'm really good at right now is Perl. For whatever reason, I keep coming back to perl because it's so easy for me to code something up fast with it. I learned it in 1998 back at Imaginet, and somehow I keep finding little code projects that could use it, and so I stay current in it. I'm probably better in perl now than I ever was in any other language.

But perl is dying. Also, its applicability is hugely limited. While it can be shoehorned into roles where something like Java or C# might be more appropriate, it is unquestionably an ugly hack to do so and the performance is always embarrassing.

I feel compelled to modernize my coding toolkit so that I won't turn into an old coding curmudgeon like certain Lisp hackers I know (ahem). However, the reason I've stuck with perl for so long is because it is actually quite effective for doing most of the stuff I casually code for. Python seems to be the rising star of seat-of-your-pants text-handling languages, but do I want to invest the time and effort just to replace perl with a very similar and only marginally improved language that suffers from the same limitations? In case you were wondering, I will not be considering php, as I find it to be a thoroughly offensive language from a computer science perspective. It is the vulgar cockney of computer languages.

So why not upgrade to something fancy—an object-oriented language with good GUI support, good compilers and decent performance? The learning curve has always kept me away, since I mostly code for short hacks that crop up at the last second and I just want to be done with as soon as possible.

I guess what I need is a project that will require me to graduate to a modern computer language to the point where I can stick with it, and end up using it to code the little hacks that crop up from time to time. Otherwise I'll just keep cranking out perl scripts to do things that they shouldn't be used for, feel bad about it, and cry myself to sleep in the corner.


Oh gentle readers, what do you code in for casual home coding projects? Any advice?


ps:

(defun fib (n)(if (<= n 1)1(+ (fib (- n 1))(fib (- n 2)))))

I'm going to be out in Quantico for a couple days next week, anyone in the area who wants to say hi fire me an email.

I am not in Russia, have not been to Domodedovo in some time, am alive and well, etc.

This is the best sign language performance of Cee Lo's "Fuck You" that you will watch all day, I guarantee it.

And now you know how to say "fuck" and "shit" in sign language, something that I always thought was lacking from my meager sign language vocabulary.