PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funktionale Programmiersprachen



Metropoler
15.02.2010, 16:15
Hallo,

ich bin an funktionalen Programmiersprachen[1] interessiert. Ich würde ich freuen, wenn bereits jemand Erfahrung auf diesem Gebiet gesammelt hat und diese auch preis geben möchte.

Durch meine Unwissenheit sehe ich keinen Unterschied zwischen den verschiedenen Sprachen, deshalb könnt ihr mir Erfahrungberichte über alle zukommen lassen.

Ich habe bereits Tutorials über Haskell[2] gefunden, allerdings sind alle in Englisch. Natürlich ist dies bei so speziellen Programmiersprache Vorraussetzung, allerdings würde ich mich freuen, wenn jemand zusätzlich auch deutschsprachige Tutorials kennt.

Ich danke im Vorraus für Hilfe :)

[1]: Funktionale Programmierung – Wikipedia
[2]: http://de.wikipedia.org/wiki/Haskell_%28Programmiersprache%29

Lidloses_Auge
15.02.2010, 16:58
Ich habe mich ein wenig mit SML befasst, kann dir aber auch keine Unterschiede zu den anderen Sprachen nennen, ich vermute aber, dass alles recht ähnlich abläuft.

Wozu diese geeignet sind, hast du sicher schon in Erfahrung gebracht. Gerade bei algorithmischen Programmen eignen sich funktionale Sprachen natürlich super, weil du sehr einfach rekursive Strukturen darstellen lassen kannst.

Zum Beispiel die Fakultät am Beispiel von SML:



fun fak(1) = 1
| fak(n) = n*fak(n-1);

> val fak = fn : int -> int

fak(5);
> val it = 120 : int


Die Zeilen mit dem ">" am Anfang sind Ausgaben des Interpretierers,
der reine Code beschränkt sich also auf:



fun fak(1) = 1
| fak(n) = n*fak(n-1);


Ebenso interessant sind logische Programmiersprachen wie Prolog,
aber diese bilden natürlich wieder ein ganz andere Kategorie.

mfg

Metropoler
15.02.2010, 17:53
Ich danke dir für deinen Beitrag. Das Prinzip ist ja das genialsten an diesen Sprachen. So werden, wie du auch schon gesagt hast, rekursive Programme zum Kinderspiel. So ist ja auch der Quicksort ein Einzeiler (zumindest in Haskell):

qsort [] = []
qsort (x:xs) = qsort (filter (http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:filter) (< x) xs) ++ (http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:.) [x] ++ (http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:.) qsort (filter (http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:filter) (>= (http://haskell.org/ghc/docs/latest/html/libraries/base/Prelude.html#v:&gt;=) x) xs)

Ich möchte mich natürlich nicht mit anderen Loorberen schmücken und verweise deshalb auf die offizielle Haskell Seite die den Code anbietet:
http://haskell.org/haskellwiki/Introduction#Quicksort_in_Haskell

Ich wäre über mehr Erfahrungberichte sehr erfreut.