Buch: "Clojure - Grundlagen, Concurrent Programming, Java"

Buchdeckel

erschienen September 2010 346 Seiten, Broschur ISBN 978-3-89864-684-0 36,90 Euro(D) / 38,00 Euro(A) / 60,00 sFr dpunkt.verlag

Umschlag

Buchbeschreibung

Clojure

Grundlagen, Concurrent Programming, Java
Stefan Kamphausen / Tim Oliver Kaiser

Das Buch gibt eine Einführung in die Philosophie und Technik der jungen und auf Concurrency fokussierten Programmiersprache Clojure.

Nach einem ausführlichen Einstieg in die Grundlagen der Sprache werden die Integration mit Java in beide Richtungen und die Besonderheiten in Bezug auf Concurrent Programming erläutert.

Den Abschluss bilden eine Beschreibung wichtiger Bibliotheken und eine Diskussion des aktuellen Stands von Clojure. Wichtige Konzepte der funktionalen Programmierung finden ebenso Erwähnung wie Hintergrundinformationen, die technische Details -- etwa die Implementation der persistenten Datenstrukturen -- erklären.

Mit mehr als 400 Beispielen führt das Buch den Leser praktisch an die Sprache heran. Die Darstellung basiert auf der Clojure-Version 1.2.

Zielgruppe: Java-Programmierer, Studierende der Informatik, Interessierte an Clojure und/oder Lisp.

Siehe auch http://www.dpunkt.de/buecher/3372.html

Geschichte

Ende 2008 wurde ich (SK) auf Clojure aufmerksam, fand jedoch so recht keinen Anlass, mich damit eingehender zu beschäftigen. Dieser ergab sich, als ich mich zu einem Vortrag beim SourceTalk 2009 überreden ließ. Während ich noch das seinerzeit entstandene Material für einen Artikel im deutschen Linux Magazin umbaute, trat der dpunkt.verlag an mich heran und wir wurden uns einig, dass wir gemeinsam das Projekt Clojure Buch angehen wollen. Meinen geschätzten Kollegen Tim Oliver Kaiser, der vor allem die Java-Welt deutlich besser kennt als ich, konnte ich als Mit-Autor gewinnen.

Dieses Buch wurde März 2010 angekündigt und erschien planmäßig am 20. September 2010.

Entwicklung und andere Neuigkeiten

2013
Der erste englischsprachige Artikel, erneut zu STM im Software Developer's Journal.
2012
2011-08-13
Sowohl tok als auch in werden auch dieses Jahr beim SourceTalk Vorträge zu Clojure-Themen anbieten.
2010-12-05
Auch das Linux-Magazin hat eine Rezension.
2010-11-26
Bei Heise gibt es ein Review.
2010-09-18
Auf der Webseite zum Buch beim Verlag sind diverse Leseproben als PDF verfügbar.
2010-09-13
Eine Leseprobe des Buchs findet sich in "Java aktuell", dem Magazin des IJUG (soweit ich weiß, nicht online verfügbar)..
2010-08-26
Cover liegen aktualisiert vor.
2010-08-20
Fertig! Am Montag geht es in die Druckerei.
2010-08-14
Der Untertitel wurde geändert. Vormals "Einführung und Praxis", jetzt "Grundlagen, Concurrent Programming, Java". Titelbild folgt, sobald es vorliegt. Die Beschreibung (siehe Text oben) wurde ebenfalls aktualisiert.
2010-08-10
Hans Dockter, Gründer des Gradle Build Systems und Geschäftsführer der Gradle GmbH, hat freundlicherweise ein Geleitwort beigesteuert.
2010-08-09
Wir bieten einen Workshop für Clojure-Einsteiger auf dem diesjährigen SourceTalk an. Anmeldung
2010-07-28
Die Korrekturen waren heute in der Post und werden eingearbeitet.
2010-07-04
Das Manuskript liegt beim Verlag zum Lektorat.
2010-05-10
Prof. Dr. Volker Ahlers hat ein Vorwort geschrieben.
2010-05-03
Das Buch wird Clojure 1.2 behandeln.

Inhaltsverzeichnis

  1. Einleitung
    1. Geschichte
    2. Für wen ist dieses Buch
    3. Warnung
    4. Verwendete Version von Clojure
    5. Über dieses Buch
    6. Danksagungen
  2. Die Sprache
    1. Wesentliche Eigenschaften
    2. Grundkurs in Lisp
    3. REPL
    4. Dokumentation
    5. Java verwenden
    6. Datentypen
    7. Variablenbindungen und Namensräume
    8. Ausgabe
    9. Gleichheit, Wahrheit und Null
    10. Bedingte Anweisungen
    11. Exceptions
    12. Anweisungen
    13. Reguläre Ausdrücke
    14. Rekursion
    15. Metadaten
    16. Sequences
    17. Verschiedenes
    18. Vom Quelltext zum Resultat
  3. Concurrency
    1. Zustand und Zeit
    2. Besonderheiten der Datenstrukturen
    3. Handhabung veränderlicher Identitäten
    4. Referenztypen
    5. Threads
    6. Transiente Datenstrukturen
    7. Hintergrund: Clojures STM
    8. Beispiel: Genetischer Algorithmus
  4. Java
    1. Java aus Clojure
    2. Interfaces und abgeleitete Klassen
    3. Beispiel: Plot einer Bifurkation
    4. Clojure als Skriptsprache
    5. Clojure ist auch eine Bibliothek
    6. Tuning und HotSpot
    7. Auslieferung
    8. Hintergrund: Details zur Implementation
  5. Protocols und Datatypes
    1. Expression Problem
    2. Abstraktionen: Protocols
    3. Konkretisierungen: Datatypes
    4. Fazit
  6. Bibliotheken
    1. Input/Output
    2. XML
    3. Automatisierte Softwaretests
    4. Externe Programme
    5. Inspector
    6. Durchlaufen von Bäumen
    7. REPL-Utils
    8. Pretty Print
    9. Trace
    10. SQL
    11. Dataflow
    12. Abschluss
  7. Fazit
    1. Clojures Zukunft
    2. Kritik
    3. Vorhang

Errata

Kein Buch ohne Fehler. Etwa fünf Minuten nach Erhalt des Vorabexemplars hatte ich den ersten Fehler gefunden. Ich vermute, es handelt sich dabei um ein Grundgesetz der schreibenden Zunft.

Den Fehlern ist eine eigene Seite gewidmet: Errata.

Listings

Auch wenn die aktive Tipparbeit gute Dienste leistet, wenn man sich mit einer neuen Programmiersprache vertraut macht, artet manches doch in unnütze Abtipperei aus.

Daher haben wir auch für die Listings eine dedizierte Seite: Listings.

Feedback und Fragen

Für Fragen oder Feedback stehen wir jederzeit gerne zur Verfügung. Per E-Mail bitte an "ska" /at\ clojure-buch -dot- de oder "tok" /at\ clojure-buch -dot- de.

Impressum

Verantwortlich für die Webseiten auf der Domain www.clojure-buch.de ist:
Stefan Kamphausen
Allensteiner Weg 32
37130 Gleichen
ska /at\ clojure-buch -dot- de

Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen wir keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Alle Inhalte sind © Copyright 2010 Kamphausen, Kaiser, dpunkt.verlag. Die Verwendung des Covers erfolgt mit freundlicher Genehmigung des dpunkt.verlages.

Fußnoten

Valid XHTML 1.0 Transitional Valid CSS!