Hi,

As an occasional Clojure user, and someone who's used Common Lisp a
lot, I'd venture that Clojure is a good first choice. But let me
metion areas of difficulty first. Geoffrey Teale discussed the big
things, so let me mention some little ones:

- Java's classpath currently demands that you respect its
inflexibility. If you have a problem with a library which seems to
work for everyone else, the classpath is a big thing to check.

(Clojure's add-classpath should increase its flexibility. But people
aren't supposed to depend on it; and I noticed it interacts weirdly
with Java's database manager, JDBC. Last week, JDBC promised it knew
of my MySQL lib which I loaded using add-classpath; but when it came
time to actually pull data, it complained that it didn't have the
library loaded.)

- Also, Java prioritizes security over usability. Which I also
recently ran into:
<http://my.opera.com/karmazilla/blog/how-to-grab-the-certificate-from-
a-website-and-import-it-with-java-keytool>

That said, I would've been best served by learning Clojure or Common
Lisp first. (Or flexible ancestors like Lisp Machine lisp. Not Scheme
though.) Due to whatever quirks in my personality. For me, Clojure can
be engrossing like a good video game; I'm not always happy (maybe I'm
coasting along and then the big boss kills me a few times, and I have
to figure out how to defeat or bypass it), but it's at least not
unnecessarily boring.

In addition to the all-important video game metric, you get to interop
with the normal world through Java/.net/etc, and I'm sure you'll meet
with the approval of at least some theoreticians. Clojure may also
help you evaluate other languages better.

There's some advantages Common Lisp holds over Clojure (and vice-
versa), but the ones most important to me are dwindling. For instance,
CL's multimethods have really nice features. I use them regularly for
web programming. However, Mikel Evins is releasing an interesting
Clojure library for this called Categories. (Not that I know much
about it.)
http://mikelevins.livejournal.com/


Hope this helps,
Tayssir


On Dec 1, 6:38 am, Towle <towle.m...@gmail.com> wrote:
> Hi all,
>
> Thanks for taking the time to read my post. I'm interested to get some
> opinions from experienced Clojure programmers on whether the language
> would be a good first language to learn, or rather to learn in-depth.
> I have minimal experienced with more common languages like Java, HTML,
> and C++, but having the personality I do, felt compelled to shop
> around a bit before choosing a first language to learn seriously on a
> deep and intuitive level-- perhaps my odd notion of there being a
> connection between a programmer and the first language s/he
> understands on that high of a level. So after shopping around
> thoroughly and picking up bits about on theoretical computer science
> and the history of programming languages, I decided to pick up a Lisp;
> I'm intrigued by the greater concept/idea behind the Lisp family of
> languages.
>
> After a long while trying to figure out which of the Lisps would be a
> good first choice, I stumbled across Clojure and immediately thought
> it a brilliant idea, conceding of course that at my current level of
> knowledge, I likely have no idea what a brilliant idea in computer
> programming looks like. Regardless, it still feels brilliant.
>
> As I see it, among other features of the language, the idea of a Lisp
> designed to be a capable choice for "real-world" code applications,
> that is a Lisp which embodies the spirit of that family of languages
> yet one which resolves many of the "practicality" complaints which
> stand as hurdles on a Lisp's path to real-world use. For my situation,
> that of a student who wants both a) to learn a first language I can
> have a real, intellectual appreciation for and b) to begin the journey
> to "expertise" in a language it would be practical to code web
> applications in.
>
> So, Clojure programmers, am I wrong? Should I pass on Clojure in favor
> of another langauge? Or learn Common Lisp or Scheme first, then try my
> hand at Clojure? Am I mistaken for a different reason? Or perhaps
> there are some criteria I should consider before diving in?
>
> Thanks in advance, and again for taking the time to read.
> --Towle

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