Lisp Clojure Training

I am serious about making Clojure my new hacker language since I like Lisp, but I have some problems with CL and Scheme. I have never worked in a Java environment before, and my Lisp experience is limited to working through "SICP" and "The Little Schemer".

What do i need to know? Are there any good resources on the way "

Also, what do I need to know about Java? I would rather not learn Java just to learn Clojure, but I suppose I need to know at least a little. Also, what is a workflow? My experience is limited to dynamic languages, so I have no idea what I need to do to distribute the application without a source to the JVM.

I understood this clearly, but there is a lot of information and not very "specific" clojure.

I’m probably looking for some reasonable suggestions for literature, which I should read in some logical sequence.

+7
source share
3 answers

You can't go wrong by watching how many Clojure videos are on Blip.tv , as you can handle it, especially with Rich Hickey himself. They really help bring conceptual points and aspects unique to Clojure.

If you are familiar with the concepts of Lisp, you can first focus on learning how Clojure "displays" the lipps you played with. Watch a video from Rich Hickey on "Clojure for Lisp Programmers."

You need to have some familiarity with Java, because Clojure does not shy away from using it. It is not somehow non-Clojurey (as far as I can tell) to use Java where it is smart. I would at least look at the docs APIs for the java.lang and java.io packages because java.lang automatically available in your Clojure program and java.io used frequently.

With my Clojure-to-Lisp dictionary in my head and my Java basics behind me, I would choose a small project to work with . Keep the Clojure and Clojure -contrib API docs on hand (either on the Internet or using the (doc) command from REPL), and browse many, many Clojure blogs there. Two of my favorites: http://nakkaya.com/ and http://stuartsierra.com/ . If you use Diigo, a whole number of blogs have been added to the Clojure group.

NOTE. Do not damage the development environment. There are many options listed on the Getting Started wiki page. To train Clojure and your first small projects, I would just select your simple text editor of choice, study and use the basics of Leiningen to get a good project directory directory with all your paths and dependencies that took care, then use the "lein repl" command to run REPL with all loaded and available dependencies. Assuming you are using Emacs (depending on your previous Lisp experience), you can describe-variable your inferior-lisp-program be lein repl and just run Emacs from the root of your lein repl project to make everything work automatically.

There are books you can read, especially Clojure's Joy, Clojure Programming, and Practical Clojure. The last two are more practical than the first, more "philosophical" (sorry for the gross generalizations). Practical Clojure has been updated with Clojure 1.2, while Clojure programming is a bit older.

Finally, go through the IRC # clojure channel and use the Google Clojure group because there are tons of smart, friendly people who like to help others.

+15
source

Just a quick perspective from someone who came to Clojure from a different direction (Java -> Clojure)

  • In fact, I discovered that the Lispy parts of Clojure were easy to learn when I got my syntax and common idioms. I expect this to be even easier for you.
  • You don't need a lot of Java knowledge to do most of the things — you can do almost everything in pure Clojure if you want.
  • Perhaps only when you start wanting to use the Java libraries that you will need to dive into the Java interaction. Fortunately, the interaction is very simple - it is a more stylish LISP style than the Java style, so the only thing you need to figure out is to understand the Java interfaces and make the corresponding call from Clojure.

In my environment, I use Eclipse + Counterclockwise . This works exceptionally well if you like the IDE and / or think that in the end you will also want to do some work in Java. It does not require any additional dependencies, it gives an excellent debugger, it has a full REPL (built-in nREPL , I believe), it makes the whole project file (Git, SVN, etc.) and automatically processes things like setting the Java class for you (which can be a major hurdle for newbies to Java!). I would recommend checking this out if you think this might suit your style, I also heard well about Enclojure .

If you haven’t been in the IDE, then you will probably find it best in your favorite text editor and command line tools, as semperos offers in its excellent answer.

+2
source

I created a site called Clojurecademy for beginners to learn Clojure, which is an interactive platform that teaches Clojure, it as Codecademy for Clojure

0
source

All Articles