Saturday, January 9, 2010

Clojure, Cliché and Nerdiness

More than a year ago, I posted about my dabbling in Scala, and wanting to check out Haskell and Clojure.

Contrary to my expectations, I ended up being attracted to Clojure the most. I do read up a lot about it. Beside the excellent Programming Clojure, I read the Clojure Google group and various blogs. I bought the screencast Functional Programming with Clojure, watched the various screencasts by Rich Hickey and listened several times to the NYC Lisp 2007 presentation. For those interested, here is where to start with Clojure.

My problem though, as always when I try to learn a language, is too much reading and not enough coding!

In what seems to have become a cliché, I'm now watching the famous SICP lectures and going through part of the book. I'm hoping I will do some of the exercices 8) I'm using PLT Scheme with the SICP support.

Anyway, watching the lectures, I was suddenly hit by something: "I'm such a nerd to be enjoying this so much!"

I'm a professional programmer, but I'm beginning to think I'm really a hobbyist programmer at heart. I learned to program reading a introductory column in a newspaper using pen and paper. Later my parents got me a Commodore 64 and I was hooked. I predictably graduated in computer science. I had a course given with the first edition of the SICP book. Unfortunately back then, I really did not appreciate it or Lisp.

So here I am, 15 years down the road, and I'm revisiting my computer roots to see what I missed the first time around.

3 comments:

Furedd0 said...

Thanks for the link to the videos. It looks interesting.

We would need some extra lives to learn and experiment all those new (and old) languages.

loadcode said...

Just came across your blog due to common interest in Clojure, Nu and Scheme. I was curious about your comment about not appreciating LISP first time when you learned it. This is a question that really concerns me. Is it only possible to appreciate LISP once you have done programming for a number of years, or can one appreciate the beauty of LISP even if it is the first language?

I wouldn't know because I started with C, Assembly and Basic. Did C++ for very many years and only discovered LISP very late but found it totally awesome in an almost childish way.

It seems like I encounter lots of people who learned LISP at Uni but it didn't make a big impression on them. Usually it seems to make a big impression on people like my who have been slaving away for years in C++ and its like ;-)

Any ideas why that is?

The Careful Programmer said...

Hello loadcode,

I'm so late replying it's shameful, but here it is.

I had already been programming for a few years when I encountered Lisp at school and I still had a knee jerk reaction to it.

It seems that non-technical people learning Lisp as a first language have a better reaction to it than people following a computer science curriculum. I think a lot of it might be simple prejudice. It is often considered as an impractical languages for "modern tasks" like web applications. I've heard the classical (and wrong!) remark: "It's only useful to do artificial intelligence."

I think mature dynamic languages like Lisp and Smalltalk are due for a comeback. I would not bet on mainstream use like Java and C#, but I do think there will be more start-ups and hobbyists using them.