Lee's comments ring true for me so let me extend them.

Before I discovered Clojure, my experience as a programmer had been mainly in the area of artificial-intelligence experimental programming. I was once a reasonably proficient Lisp programmer, but pre-CL and pre-CLOS, that is, mainly using Xerox PARC's Interlisp.

Fast prototyping is central to such experimental programming, and Lisp REPL's and IDE's have contributed as much to Lisp's pre-eminent usability for experimental programming as has the language itself.

So, when starting to use Clojure, my major frustrations were wrt Java interop and (to quote Lee) "... setup, editing environments, build tools and configurations, dependencies, classpaths, etc."

What I found of most use to begin with was Clojure Box (see http://clojure.bighugh.com), " an all-in-one installer for Clojure <http://clojure.org> on Windows. It's inspired by the Lispbox <http://gigamonkeys.com/book/lispbox>: you simply install and run this one thing, and you get a REPL <http://clojure.org/dynamic> and all the syntax highlighting and editing goodies from clojure-mode and Slime, plus all the power of Emacs under the hood." Unfortunately, it has not been upgraded to Clojure 1.3.0 and is no longer being maintained -- and, anyway, I wanted to work on a Mac.

And something almost as good as Clojure Box is now available for Macs (as well as for Windows and Linux systems). See

https://github.com/technomancy/swank-clojure/blob/master/README.md

If you are not into the intricacies of Emacs multi-key chording, using Aquamacs helps a bit. (Despite the statement in the README that "Swank-clojure and SLIME are only tested with GNU Emacs; forks such as Aquamacs ... are not officially supported", use of the Aquamacs Emacs fork does work.)

I agree with Lee that, if you don't know Emacs (or don't want to be learning it at the same time you are learning Clojure), the clooj IDE should be useful as a starter -- maybe eventually something more as features like SLIME's debugging aids are added to it.

There are several excellent books useful as Clojure learning aids. (I particularly recommend Halloway and Bedra, "Programming Clojure"; Fogus and Hauser, "The Joy of Clojure"; and Emerick, Carper, and Grand, "Clojure Programming".) Unfortunately, none of them contain a chapter that has yet to be written by somebody: "Everything a Clojure programmer who has never used Java needs to know about it."

I hope this helps.
  --Larry




On 5/7/12 9:34 AM, Lee Spector wrote:

On May 7, 2012, at 12:37 AM, HelmutKian wrote:

Hey there,

I'm a fairly experienced Common Lisp programmer.  By that I mean I've read PAIP, On Lisp, 
Let Over Lambda, and written several "real world" CL applications and taught 
the principles of FP using Racket as a TA.

Now I'm looking to learn Clojure. What would be the best resource for someone 
who is already pretty comfortable with Lisp?
For me, coming to Clojure ore from Common Lisp and Scheme than from Java, the biggest 
hurdles weren't the language itself but rather the issues with setup, editing 
environments, build tools and configurations, dependencies, classpaths, etc. Many of the 
concepts underlying these things were foreign to me, at least in their Java-world guises. 
If any of this rings true to you then I'd recommend starting with the clooj lightweight 
IDE, which makes a lot of these issues go away (for me at least), in conjunction with 
leiningen (invoked from the command line after adding dependencies to your project.clj) 
to manage dependencies. You can get clooj here: https://github.com/arthuredelstein/clooj 
-- I'd download the latest "standalone" jar, double click it to launch the IDE, 
create a project, and begin working there. If you do your Lisping in emacs then there's 
great support for that route in Clojure too, and maybe that's where you want to end up, 
but I (and others) have found setup and configuration to be nontrivial. Doubtless others 
on this list will disagree with that :-), and of course YMMV, but that's my 2cents.

On the language itself I recommend watching Rich Hickey's "Clojure for Lisp Programmers" 
talk (part 1 is here: http://blip.tv/clojure/clojure-for-lisp-programmers-part-1-1319721) for 
starters. After that I personally used Stuart Halloway's "Programming Clojure" text but 
there are now several others that are also good.

  -Lee


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