Should I learn Lisp as my first programming language? I have no prior experience but have heard great things about it from programming friends.

  • Hi Hello, you didn't give us a lot to go on here: while a broad question like this might make a great discussion topic on a forum, for the style of Q&A we do here, we really can't tell you whether Lisp is going to be a good language for you to learn because we don't know you. – user8 Jan 2 '12 at 20:28
  • MIT traditionally taught Scheme, a dialect of Lisp, in their introductory computer science courses. The textbook, Structure and Interpretation of Computer Programs is something of a classic and the course lectures are available as part of MIT's OpenCourseWare. I think this would be a fine place to start learning about computer science. – Suboptimus Jan 2 '12 at 20:43

Lisps are great and I'd encourage anyone to try.

Depending on your mindset and aptitudes, it could be a good first programming language.

However be aware that many of the advanced features in Lisps require years of programming experience to master / appreciate. It's a bit unfair to expect a beginner to get their head around the subtleties of macro-based metaprogramming for example.

One quick and easy way to experiment with a modern Lisp online is Try Clojure. If you manage to get through the tutorial successfully and enjoy it then Lisp could be for you.....


In my eyes it is not so important what language you learn first, if you make sure you learn one functional, one object oriented, and maybe a procedural and a logical language. You say that you have friends who are good at lisp. So if i were you i would (beside the fact that there are really cool language features) learn lisp. While learning these languages (look at other/similiar languages) closely look at the concepts and not too close on the concrete syntax. This will give you the ability to learn the next language much faster.

+1 For giving me the idea of learning and reading little about lisp :) !

  • "if you make sure you learn one functional, one object oriented, and maybe a procedural": In Common Lisp offers a balance of all these three styles. – Giorgio Apr 8 '13 at 9:34

I don't see why not, if you don't have any exposure to traditionally imperative languages such as Java, C#, or C++ :) When you hear people saying that Lisp, ML or whatever is "too difficult", this usually means they learned C++ or similar first. What they really mean is "this language is unlike what I have already learned, therefore it's too weird".

But if you approach it from a clean slate, I think it's going to be ok.

Not the answer you're looking for? Browse other questions tagged or ask your own question.