Status quo und Ausblick auf die funktionale JVM-Sprache

Clojure – Quo vadis?

Andre Steingress
© iStockphoto.com/sololos

Clojure ist der erste Lisp-Abkömmling, der auf der JVM basiert. Im Gegensatz zu anderen JVM-Programmiersprachen ist Clojure komplett funktional und enthält als integralen Sprachbestandteil Konstrukte, die die Erstellung von nebenläufigem Code vereinfachen. Dieser Artikel geht auf die wichtigsten und interessantesten Änderungen der letzten Monate ein, im Speziellen auf die Ende März veröffentlichte Version 1.6.0.

Spätestens nach der Einführung des x-ten Sprachfeatures der Haus-und-Hof-Programmiersprache stellt sich die Programmiererin folgende Frage: Gibt es denn keine Sprache, die mit der mindestmöglichen Anzahl von Sprachmerkmalen ihr Auskommen findet, auf diesen aufbaut, anstatt nach und nach Konzepte in die Sprache einzuführen und in vorhandene Schnittstellen zu integrieren? Eine der möglichen Antworten wurde bereits vor etwa 50 Jahren am Massachusetts Institute of Technology (MIT) gefunden. John McCarthy ist der gedankliche Vater von Lisp. Mit seinen Ausführungen über das so genannte „Lambda-Kalkül“ legte er die mathematische Basis für eine der beiden bis dato am längsten in der Praxis existierenden Programmiersprachen. Es gibt kein „reines“ Lisp. Vielmehr gibt es unterschiedliche Varianten, die Lisp-Dialekte. Die bekanntesten sind Common Lisp und Scheme. Im Gegensatz zum Aufbau europäischer Informatikstudien hat Lisp im amerikanischen Universitätsumfeld einen fixen Platz in der Ausbildung neben Java, C, C++ und den anderen üblichen Verdächtigen.
Clojure ist ein seit 2007 bestehender Lisp-Dialekt. Der Begriff „Clojure“ soll auf Closures, Java und Lisp anspielen. „Clojure“ dient nicht nur als reiner Bezeichner für die Programmiersprache, sondern umfasst auch die aus mehreren Komponenten bestehende Laufzeitumgebung. Wichtiger Bestandteil ist die dabei REPL (engl. Read-Eval-Print Loop), ein einfaches konsolenähnliches Interface, das die schnelle Ausführung von Clojure-Code erlaubt. Die Laufzeitumgebung setzt dabei auf der JVM auf, generiert also an bestimmten Stellen JVM-kompatiblen Bytecode und kann somit in (bestehenden) Java-Umgebungen ausgeführt werden.

Clojure 1.6.0 setzt auf JDK 6 auf (1.5.x war mit JDK 5 kompatibel). Clojure-Programme müssen daher mindestens mit dem JRE 6 ausgeführt werden.

(Den kompletten Artikel finden Sie im Java Magazin 7.14)

Geschrieben von
Andre Steingress
Andre Steingress
Andre Steingress ist selbstständiger Entwickler. Er ist bei führenden österreichischen und deutschen Unternehmen in Projekten tätig. Technologisch hat er sich auf Java, Groovy, Clojure sowie auch Google Go spezialisiert. Zu erreichen ist er unter @asteingr auf Twitter oder ADN.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: