And the winner is...

Published: Wed 22 September 2010
By ali In Ruby.

.. ich kann mich nicht so richtig entscheiden. Nach wochenlangem Ausprobieren mit Python und Ruby stecke ich irgendwie in einer Sackgasse.
Python gefällt mir wegen seiner Einfachheit. Es gibt z.B. genau DIESE Formen von Iteration, mit denen man genau JENES anstellen kann. An die Syntax, die ich am Anfang noch ziemlich gewöhnungsbedürftig fand habe ich mich schnell angepasst und es ist spannend zu sehen was sich mit ziemlich einfachen Mitteln alles anstellen läßt.
Ruby gefällt mir in Sachen Lesbarkeit des Codes noch ein bißchen besser, die Syntax/Schlüsselworte/Operatoren kann ich mir irgendwie besser merken (z.B. << für "Anfügen an Array"), und das Vererbungsmodell läuft mir wegen meiner Javakenntnisse besser rein. Ich Schwanke aber immer wieder wegen diverser Sachen, die mir den Spaß ein wenig verderben: Bei Python die Sache mit den nicht wirklich privaten Membern und Mehrfachvererbung (die wohl in der Praxis eher weniger angewendet wird), außerdem wirds bei komplexen Klassendefinitionen ein wenig schwer zu lesen. Bei Ruby werde ich mit neuen Konzepten und Features geradezu "erschlagen". Wenn Ruby meine erste Programmiersprache gewesen wäre hätte ich vielleicht nicht solche Probleme mit Blöcken, Procs usw. Kaum glaube ich ein neues Konzept oder eine neue Killermethode richtig verstanden zu haben, stoße ich auf eine andere Methode oder Möglichkeit alles noch kompakter zu bewerkstelligen. (vgl. The evolution of a Ruby programmer).
Es kommt offenbar häufig vor, daß selbst gestandene Railsprogrammier Funktionalität selbst hinzufügen, weil sie nicht wissen daß eine entsprechende Methode schon implementiert ist. Die Grundzüge der Sprache sind schnell gelernt, danach kommt aber sofort ein riesiges Feld an Konzepten und Möglichkeiten, und wenn man schon ein bißchen Programmiererfahrung hat landet man direkt vor diesem Riesenberg und weiß nicht wo einem der Kopf steht.
Andere Kriterien sind auch: Python ist hierzulande einfach weiter verbreitet. In den meisten Stellenanzeigen steht meistens so etwas wie: "Kenntnisse über mindestens eine Scriptsprache, vorzugsweise Python." Ruby hat wohl noch ein wenig den Ruf des esoterischen Sonderlings.
Mit Ruby herumzuspielen macht mir trotzdem einfach Riesenspaß, aber bis ich wirklich gut damit umgehen kann wird es wohl eine ganze Weile dauern. Von guten Pythonkenntnissen kann ich vielleicht besser profitieren, auf welche Art auch immer.
Jetzt ist guter Rat teuer. Vielleicht brauche ich auch mehr Input mit jeweils einem richtig großen Projekt und Zeitdruck. Bis dahin will ich wenigstens eine der Sprachen viel besser können, und so werde ich wohl mit Python vorlieb nehmen.
Interessant wird es auch werden wenn ich wieder auf Java "umschalten" muß. Ich sehe mich jetzt schon haufenweise Semikola vergessen...

links