Genießen Sie diesen Titel jetzt und Millionen mehr, in einer kostenlosen Testversion

Nur $9.99/Monat nach der Testversion. Jederzeit kündbar.

Clojure: Funktionale Programmierung für die JVM

Clojure: Funktionale Programmierung für die JVM

Vorschau lesen

Clojure: Funktionale Programmierung für die JVM

Länge:
63 Seiten
22 Minuten
Herausgeber:
Freigegeben:
Aug 12, 2014
ISBN:
9783868025125
Format:
Buch

Beschreibung

Clojure ist der erste Lisp-Abkömmling, der auf der JVM basiert. Im Gegensatz zu anderen JVM-Programmiersprachen ist Clojure komplett funktional. Im ersten Kapitel geht der shortcut auf die wichtigsten und interessantesten Änderungen der letzten Monate ein, im Speziellen auf die Ende März veröffentlichte Version 1.6.0. Das zweite Kapitel analysiert, wie gut sich Clojure mit Java verträgt, und geht den Fragen nach, wie problemlos sich Clojure mit anderen Sprachen kombinieren lässt und wie man eine Clojure-Bibliothek ohne Weiteres aus einer Java-Anwendung heraus nutzen kann. Das abschließende Kapitel verhandelt den Zugriff auf relationale Datenbanken in Clojure mit Korma, gibt eine Einführung in die bei Korma verwendeten Konstrukte und zeigt deren Verwendung anhand eines einfachen fachlichen Beispiels.
Herausgeber:
Freigegeben:
Aug 12, 2014
ISBN:
9783868025125
Format:
Buch

Über den Autor


Ähnlich wie Clojure

Ähnliche Bücher

Ähnliche Artikel

Buchvorschau

Clojure - André Steingress

André Steingress, Silvia Schreier, Tobias Bayer

Clojure

Funktionale Programmierung für die JVM

ISBN: 978-3-86802-512-5

© 2014 entwickler.press

Ein Imprint der Software & Support Media GmbH

1 Clojure – Status quo und Ausblick

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 fünfzig 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 dabei die 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.

LIStProcessing

Lisp steht für LIStProcessing, also Listenverarbeitung. Die Liste hat dabei neben der Verwendung als Datenstruktur in herkömmlichen Java-Programmen (man denke an die java.util.ArrayList) eine besondere Stellung. Listen werden verwendet, um den eigentlichen Code zu formulieren. Wenn man so will, besteht jedes Programm aus einer Menge von Codelisten. Eine Liste repräsentiert zur Laufzeit einen Funktionsaufruf. Damit sind nicht nur Aufrufe im herkömmlichen Sinne gemeint. Clojure ist komplett funktional und verwendet Funktionen beispielsweise auch, um Variablen zu definieren (eine spezielle Form von Funktionen mit Seiteneffekten).

Um dieses Konzept zu verdeutlichen, sehen wir uns folgendes Beispiel an. Dieses Programm führt eine einfache Addition zweier Zahlen durch:

(+ 41 1)

Die runden Klammern umschließen die Elemente der Liste. Das + an erster Stelle ist ein so genanntes Symbol, 41 und 1 sind Zahlen. Symbole und Zahlen werden auch als Skalare (engl. scalars) bezeichnet. Clojure bietet eine Menge an Datentypen und dazugehörige Skalare beziehungsweise Literale (engl. literals): Integers, Floats, rationale Zahlen, Strings, Booleans, reguläre Ausdrücke, Collections etc. Die obige Codezeile stellt einen Funktionsaufruf dar. Zur Laufzeit wird dabei das erste Element der Liste (das Symbol) in einen Funktionsaufruf aufgelöst und die restlichen Elemente der Liste werden als Argumente dieser Funktion mitgegeben. Die Reihenfolge

Sie haben das Ende dieser Vorschau erreicht. Registrieren Sie sich, um mehr zu lesen!
Seite 1 von 1

Rezensionen

Was die anderen über Clojure denken

0
0 Bewertungen / 0 Rezensionen
Wie hat es Ihnen gefallen?
Bewertung: 0 von 5 Sternen

Leser-Rezensionen