January 06, 2007

Restful geeking

By the end of the day yesterday, I was feeling pretty strung out; all that sleep deprivation was catching up, and I had no pressing commitments to keep me going. When I sat falling asleep in front of my laptop, I decided to head on up to bed. That was around 8:00.

I got up around 2:30 this afternoon (after being woken by my alarm at 8 and shutting it off again) and decided to commit the day to learning Python. I've been meaning to for a long time, and another Knox person had requested that I (or somebody) write a program for him—it seemed like the perfect excuse. As I sat down, though, it dawned on me that this is really the first new language I've learned since I learned C++ in 1997 and Java, Scheme, and ML in 1998. (Unless you count SQL, but I'm not sure I really "know" that one.) Those early years of grad school were busy ones! For all my preaching about how "good for you" it is to be multilingual and always be learning new languages, I haven't exactly practiced it very well.

Anyway, so now I'm learning Python. I'll let you know how it goes. I may eventually get used to the whitespace thing; that's just syntax, after all, and some of the semantic details of the language I'm finding quite nifty.

This is also as good a time as any to report that my laptop, faithful companion for more than five years, is about to be retired. In the last couple of days, it has developed a screen issue whereby sometimes, randomly, the display will start flickering from the bottom—sometimes just once or twice, sometimes making the whole thing unreadable. Sometimes leaving it be made the problem go away; sometimes even pressure to the wrist rests worked better. This, together with the recently-broken power brick and the overall age of the system—and most importantly, my intent to get a new iMac anyway—has just accelerated my plans to get a new computer, and retire this one. As of my December paycheck, I'm now in surplus funds again, and even with banking for a rebuild of my back porch steps (which are falling apart), I'll be able to afford a modest computer by the time my next credit card statement arrives. (Actually, without banking for the porch, I'd be able to afford the computer now.) So at this point I'm just going to wait a week for the MacWorld Expo announcements and concomitant price drop, and then I'll be placing an order.

"I exist simultaneously in every internet conversation across all spacetime. I've been participating for years in debates that haven't even started yet." --Jonathan Prykop

Posted by blahedo at 8:00pm on 6 Jan 2007
Not to be a language weenie, but let me recommend Ruby over Python. It has its advantages and disadvantages, like any language, but as a connoisseur of programming language there is one primary thing I expect you to prefer in Ruby over Python: closures. Python supports closures, but only on a single line. Ruby has arbitrary block closures. I think you will also find similarly appealing semantic details, but since I don't know what, specifically, you are calling nifty, I'm not entirely sure. Posted by Greg at 11:57am on 8 Jan 2007
Well, I am a language weenie. I've looked at over 100 in the last 20 years. I think I've covered all the different areas including OO (Eiffel, Java, Python), Lisps (Common Lisp, Scheme) and functional (Scheme, OCaml and Haskell). I recommend learning Haskell. It is different from, and in my opinion, superior to anything else out there now. It has a mathematical elegance to it no other language can match. Posted by James at 3:10am on 25 Feb 2007
Post a comment

Is the year AD1919 in the future or the past?

Remember personal info?

Valid XHTML 1.0!