Getting started with Clojure
I wrote my first “Hello World” program in Clojure :) Here I sum up what I managed to figure out.
Learning a new language, especially a new programming paradigm is always useful. I’ve been interested in functional programming for a long time but I could never find time to dive into it. Once I started to learn Haskell but at Chapter 2 I gave up. Maybe once… However, I heard very good things about Clojure, so I would like to investigate it from a closer range. I also like the idea that it’s built upon the JVM.
Mark Volkmann wrote an excellent introduction to the language, it’s a very good starting point.
Clojure is built upon the JVM. The good news is that you don’t need to download different JAR files and put them to the classpath. There is an excellent command-line tool called Leiningen (“
lein” for short) that does this job for you. Steps to follow:
- download the lein script
- put it in your PATH (I put it to
- make it executable (
chmod u+x lein)
- launch it (it will download the necessary files)
Create a new project:
lein new app hello
Lein will make the folder “
hello” and it will create a simple project structure.
Open the file
src/hello/core.clj and edit the last line:
... (println "Hello Clojure!"))
Enter the project “
hello” (the folder where the file
project.clj is placed) and run the project:
Normally you should see the “
Hello Clojure!” output. Starting the JVM is expensive, the runtime of this simple basic script is more than 4 seconds on my laptop. But I’m pretty sure that once the JVM is loaded, it’s fast.