Haskell (Ex)Kurs
Monday 22. September 2008 | dextaSich mit einer neuen Programmiersprache zu beschäftigen heißt auch immer sich mit anderen Sprachen zu beschäftigen. Wie der treue Leser dieses Blog sicher mit bekommen hat ist bei mir Python gerade hoch im Kurs, vor allem weil ich es schon lange plane. Gekommen bin ich auf die Sprache als mich Blender mehr und mehr interessierte, danach stieß ich immer wieder auf Programme die diese Script Sprache als Erweiterung einsetzten. Schaut man dann näher auf die Möglichkeiten mit Python will man kaum noch was anders, für Liebhaber von nicht Script Sprachen mag etwas anders gelten.
Also Python ist was neues für mich und bei der Täglichen Pause auf dem Hof kommt man mit anderen Kollegen ins Gespräch über Programmiersprachen. Hier fiel dann auch die Vokabel Haskell, als eine Sprache die einem ein hohes Einkommen als Programmierer quasi zusichert, vorausgesetzt man beherrscht diese. Und da ruft sich ein Erlebnis in mein Gedächtnis, als ich eines Abends im Hamburger CCC saß und mit einem Informatiker über Programmiersprachen Philosophierte. Der Gesprächspartner war überzeugter Anhänger von Haskell, seiner Meinung nach die Sprache,beruhend auf dem reinen Lambda-Kalkül.
Also schlug ich das große Lexikon Wikipedia auf und suchte nach Haskell, fiel über den Quicksort besuchte noch mal 99-bottles-of-beer.net in Haskell.
Bei Wikipedia wird unter Haskell der Sortieralgorithmus als besonders kurz angepriesen, doch sucht man ein wenig findet man auch in Python sehr kurze Programme.
Quicksort in Haskell:
qsort :: Ord a => [a] -> [a]
qsort [] = []
qsort (x:xs) = qsort [y | y <- xs, y < x] ++ [x] ++ qsort [y | y <- xs, y >= x]
def qsort(L):
if len(L) <= 1: return L
return qsort( [ lt for lt in L[1:] if lt < L[0] ] ) + [ L[0] ] + qsort( [ ge for ge in L[1:] if ge >= L[0] ] )
In Python war ich in der Lage die Funktion so um zubauen das man sehen konnte was sie pro Schritt tut, bei Haskell ist mir das nach einigen Stunden immer noch nicht gelungen. Besser gesagt ich habe nicht mal ein Lauffähiges Programm hin bekommen in Haskell, vom “Hello World” mal abgesehen.
Darum geht es jetzt weiter mit Python, und wenn ich das mal alles verstanden habe könnte Haskell noch mal was für mich seien, Wahrscheinlich mache ich dann auch noch meinen Doktor in Mathematik mit 50.
Für alle die noch Zeit haben sich mit Haskell zu beschäftigen hier ein paar Links zum Thema:
99 bottles of beer in Haskell
Haskell.org Erste Schritte mit dem Quicksort
Wie fängt man an mit Haskell
Haskell Kurs in Deutscher Sprache
Algorithm Code ein Wiki für Standard Lösungen in mehr als einer Sprache
Verwandte Artikel
.. WordPress Syntax Highlighter Plugin . .. Python lernen aber wie anfangen . .. Python oder Bash . .. Eigendlich wollte ich dieses Jahr Python lernen . .. Warum man Softwareentwickler ist … .


[...] wie früher nur über eine XML Datei. Für Erweiterungen hat man sich für die Programmiersprache Python entschieden, über die Scripte lassen sich YouTube Videos besorgen oder Spiele [...]