A Look at Clojure and the Lisp Resurgence

A Look at Clojure and the Lisp Resurgence

Newer is always better with programming technologies, right?

Not always! Especially when the technology in question is an almost pure manifestation of that other great geek obsession – math.

That brings us to Lisp, regarded as the second oldest programming language in practical use. However, in many ways Lisp is the most futuristic programming language of them all. It has a large number of dialects that have been instrumental to academics but it is becoming a force in web programming thanks to a variant called Clojure. Let's delve into Lisp and see why sometimes moving into the future means peeking into a time capsule.

Brief History

As we alluded to, Lisp has a purer mathematical feel than most languages. This is owed much to the fact that when it was created by John McCarthy in the late 50s, it was not designed as a programming language at all. Rather, it was meant as a formal notation for computation influenced by lambda calculus. However, when it was actually implemented on one of the paleolithic IBM machines of the time, it turned out to be a fully-functioning, practical tool for solving problems.

Lisp's Advantages Actually Kept It Obscure

To give a brief feel for Lisp, it centers upon “prefix notation” enclosed in parenthesis. The operation 2 + 2, familiar to almost anyone, would be implemented as:

(+ 2 2)

Whole programs are expressed as elaborate collections of functions nested within each other. While it may not be immediately obvious why this is powerful, the end result is a language with very little syntactic complexity but a great deal of flexibility.

However, computer hardware of the 1960s through the 2000s was not really well suited for it. Languages that were oriented more towards linear thinking and “load/store” procedures grew along with the limitations of machines. Lisp was used in a few niche applications, artificial intelligence research, and as a curiosity that made a lot of computer science undergrads furrow their brows.

Enter Clojure

We certainly do not have the problem of limited hardware anymore, with fast multi-threaded processors, powerful caching, fast storage, and large parallel computing networks. We also have the Java Virtual Machine (JVM), the runtime environment of one of the world's most ubiquitous computer languages. Given these two factors, it made perfect sense to port Lisp over to the JVM.

Clojure is not the first Lisp dialect designed for the JVM, but it is has every feature needed for success on the web, including concurrency, immutable data, and extensibility. Since it provides all of these factors along with the powerful simplicity and flexibility that has always characterized Lisp, it is a perfect platform for getting a web application spun up quickly and adding features to it almost as fast as a programmer can type. There is an extensive list of Clojure success stories across many industries.

As much as Clojure is a source of geeky joy, it is certainly not the only hot web technology. Consult with us to learn more about how both time-tested and bleeding-edge technologies are powering businesses into the future.

To view or add a comment, sign in

Insights from the community

Others also viewed

Explore topics