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

Reply via email to