‣ 2008-01-02


Cinnamon Surge

I encountered a few different types of languages in University (e.g. Perl, C++, Prolog, Standard ML). I thought myself innoculated against single-language thinking, but apparently not. My name is Mike Moran, and I am a recovering Javaholic.

I've been following Tim Brays WideFinder series and it forced me to consider, once again, whether I should lift my fat ass off the comfy Java couch. I looked at Ocaml, and recognised it's syntax as not too far from Standard ML.

I like ML, partly because it gave me a confidence boost in University. In 1st year, we mostly used C. I did not get it. Pointers, dereferencing, etc, it left me gibbering (note to future employers, I get it now). I thought, "maybe you're not cut-out for programming, Mike". After scraping through, along came 2nd year and Standard ML. You entered the definition at the prompt, and it told you the type. Interactive, safe. No pointers (they kept quiet about the imperative bits). Functional programming all made sense.

I digress. The point is, I have happy memories of ML. Yet, when faced with Ocaml, I still found myself thinking: "Oh, now, Ocaml must have a good graphics library, if I want to do anything" (at the time I was working on Boids). I found one, and it was so basic and so pants compared to Java 2D. Java 2D isn't even the best, but still, there I go, I've just written-off a language because it's not got a nice familiar graphics library.

So, time to apply the Nicorette patch: Scala. It's got the cosy interactive prompt and the inferred types. Yet, all of Java is still available. Joy.