Wherein the Author Promises to Blog More Often
Mar 25, 01:29 PM
I know I’ve said it a million times before, but I’m going to try and do better with the blog. All of my cool friends have lively blogs and I really should have one too. I mean, lets admit it: I am that interesting. ;)
Like everyone else in the Western MA Developer’s Group, I have been playing with Clojure. Rich Hickey did an extremely interesting presentation on Clojure for the group and it made a strong impression on all of us.
I do a lot of web application development and I found a couple things really interesting. The way Clojure has been designed to minimize mutability and the idea of managing memory in a transactional way make the development of applications with a lot of concurrency really easy. Rich showed us a short demonstration program that simulated some ants running around for food and it was very exciting to see. Every ant was doing it’s own thing, there wasn’t any code for managing locks and it was all very concise.
Which is the other thing I found really exciting: the brevity. I’ve been coding Java for many moons and it’s true, I admit it: Java code is wordy. So is a lot of C and C++, certainly Objective C is also right up there. But still, it was very exciting to see something interesting happening with such little code. It wasn’t particularly difficult to understand, Rich walked us through it pretty much line by line and I was surprised to see it mostly making sense to me.
Clojure is a Lisp and the last time I looked at a Lisp I ended up with a headache. It was the sort of headache that makes you feel slow and stupid. Lisp has always looked weird to me and I’ve taken a stab at it a couple of times but I think I just wasn’t interested enough. After Rich’s talk, I can actually see problems that Clojure can actually help me solve. I’m going back over some books and example programs and I have to say it’s really exciting. Coming from languages like Java and C, it all seems so much different, so novel.
I’ll try an post an article a week, I’ll also try to keep them all from being about Lisp and Clojure. :P