4

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
2

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.....

4

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
3

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.