Skip navigation

Tag Archives: clojure

If emacs isn’t your thing, or you prefer a modern IDE (read: GUI) for development, I recommend IntelliJ IDEA.  An open-source, community edition was just released, and it is definitely worth giving a spin – I’ve been a fan since I first tried it a couple of years ago.

Being at a university where the first language taught is Java, but transferring from an institution where C++ was dominant was a bit of a pain.  IntelliJ got me through my Java-based courses.  I tried and managed with Eclipse and NetBeans for the first semester – but we were given a significant initial framework.

Enough of my praise for IntelliJ.  Let’s get started!
Read More »

More than anything, this post succinctly describes how to get up and running with Clojure + Emacs. Virtually no thinking is required if you are working from a default install of Ubuntu, and not much more is required for any linux distro – you just need to know how to use your package manager.

Furthermore, if any of these steps would cause you trouble (deleting .emacs* comes to mind), you probably already know how to handle it.
Read More »

Clojure is a new Lisp on the block.  It runs on the JVM, giving it full access to any Java library (and its complement), but it leans more towards the functional paradigm, so data structures are immutable (a big boon for concurrent programming, as locks become obsolete).

In addition to supporting the usual data types of Lisp, Clojure has added syntactic support for vectors, maps and sets.  Some sacrifices have been made for performance; in order to have immutable data structures, it returns a new data structure for each mutation.  However, because the parent data structure is immutable, much of the structure can be shared. Performance-wise, Rich Hickey has stated that “I’ve tried to keep [operations] all within 1 to 4 times [the equivalent] Java data structure, [but lookup times are frequently faster]”.

Read More »