Zum Inhalt springen

Clojure

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. Juli 2018 um 14:27 Uhr durch AchimP (Diskussion | Beiträge) (Unfallschäden repariert. Zahlt die Versicherung.). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Clojure
Clojure Logo
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 [ˈkləʊʒə(r)] ist ein moderner 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.

Clojure-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

Literatur

Einzelnachweise

  1. https://github.com/clojure/clojure/releases
  2. Rich Hickey: Books that influenced Clojure. 30. Juni 2009, abgerufen am 24. August 2010.
  3. http://leiningen.org/
  4. https://github.com/clojure/core.match/
  5. https://github.com/clojure/core.typed
  6. Light Table
  7. La Clojure
  8. Cursive
  9. Counterclockwise
  10. vsClojure
  11. Clojure-Mode
  12. CIDER
  13. VimClojure
Wikibooks: Clojure Programming (englisch) – Lern- und Lehrmaterialien