Slides for an introductory talk about Haskell (in German)
TeX Haskell Brainfuck Other
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images
minted @ 54c396d
.gitignore
.gitmodules
README.md
brainfuck.hs
effektsysteme.hs
effektsysteme.pdf
effektsysteme.tex
fixpunkt.gnuplot
fixpunkt.pdf
fixup-minted.pl
folien.pdf
folien.tex
fractran.hs
freie-monaden.hs
freie-monaden.pdf
freie-monaden.tex
freie-monaden.txt
impossible-maximum.hs
impossible-programs.lhs
initiale-algebren.pdf
initiale-algebren.tex
lightning-talk-tuebix2015.pdf
lightning-talk-tuebix2015.tex
lightning-talk.pdf
lightning-talk.tex
live-coding-ideen.txt
mandelbrot.b
monadic-parsing-snapshot-der-live-version.hs
monadic-parsing.hs
monadic-parsing.pdf
monadic-parsing.tex
surreal.hs
surreal.pdf
surreal.tex
typtheorie.pdf
typtheorie.tex

README.md

An introductory talk about Haskell (in German)

Was ist schneller als C++, prägnanter als Perl, regelmäßiger als Python, flexibler als Ruby, typisierter als C#, robuster als Java und hat absolut nichts mit PHP gemeinsam? Es ist Haskell!

Haskell ist eine moderne und innovative Programmiersprache, die sich von bekannten imperativen Sprachen in vielerlei Hinsicht deutlich unterscheidet: Ein Haskell-Programm besteht nicht etwa aus einer Abfolge von auszuführenden Anweisungen, sondern aus einer Ansammlung von Deklarationen, deren Reihenfolge keine Rolle spielt. Auch gibt es keine veränderlichen Variablen, und ausgewertet wird nur, was wirklich benötigt wird; unendliche Datenstrukturen sind möglich und sinnvoll.

Dieses Denkparadigma mag anfangs sehr ungewohnt sein, zieht jedoch eine Reihe von Vorteilen mit sich: Da es keine Nebenwirkungen wie beispielsweise globale Variablen gibt, kann man Code rein lokal verstehen. Damit wird es einfacher, modular Komponenten zusammenzubauen, sich Datenflüsse klarzumachen und Code auf seine Korrektheit hin zu überprüfen. Insbesondere vereinfacht sich die Programmierung mit Threads enorm.

Ferner ist Haskells starkes statisches Typsystem eine große Hilfe beim Programmieren und verhindert viel mehr Fehler schon während des Kompilierens, als man vielleicht aus anderen Sprachen gewohnt ist. Es gibt das Motto, dass, wenn Haskell-Code erst einmal erfolgreich durchkompiliert, er dann auch schon korrekt ist. Das ist sicherlich übertrieben, hat aber einen erstaunlich wahren Kern.

Der Vortrag wird einen subjektiven Überblick über die Fähigkeiten und typischen Anwendungsgebiete von Haskell geben. Beim Erlernen von Haskell lernt man viele neue Herangehensweisen kennen, die auch in anderen Sprachen nützlich sind; das ist einer der Hauptvorteile an Haskell, der auch dann noch relevant ist, wenn man aus verschiedenen Gründen nicht in Haskell programmieren möchte.