XtraNine hat geschrieben:Aber ich weiß nicht was ich da nehmen sollte, weil es auf diesen Gebiet einfach zu viele Sprachen gibt.
Okay, zuerst einmal das übliche Mantra der meisten Informatikstundenten: "Uhh, Sprache X ist ja grauenhaft". Für Sprache X darfst du nun quasi jede nicht-Mainstream-Sprache einsetzen

- Was ich damit sagen will: funktionale Programmierung ist anfangs sehr ungewohnt, und die Wege etwas zu lösen scheinen sehr seltsam. Das ist recht unabhängig von der verwendenten Programmiersprache (wie du im Thread
reduce_str gesehen hast, sind die rekursiven Lösungen von BlackJck und von mir beide etwas ungewohnt - und ich habe dafür vergleichsweise lange gebraucht).
Ansonsten habe ich eine kleine Liste von funktionalen Programmiersprachen die du dir mal ansehen könntest:
O'Caml, dessen Compiler unglaublich schnellen Code produziert, unter allen möglichen Betriebssystemen läuft und das sowohl funktional als auch zum Beispiel objektorientiert verdendet werden kann. Es gibt auch einige Bücher dazu, zum Beispiel ein etwas älteres von O'Reilly.
Haskell, eine rein funktionale Sprache von der Python vieles gelernt hat, zum Beispiel ist dort die LC-Syntax entliehen. Sie ist schön standarisiert (Haskell'98) und hat mehrere hochqualitative Compiler/Interpreter, ist aber auch sehr aktiv in Entwicklung. Die Lernkurve ist jedoch vergleichsweise steil.
Lisp, ein Oberbegriff für viele Dialekte, von denen die interessantesten Common Lisp und Scheme sind. CL ist das Ultra-Schwergewicht unter den Programmiersprachen, hat viele brauchbare Implementationen und dessen Killer-App ist das CAS Maxima. Scheme ist ein leichgewichtiger Dialekt von Lisp, der einfacher zu lernen ist. An Lisp ist es schön, dass man dort auf Dinge trifft die in Python identisch sind - weil Python auch von Lisp gelernt hat. Beide Sprachen haben mehr oder weniger umfassende Dokumentation, man darf sie natürlich nicht mit der Dokumentation von Python oder gar Java vergleichen.
XtraNine hat geschrieben:Die Funktionale Programmierung interessiert mich weil ich mit dem Paradigma bisher nichts zu tun hatte und es auch noch nicht richtig verstehe. Ich denke es würde mir weiter helfen wenn ich nebenbei mit so einer Sprache ein wenig Spiele, um dann zu verstehen wie das ganze richtig funktioniert, damit ich so was auch in Python benutzen kann

Stimmt - die Idee ist natürlich sehr gut, denn aus der funktionalen Programmierung kann man sich tatsächlich einige Konzepte ausleihen und sie in Python verwenden. Das haben sich auch schon andere wie die PSF gedacht und das Modul
functools hinzugefügt, ebenso wie
Google mit Goog-Goopy.
XtraNine hat geschrieben:am besten wäre es sicherlich wenn es eine Logisch und Funktionale Sprache gibt, dies sich mit Python verbinden lässt

Der erste Prolog-Interpreter wurde tatsächlich in Lisp implementiert. Und du kannst Scheme vermutlich über seltsame Wege auch mit Python verbinden, wie zum beispeil ein .NET Assembly mit Bigloo erstellen und es dann mit Python.Net oder IronPython verwenden.
So, und nun ist es spät, ich überlasse damit das Wort an Leute die mehr Erfahrung mit funktionalen Programmiersprachen haben als ich.