Was ist Clojure?
Clojure ist eine dynamische Programmiersprache, die ein Dialekt oder eine Variante der Lisp-Programmiersprache ist. Es ist für allgemeine Zwecke konzipiert und kombiniert die interaktive Entwicklung und Zugänglichkeit einer Skriptsprache mit einer robusten und effizienten Infrastruktur für Multithread-Programmierung.
Es ist auch eine kompilierte Sprache, die direkt in den JVM-Bytecode kompiliert und dabei vollständig dynamisch bleibt.
Clojure wurde von Rich Hickey als ein Lisp-Dialekt entwickelt, der direkt auf die Java Virtual Machine (JVM) abzielt. Aus diesem Grund teilt es die Code-as-Data-Philosophie und das leistungsstarke Makro-System von Lisp. Es wird vorwiegend als eine funktionale Programmiersprache betrachtet, die eine Reihe unveränderlicher und beständiger Datenstrukturen aufweist.
Clojure hat auch ein Software-Transaktionsspeichersystem, wenn ein veränderbarer Zustand erforderlich ist, und ein reaktives Agentensystem, das sicherstellt, dass Multithread-Designs korrekt und sauber sind.
Zu den Funktionen von Clojure gehören:
Enge Java-Integration, bei der Anwendungen einfach verpackt und auf JVMs und anderen Anwendungsservern bereitgestellt werden können
Funktionen werden als erstklassige Objekte betrachtet
Dynamische Entwicklung mit einer Read-Eval-Print-Schleife
Der Schwerpunkt liegt auf der Rekursion und anderen Funktionen höherer Ordnung, im Gegensatz zu einer auf Seiteneffekten basierenden Schleifenbildung
Bietet unveränderliche und persistente Datenstrukturen wie Hashmaps, Listen und Mengen
Das Agentensystem, das dynamische Var-System und der Software-Transaktionsspeicher ermöglichen eine gleichzeitige Programmierung
Multimethods ermöglichen eine dynamische Verteilung der Werte oder Typen beliebiger Argumente