KunterBuntesSeminar-SS10/DieSpracheClojure: Unterschied zwischen den Versionen

Aus Fachschaft_Informatik
Zur Navigation springen Zur Suche springen
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.
* Funktionale Programmierung statt veränderlichen Objekten
 
Im Wesentlichen verfolgt Clojure vier Designziele, die perfekt miteinander harmonieren:
* 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


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 =

Version vom 22. April 2010, 10:50 Uhr

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

Abstract

Clojure ist eine neue dynamische Sprache für die JVM, die durch ihre Eleganz, Mächtigkeit und praktische Anwendbarkeit besticht.

Im Wesentlichen verfolgt Clojure vier Designziele, die perfekt miteinander harmonieren:

  • 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

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

  • Benjamin Teuber <4teuber>

Material

(coming soon)

Weiterführende Links