Ich habe bereits einige Sprachen gelernt (in einer groben Reihenfolge der Kenntnisse): Python, C, C++, PHP, Javascript, Haskell, Java, MIPS, x86-Assembler. Aber es ist schon fast 2 Jahre her, dass ich eine neue Sprache gelernt habe, und langsam juckt es mich in den Fingern. Ich habe ein paar Kriterien:
- Muss (ich wiederhole: muss) eine freie Linux-Implementierung haben
- Es sollte anders sein als die Sprachen, die ich bereits kenne. Mit anderen Worten, sie sollte Funktionen haben, die mich dazu bringen, Probleme auf eine neue Art und Weise zu lösen.
- Das sollte ein gewisses Potenzial für den praktischen Einsatz haben. Es muss nicht das nächste Java sein, aber das schließt Brainf* und Shakespeare aus :) Es ist mir egal, wie viele Stellenausschreibungen es hat, aber praktische Anwendungen und Bibliotheken sind ein Plus.
- Es sollte zumindest genügend kostenloses Lernmaterial vorhanden sein, damit ich damit anfangen kann.
Ich dachte an Lisp (CL? etwas anderes?) oder OCaml. Mit Haskell habe ich bereits einige Erfahrung mit funktionalen Sprachen (ja, ich weiß, dass Lisp/OCaml multiparadigmatisch ist). Ich bin kein Experte - z.B. können Teile des Codes von Real World Haskell immer noch mein Gehirn verwirren, aber ich verstehe die grundlegenden Konzepte und einige fortgeschrittene (Funktoren, Monaden).
Welche soll ich wählen? Gibt es noch andere Sprachen, die ich übersehen habe? Könnten Sie bitte auch einige nützliche Links zu guten Büchern/Tutorials usw. angeben?