GPN7:Diskussionsrunde zu funktionalen Programmiersprachen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
Version vom 10. August 2008, 23:23 Uhr von Neingeist (Diskussion | Beiträge) (korrekturen)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Warum möchte man lieber Haskell als ML programmieren? Warum sind die Makros in gemeinen Klammern schöner? Hier darf gestritten werden. Eine Diskussionrunde auf der GPN7.

In vielen imperativen Sprachen werden vermehrt aus der funktionalen Programmierung bekannte Konstrukte eingeführt. Beim GCC kann man inzwischen Funktionen als pure oder const deklarieren, Java wird Closures bereitstellen. In C# sind schon länger anonyme Funktionen und Closures (delegates) verhanden. Auch C++ wird nach dem nächsten Standard Function Objects anbieten.

Funktionale Programmierung bietet gegenüber der konventionellen Programmierung einige Vorteile, welche in Zukunft immer wichtiger werden. Durch explizite Nennung von Seiteneffekten sowie durch einfachere Modularisierung wird es leichter fehlerfreien Code zu schreiben, welcher mit Hilfe der Compiler sogleich sogar häufig ohne großen Mehraufwand leicht parallelisiert werden kann. Diese Diskussionsrunde sollte einige Einblicke in die heute üblichen funktionalen Programmiersprachen verschaffen sowie auch die aktuellen Entwicklungen nicht außen vor lassen.

Besonders behandelt wurde:

  • Common Lisp
  • Haskell
  • Die ML-Familie (F#, OCaml) und insbesondere SML
  • Scheme

Moderation: nomeata, hannes & cupe (Entropia)

Material