Freitag, 18. Januar 2008

[OOP 2008] Languages are a Programmer's Best Friends

Wer das berühmte Buch der Pragmatic Programmers kennt, dürfte sich an die Empfehlung erinnern, der Informatiker solle sich jedes Jahr eine neue Programmiersprache aneignen - wer das Buch übrigens nicht kennt, sollte es sich unbedingt anschaffen.

An diese Empfehlung habe ich mich gehalten und in den letzten Jahren Ruby, D, ein wenig Groovy sowie Lisp gelernt und mich neuerdings mit Scala beschäftigt. Nicht, dass ich jetzt täglich Projekte in unterschiedlichen Programmiersprachen anstreben würde. Jede dieser Sprachen integriert innovative Konzepte, die zu einer neuen Sicht auf die Dinge verhelfen und nicht zuletzt zu einer intellektuellen Herausforderung. Allerdings muss ich gestehen, dass ich ursprünglich vom Sprachdesign und Compilerbau komme, und dadurch zum Sprachen-Junkie mutiert bin.

Was aber könnte ich mir für 2008 vornehmen? Ein heisser Kandidat könnte Erlang sein, eine Sprache, die sich speziell für verteilte und parallele Systeme eignet. Kein Wunder, stammt Erlang doch aus den Federn vom Telekommunikationserfahrenen Joe Armstrong. Von Klaus Rohe wurde mir F# ans Herz gelegt, eine funktionale Sprache für .NET.

Gibt es noch weitere Kandidaten? Was bringt interessante Konzepte mit und was könnte in Zukunft etablierten Sprachen das Fürchten lernen? Vielleicht bekomme ich hier ja ein paar gute Tipps.

1 Kommentar:

Unknown hat gesagt…

Vielleicht sind die Sprachen 'whitespace' oder 'goo' interessant. Die haben ne ziemlich 'flexible' syntax, sicher auch geeignet für internal DSLs ;-)

Im ernst F# sieht sehr interessant aus. C# 3.0 hat ein paar gute Sachen drin, aber da hast Du schonmal nen Artikel zu geschrieben, wenn ich mich recht erinnere.
Schon mal Haskell probiert?
Ich denke das wichtigste beim Sprachenlernen ist, dass man sie wirklich mal einsetzt, was zugegebenermassen schwierig weil Zeitintensiv ist. Aber nur dann kann ich wirklich einschätzen wie relevant Konzept X in der Praxis ist.
Ansonsten also einfach noch ein Jahr Scala ranhängen, das scheint mir ein sehr guter Kompromiss zwischen "geringer" Komplexität und Ausdruckstärke zu sein.

Grüsse!