KunterBuntesSeminar-SS10/DieSpracheClojure: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
K (Bot: Kosmetische Änderungen)
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
= Abstract =
= Abstract =


Clojure ist eine neue dynamische Sprache für die JVM, die unter anderem vier Designziele verfolgt:
Clojure ist eine neue dynamische Sprache für die JVM, die durch ihre Eleganz, Mächtigkeit und praktische Anwendbarkeit besticht - und dabei einfach nur Spaß macht.
* Funktionale Programmierung statt veränderlichen Objekten
 
Im Wesentlichen verfolgt Clojure vier Designziele:
* Funktionale, zustandsfreie Algorithmen statt veränderlichen Objekten
** These: "Mutable Objects are the new Spaghetti Code"
* Verschiedene, sehr gute Concurrency-Modelle dort, wo Zustände benötigt werden
** Z.B. Software Transactional Memory und Agents
** Kommen ohne Locking aus
* Einfache und direkte Java-Interop
* Einfache und direkte Java-Interop
* Mächtige und einfache Concurrency-Unterstützung
** Alle Libraries stehen direkt zur Verfügung
* Ein Lisp-Dialekt ähnlich Scheme
* Ein Lisp-Dialekt ähnlich Scheme
** Mächtige Metaprogrammierung möglich, wenn benötigt
** Optimal für DSL's


Nach einem kurzen Einführungsvortrag werden wir gemeinsam mit einer interaktiven Clojure-Umgebung spielen. Sollte am Ende noch Zeit sein, hilft Benjamin auch gerne beim Installieren auf euren Notebooks.
Nach einem kurzen Einführungsvortrag werden wir gemeinsam mit einer interaktiven Clojure-Umgebung experimentieren. Sollte am Ende noch Zeit sein, hilft Benjamin gerne beim Installieren auf euren Notebooks.


= Vortragender =
= Vortragender =
Zeile 15: Zeile 23:


= Material =
= Material =
(coming soon)
[[Medium:Clojure-slides.pdf|Folien zum Vortrag]]


= Weiterführende Links =
= Weiterführende Links =
* [http://www.try-clojure.org TryClojure] - ein Online-REPL zum Spielen
* [http://clojure.org clojure.org] - die offizielle Clojure-Webseite
* [http://clojure.org clojure.org] - die offizielle Clojure-Webseite
* [http://clojure.blip.tv clojure.blip.tv] - eine Reihe interessanter Vorträge vom Clojure-Autor
* [http://clojure.blip.tv clojure.blip.tv] - eine Reihe interessanter Vorträge vom Clojure-Autor
* [http://planet.clojure.in Planet Clojure] - der Startpunkt in die Clojure-Blogosphäre
* [http://planet.clojure.in Planet Clojure] - der Startpunkt in die Clojure-Blogosphäre
* [http://www.paulgraham.com/avg.html Beating the averages] - spannender Artikel über Lisp im allgemeinen


[[Kategorie:KunterBuntesSeminar]]
[[Kategorie:KunterBuntesSeminar]]

Aktuelle Version vom 8. Juni 2012, 18:21 Uhr

Das ist der fünfte Termin des KunterBunten Seminars im Sommersemester 2010.

Abstract[Bearbeiten]

Clojure ist eine neue dynamische Sprache für die JVM, die durch ihre Eleganz, Mächtigkeit und praktische Anwendbarkeit besticht - und dabei einfach nur Spaß macht.

Im Wesentlichen verfolgt Clojure vier Designziele:

  • Funktionale, zustandsfreie Algorithmen statt veränderlichen Objekten
    • These: "Mutable Objects are the new Spaghetti Code"
  • Verschiedene, sehr gute Concurrency-Modelle dort, wo Zustände benötigt werden
    • Z.B. Software Transactional Memory und Agents
    • Kommen ohne Locking aus
  • Einfache und direkte Java-Interop
    • Alle Libraries stehen direkt zur Verfügung
  • Ein Lisp-Dialekt ähnlich Scheme
    • Mächtige Metaprogrammierung möglich, wenn benötigt
    • Optimal für DSL's

Nach einem kurzen Einführungsvortrag werden wir gemeinsam mit einer interaktiven Clojure-Umgebung experimentieren. Sollte am Ende noch Zeit sein, hilft Benjamin gerne beim Installieren auf euren Notebooks.

Vortragender[Bearbeiten]

  • Benjamin Teuber <4teuber>

Material[Bearbeiten]

Folien zum Vortrag

Weiterführende Links[Bearbeiten]