Sunday, January 04, 2004

Pragmatic Programmer: Language of the Year

OK, I've always thought learning new languages was a good idea, but I really like the Language of the Year from the Pragmatic Programmer (if you haven't read it, go BUY IT NOW! And while you're at it, get Software Craftsmanship too). So, last year, Javascript and LISP were my languages of the year. I know it's not a single language, but I thought one "practical" language and one "academic" language was good. I can hear some scoff at the idea of an "academic" language, but let me explain. I want one language to learn that is good for my career portfolio and helps me in my day to day activities, thus "practical". But, on the other hand, I want a language that is different from the way I think now. LISP fit that bill last year and I must admit that it's changed the way I think about programming forever. I use a lot more blocks now than ever (and I feel sorry for the Java folks who don't have them without a lot of typing...they have them, but they are very painful). Anyway, I wrote this post to announce my language(s) of the year. My "academic" langauge this year is Prolog. It was down to it and Erlang. Both of which hold a lot of appeal to me (I've read all of the Erlang documents and have used a lot of the ideas in my work already and Prolog for the rules). Well, I decided since Erlang is functional to take break and do a rules based approach to programming. My practical language this year is simply Korn shell. I want to get better at Linux and we use a lot of Unix at work. So, there you have it Prolog and Korn shell. I'm using the SWI-Prolog implementation to learn. I've started learning Prolog off and on, but this time I'm sticking to it. I would also like to look at the implementation of it in Squeak and play with the code in Peter Norvig's excellent book on AI (a prolog interpeter in lisp). An exciting year for learning that's for sure. If anyone wants to learn with me, send me an email and I'll tell you the books I got and maybe we can share information.

No comments: