Der fehlende Tribut
Monday, June 20th, 2005Jetzt, wo ich ein Weblog habe, auf dem ich ja jede Menge Unsinn schreiben könnte, fällt mir nichts gescheit unsinniges ein. Deshalb denke ich, dass ein Tribut an Haskell [1] [2] fällig ist!
Haskell erlaubt funktionales Programmieren mit minmalem Klammeraufwand. Wie in vielen funktionalen Sprachen ist z.B. ein rekursiver Algorithmus wie Quicksort ein Zweizeiler (hier drei Zeilen, wegen den begrenzten Platz) :
qsort [] = []
qsort (x:xs) = qsort [y | y <- xs, y < x] ++ [x] ++
qsort [y | y <- xs, y >= x]
Leider hat der gute Quicksort auf diese Weise implementiert einen quadratischen Aufwand - eine besser Implementierung ist aber auch möglich - wenn auch nicht ganz so elegant.
Eine andere, sehr nette Eigenschaft von Haskell ist das sog. ,,Pattern Matching”. So kann man Sonderfälle (wie die leere liste []) einfach getrennt von allen anderen Fällen abhandeln (also eine nichtleere Liste).
Ich denke, ich werde in dieser Kategorie in Zukunft mal ausgewählte Programm-Stücke bereitstellen, die ich im Laufe dieses Semesters schreiben musste.
Und das allerbeste ist: Ich habe noch keine Kommentarfunktion, in der mich von Haskell genervte Informatikstudierende gnadenlos in den Boden flamen könnten!