In June I bought Paul Graham's ANSI Common LISP, and Peter Seibel's Practical Common Lisp, getting really interested in Common Lisp. They are great books. I spent a lot of my spare time in June and July studying and writing Common Lisp.
I'd found out about Common Lisp from reading Paul Graham's essays, like how it says on wikipedia. In checking it out some I decided that I could really like it and decided to seriously take up the subject and so bought the books.
The thing about Common Lisp is that I found that I just really liked it. It was also very different. The mystery of the language really lured me. I thought maybe there's something that I could really use here and really like. In the past I had gotten a taste of different approaches in programming by learning Python, and it was sweet.
Lisp gave me the idea that you could be much more productive as a programmer by how you wrote code. And you could write great small or large systems by how you wrote them. And you need a programming language that allows you to write code in a way that is really good and productive. By productive I mean things like a lot of capability or functionality written in a short amount of time and the code is short, expressive, smart and artistic. And at the same time, as a programmer, having great flexibility with what you can write.
In studying Common Lisp I was being exposed to the larger subject of functional programming and other functional programming languages. One of these functional programming languages was Haskell. I kept seeing and reading Haskell blog posts and webpages linked to on programming.reddit.com, probably Don Stewart's fault. Part of it is that I read a number of times that Haskell was a purely, lazy functional programming language. I'd figured out what a functional programming language was from Common Lisp. But what is a purely functional programming language? And what the heck is lazy? I just had to find out really what this means in terms of programming.
I've studied Haskell all August, and it is a lot harder for me to learn than Common Lisp, but is also really rewarding. It is really different and interesting. I want to know two or three programming languages really well, at least one of them to be a high-level programming language. I think this might be Haskell.
Haskell is also exposing me to a lot of other new things. A lot of things I didn't know anything about, but am slowly learning more about such as Lambda calculus, Logic, Type Theory and Category Theory.
This month I rediscoverd IRC. I've known about IRC for years but haven't really used it. In the past couple weeks I've been on IRC, channel #haskell. My nick is mudge (my name is also nick mudge). It has been great. I've gotten a lot of help and learned new things. I got to talk to new people that I now admire and know about. I got to talk to Peter Seibel who wrote Practical Common Lisp, and Slava Akhmechet, whose articles on defmacro I've really enjoyed.