There are more qualified people than me on these boards, but I can offer my own personal experience, which is to say, as a first language I would still recommend going the C/Java/Basic/Assembly route first before going with a Lisp.
Because simply, I couldn't appreciate functional programming until I did a fair bit of imperative programming first. And because imperative programming is closer to the raw machine, I find that reasoning about functional programming requires, in a lot of instances, to think about the equivalent code in an imperative language. For example, why is Laziness a good idea? What are the inherent limitations of Class-based object-oriented programming? Why is single inheritance limiting? How can multiple-inheritance come back to haunt you? What is "hanging" onto your head? Why does this really elegant functional code run so slowly? Why is "eval" a bad idea? So I think avoiding an imperative language means that there's too much fundamental understanding about the machine that you would skip over. Not to mention, that most libraries will be using an imperative language, so you'll be having to learn it eventually in order to read the libraries even if you don't plan on writing any imperative code yourself. These points are especially important with Clojure, which is designed to interoperate closely with its underlying Java. Many people on these forums have already expressed the opinion that it's too impossible to understand Clojure completely without knowing Java. Just my 2 cents -Patrick PS: If you decide to go ahead anyway and learn Clojure, and find it an easy and enjoyable trip. I would be glad to hear about your experiences. I am preparing to teach an introduction course in programming and I'm still debating what language to use as an intro. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en