Moderne Programmiersprachen und deren Vordenker

Es gibt den „Tiobe Index“ der versucht, die Popularität von Programmiersprachen zu ermitteln. Dafür werden international allgemeine und spezielle Foren nach Diskussionen über eine bestimmte Programmiersprache aufaddiert und gewertet.

Vereinfacht gesagt gilt folgende Tiobe-Formel: „Diskussionen über eine Programmiersprache“ gewichtet gegen „Popularität des Forums wo die Diskussion stattfindet“.

Real gilt aber: „Manager treiben eine Programmiersprache als neue Sau durchs Dorf und je mehr Programmierer die Idee des Managements durchsetzen müssen umso mehr Fragen laufen in den Foren auf und um so höher steht sie im Tiobe Index“. Daran sind nicht mal nur die Manager schuld sondern „junge, dynamische“ Entwickler die es irgendwie schaffen ihre Vorgesetzten davon zu überzeugen dass man in den Sprachen „Schlonz“ oder „Quack“ viel fehlerfreier entwickeln kann als in „Normalo“ oder „Gewöhnlich“.

Und diese jungdynamischen Entwickler haben einen festen Glauben daran, dass kurzer Code weniger Fehler bringt.

Im Prinzip ist das erstmal korrekt: wenn ich komplexe Aufgaben mit einem einzigen Befehl an die Runtime (eine Ansammlung von Routinen die das machen, was vorne der Programmierer sagt) übermitteln kann und die Runtime das fehlerfrei macht, dann habe ich mit einer einzigen Zeile im Programm ein Problem abgehandelt was sonst viele Zeilen Code benötigt.

"^\(*\d{3}\)*( |-)*\d{3}( |-)*\d{4}$" ist ein Regulärer Ausdruck welche eine Telefonnummer validiert. Blöderweise geht die nur für US Telefonnummern und als ich mal einen Experten für Reguläre Ausdrücke gefragt habe um das auf DE-Nummern umzusetzen hat er mir einfach eine Lösung gepostet die seit Jahren durchs Netz geistert und vollständig verkehrt ist.

Ich habe keine Ahnung, wieviel Erfahrung der Autor von diesem Satz hat: „All developers should learn to use basic regular expressions, because they’ll produce better, more flexible, more maintainable code with them.„.

Die Wahrheit aus meiner Praxis ist: ein Entwickler, der Regular Expressions benutzt, kann sich schon 6 Monate nach Ablieferung seines Codes nicht mehr erinnern was die Regex dort eigentlich macht und wenn – dann ist die Dokumentation umfangreicher als eine konventionelle Programmierung.

Der letzte Satz wird dann gerne wie folgt beantwortet: „Aber es ist effizienter als das Ganze in einer Schleife in Stücken zu verarbeiten“. In der Praxis ist diese Aussage völliger Bullshit, aber das erkläre mal einem jungen RegEx-Jünger der seine erste wirre Zeichenkombination unfallfrei schon beim Testlauf durchbekommen hat.

Aber zurück zu den Programmiersprachen selbst. Ich hatte dieser Tage eine recht interessanten E-Mail Austausch mit einem jungen Kollegen der schon seit Jahren an einer neuen Programmiersprache arbeitet. Er hat mir Details unter meinem Versprechen genannt dass ich nichts ausplaudere.

Gut – da gibt es nichts auszuplaudern weil sein Entwurf so ein typischer „Nerd“-Entwurf eines Vollspacken ist, der den ganzen Tag relativ harmlose Wegwerfsoftware entwicklelt und sich dafür in eine selbstgebaute Zwangsjacke stecken möchte damit er auf dem Wenigen was er macht nicht fehlschlägt.

Das irrste Statement (was ich jetzt mal über paar EMails zusammengefasst habe) war „Ich habe es nicht so mit Benutzeroberflächen und deshalb gibt es keine Strings (Textvariablen) – das kann man ja wie in C über ein int-Array abwickeln.

Wie in der Programmiersprache „C“ mit Texten umgegangen wird fällt unter die Kategorie „Gruselig“, aber da „C“ eine recht essentielle Programmiersprache ist haben sich zu diesem Thema etliche Tools etabliert um das Leiden zu lindern.

Und so sind dann fast alle neuen Programmiersprachen: Sie versuchen Probleme im Bereich Objektorientiertheit zu lösen die meisstens nicht existieren, bieten Lösungen für Probleme die eigentlich nicht existieren und sind in der Verarbeitung von Texten eher gruselig.

Meine Lieblingssprache wäre eine, wo man den Variablen wie in COBOL Wertebereich und Formatierung mitgeben kann und wenig syntaktischen Zucker damit der Umstieg von etablierten Sprachen leichter fällt.

Dieser Beitrag wurde unter Ausgewähltes veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*