Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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

share|improve this question

closed as not constructive by Oded, Mason Wheeler, Mark Trapp Jan 2 '12 at 20:27

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
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
add comment

3 Answers 3

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 :) !

share|improve this answer
    
"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
add comment

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.

share|improve this answer
add comment

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

share|improve this answer
add comment

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