Monday, November 17, 2008

Something Old, Something New

Something new: This blog. Why am I blogging? Well, because people told me to. Steve Yegge said I should in an blog post of his own; Jeff Atwood said there's nothing to be afraid of; and Ted Johnson told me to at work yesterday (and the day before that (and the day before that))...I think because he wanted something to read. I've always had a great admiration for good writing, probably instilled in me by my father, the English Ph.D., but you might notice that I haven't quite learned to wield commas with facility. Well, no time to work on it like the present.

Something old: the enjoyment I get from programming. Computer Science and I met through a mutual acquaintance: math. Computers had always been a presence in my house growing up, but my high school math teacher was the one who said I might like programming, and he was right. The trouble is, I've only managed to align my work with programming some of the time since then. At the moment, I'm floating up a few layers from the coding as a Project Architect, which doesn't call for much (if any) programming.

Something new: well, new to me at least. I recently stumbled across Project Euler, a programming problems site with a math bent. It sounded right up my alley, and so far, so good. At first it felt really nice just to shake of some rust by coding, but then I noticed that I was flexing mathematical muscles I'd forgot I even had. It's strange to look at a problem and suddenly have a theorem pop into my head that I hadn't thought about in years, but it's kind of like catching up with an old friend. And when those old friends are too shy to show their faces, I always have a modest library to fall back on. My fiancée lovingly makes fun of me for the textbooks I still have from college, saying, "What are you even going need a book on the Elementary Introduction to Number Theory?" Maybe it's begging the question to respond, "I need it to answer contrived problems I don't really need to be working on", but...

Something old: Lisp. 50 years old, give or take. I've been fascinated both by Lisp and the controversy that seems to accompany it on-and-off since first learning it in a class with Dave Musicant, but my interest was really piqued while reading GEB last winter. It supports ranging the gamut from fervent zealots like Paul Graham to Pascal Costanza to quieter supporters like Peter Norvig, and I agree with a lot of what they say, but the appeal of the language always strikes me the most when I see a one-line function in Lisp and think to myself, "that would have been ten times as long in Java." So I've been using Project Euler as my canvas for dabbling in it, making the answers to the problems are just a side effect of what I'm doing (pun completely intended, and made even worse by the parentheses in this post).

In the grand scheme of things, I'm relatively new to the computer programming scene, but it seems like there are some old things like Lisp that might have been overlooked. Well, not entirely, but if you're interested in The Road to Lisp too, drop a comment.