Home > programming language > Getting started with Clojure

Getting started with Clojure

I wrote my first “Hello World” program in Clojure :) Here I sum up what I managed to figure out.

Clojure (pronounced as “closure“) is a dialect of the Lisp programming language created by Rich Hickey. Clojure is a functional general-purpose language, and runs on the Java Virtual Machine, Common Language Runtime, and JavaScript engines.” (via wikipedia)

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.

Hello World
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 ~/bin)
  • 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:

lein run

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.


Categories: programming language Tags:
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: