I have had the desire to be a programmer of computers since I was in high school, but I’ve always been stumped by this question: Which programming language should I learn? I tried learning MS Visual Basic back in high school. I didn’t get very far because I didn’t have a very good idea about what programming was and I knew no one who was a programmer.
In high school I did teach myself HTML. In college I expanded my HTML skills to XHTML and CSS through the help of Zeldman’s A List Apart. I also had a friend who was into web stuff so we could learn from each other. It was great. We even started a web design company our senior year of college. We learned a lot in the next two years, but didn’t make much money. However, HTML is a “Markup Language” and not really a programming language; there’s not much “if - then” logic involved in HTML and CSS, just display of text and graphics.
In 2004 I was really getting into Linux and open source software. I was also reading about technology startups because I was interested in owning my own company (I did co-own the web design company at that time, but I knew that web design wasn’t going to be a long term career for me). I started reading essays by Paul Graham and then I bought his book, Hackers and Painters. The ideas were inspiring and he kept talking about this programming language called LISP that I had never heard of before. Well, I didn’t learn LISP then. It’s been nearly three years and a lot of good things have happened in my life, but I want to get back on the track of learning to program and I’m picking up where I left off, with LISP.
Scheme, the language used in the MIT course I’m taking, is one of the two main dialects of LISP. I’m dedicated to learning how to program and I’m going to use Structure and Interpretation of Computer Programs and Scheme to get there. I’ll probably end up doing most of my day to day programming in a language called Ruby, which I am also learning, but I’m enjoying the challenges that learning LISP is giving me. A great advantage is that there are videos of the MIT course lectures! I’ve got a great textbook, instructional videos, and a programming language all free from MIT!
If you are looking for a good essay about programming languages and thier differences, read Beating the Averages by Paul Graham.

