Clojure
Clojure | |
---|---|
![]() | |
Basisdaten | |
Paradigmen: | Funktionale Programmiersprache |
Erscheinungsjahr: | 2007 |
Entwickler: | Rich Hickey |
Aktuelle Version: | 1.9.0[1] (8. Dezember 2017) |
Typisierung: | dynamisch, stark |
Beeinflusst von: | Lisp, Prolog, ML, Erlang, Haskell, Java[2] |
Betriebssystem: | Windows, Linux, macOS, Solaris, FreeBSD |
Lizenz: | Eclipse Public License |
http://clojure.org |
Clojure [Lisp-Dialekt, der interaktive Entwicklung unterstützt. Die Sprache fördert einen funktionalen Stil, der nebenläufige Programmierung stark vereinfacht. Clojure läuft in der Java Virtual Machine und ist eng mit der Java Runtime integriert. Eine JavaScript-Implementierung mit dem Namen ClojureScript sowie eine CLR-Implementierung existieren ebenso. Das Makrosystem ist mit dem anderer Lisp-Umgebungen vergleichbar.
] ist ein modernerClojure-Projekte werden häufig mithilfe von Leiningen verwirklicht.[3]
Beispiele
Vollständige Hallo-Welt-Programme:
- textuell im Lisp-Stil
(println "Hallo Welt!")
- grafisch mit Hilfe der Java-Bibliothek Swing
(javax.swing.JOptionPane/showMessageDialog nil "Hallo Welt!")
Bibliotheken
Als Lisp-Dialekt spielt das Prinzip Code als Daten bzw. Homoikonizität eine wichtige Rolle. Konkret kann Clojure davon profitieren, indem es Eigenschaften, die in anderen Programmiersprachen fest integriert sind, als Bibliotheken zur Verfügung stellt. Als Beispiele seien hier Pattern Matching[4] und ein Typsystem[5] genannt.
IDE-Unterstützung
- Light Table ist eine interaktive IDE mit Clojure-Unterstützung.[6]
- Für IntelliJ IDEA gibt es die Plugins La Clojure und Cursive.[7][8]
- Für Eclipse gibt es Counterclockwise.[9]
- Eine ClojureCLR-Erweiterung für Visual Studio ist vsClojure.[10]
- Für Emacs sind Clojure-Mode[11] und CIDER[12] verfügbar.
- Für Vim gibt es VimClojure.[13]
Literatur
- Stuart Halloway: Programming Clojure. Pragmatic Programmers (April 2009). ISBN 978-1-934356-33-3
- Rich Hickey: The Clojure programming language doi:10.1145/1408681.1408682. In: Dynamic Languages Symposium archive, Proceedings of the 2008 symposium on Dynamic languages. Juli 2008. ISBN 978-1-60558-270-2
- Stefan Kamphausen, Tim Oliver Kaiser: Clojure. dpunkt.verlag (September 2010). ISBN 978-3-89864-684-0.
Einzelnachweise
- ↑ https://github.com/clojure/clojure/releases
- ↑ Rich Hickey: Books that influenced Clojure. 30. Juni 2009, abgerufen am 24. August 2010.
- ↑ http://leiningen.org/
- ↑ https://github.com/clojure/core.match/
- ↑ https://github.com/clojure/core.typed
- ↑ Light Table
- ↑ La Clojure
- ↑ Cursive
- ↑ Counterclockwise
- ↑ vsClojure
- ↑ Clojure-Mode
- ↑ CIDER
- ↑ VimClojure
Weblinks
- Offizielle Webseite von Clojure
- Clojure Documentation – gemeinschaftlich betriebenes Dokumentationsprojekt
- ClojureDocs – ebenfalls gemeinschaftlich betriebene Sammlung von Dokumentation und Beispielen
- Concurrent Programming mit Clojure, deutschsprachiger Artikel im Linux-Magazin
- Interaktiver Onlineinterpreter zum Ausprobieren