KIF430:Freunde der funktionalen Programmierung (Anfänger)

Aus KIF

Vorlesungsartige Einführung in Haskell[Bearbeiten]

Vorlesung von Jonas und alle Unterlagen dazu: [1]

Empfolene Literatur:

  • Learn You a Haskell For Great Good: [2]
  • Alligator Eggs (Lambda-Kalkül) [3]
  • Parallel and Concurrent Programming in Haskell (etwas fortgeschrittener): [4]


Gründe für Haskell:

  • Immutability (Unveränderlichkeit): Werte können nicht verändert werden
  • Purity (keine Seiteneffekte, es sei denn explizit)
  • Parallelism: Auf einfache Weise beliebig viele Prozessorkerne nutzen
  • schult, über Seiteneffekte, Global State, logische Denkfähigkeit,... nachzudenken
  • verbessert Problemlösungsskills
  • verbessert Programmierung
  • sehr gut für Parser geeignet

Negatives:

  • benötigter Speicherplatz schwerer zu ermitteln, tendenziell etwas mehr

->Optimierung schwieriger

  • interer Stack-Overflow möglich (per Compiler-Flag zu beheben)
  • ungünstig, falls man pro Zeile Code bezahlt wird ;-)

Für welche Art von Projekten:

  • Programm soll gutlesbar sein und funktionieren
  • nicht! für quick&dirty
  • für stabile, sichere Programme
  • ggf. für nicht-performante Anwendungen (schneller als Java, C-Guru schneller als Haskell-Guru, unter nicht Gurus Haskell schneller)
  • Parallelität einfach implementieren