Halting Problem

Late Bound

Part of Roland Sadowski's website

March 26th, 2008

26: Good Age To Start Using Lisp

I’m 26 now. Spent my birthday writing my thesis. Nobody forced me, I just want to be done with it.

Haven’t worked much on my game. But since I started working on it, I pay more attention to what is happening in the java world. That’s how I found out about Clojure - a lisp dialect for the JVM. It was created to address many of the concurrency annoyances that occur when you write code in java (or any other language which doesn’t really promote immutability). I always wanted to learn lisp, but my understanding of the situation is that there’s lot of lisp implementations and all of them work well within their own world; interop with other languages is clunky. Clojure has all java libraries at its command, so I decided to take a look.

The only sensible programming environment for Clojure at the moment is Emacs. I’m getting more and more proficient with Vim, so learning yet another editor didn’t seam like a good idea. But I did it anyway and I’m glad that I did. The combination of Emacs + REPL completely blew my mind. I’ve used Python REPL (and the excellent ipython), but somehow Emacs + Lisp REPL is different. Hard to explain it.

I also decided to take a brief look at Scheme to familiarize myself with the syntax and basic idioms of the language. Another thing: reading SICP is on my todo list for this summer and authors use scheme there. Going through a couple of exercises in How To Design Programs resulted in one or two "Aha!" moments.

I uploaded an implementation of A* path finding algorithm in JavaScript, that I wrote a year ago or so. It took me so much time to put it here, because I couldn’t get it to work on IE properly. It still doesn’t work on IE but I don’t care - it’s just not worth my time. Anyway, since writing the code I learned that the way I render the board is really inefficient on current browsers (especially IE) - all those divs shouldn’t be created dynamically.

§