Langlebigkeit von Programmiersprachen: Warum Fortran, C und Co. noch immer im Einsatz sind

Zwei US-amerikanische Wissenschaftler haben untersucht, was den Erfolg von Programmiersprachen ausmacht und warum Entwickler sich oft für immer die gleichen entschieden.

 –  320 Kommentare

Ari Rabkin und Leo Meyerovich, zwei Wissenschaftler der Universitäten von Priceton und Berkeley, haben die Verbreitung und Akzeptanz von Programmiersprachen untersucht. Es ging hier um Fragen, warum manche Sprachen erfolgreicher als andere sind und warum sich Entwickler für eine bestimmte entscheiden. Für ihre Arbeit "Empirical Analysis of Programming Language Adoption" hatten die beiden Forscher 200.000 Sourceforge- und knapp 600.000 bei Ohloh gelistete Projekte analysiert und mehr als 13.000 Programmierer befragt.

Die Antwort von Rabkin und Meyerovich erscheint erst einmal logisch: Programmierer greifen zur Sprache, bei der sie sich am besten auskennen, mit der sie gute Erfahrungen gemacht haben und die sie deswegen schon immer verwendet haben. Und kommt es zum Wechsel vom Favoriten weg, liegt das anscheinend nicht an der Syntax oder den Semantiken der anderen Sprache, sondern allein daran, dass diese explizit für die gewünschte Domäne vorgesehen ist.

Der konservative Umgang mit Programmiersprachen würde also als ein Grund für die große Verbreitung einiger Dinosaurier unter den Programmiersprachen herhalten können, die schon einige Jahre auf dem Buckel haben. C ist bereits über 40 Jahre alt, C++ entstand ab 1979, ganz zu schweigen von Fortran, das 1957 sein Debüt gab. Die "jüngeren" PHP, Ruby, JavaScript und Java gibt es seit fast zwanzig Jahren, Python ist mittlerweile 23.

Das mag außerdem als Begründung dafür dienen, dass viele, zweifelsohne gute Sprachen wie Scala, Clojure, Go oder auch TypeScript, die größtenteils als Herausforderer der arrivierten Vertreter ins Rennen geschickt werden, womöglich lange ausharren müssen, bis sich erkennbarer Erfolg einstellt. Hat sich aber eine Sprache dann durchgesetzt, ist ihre Zukunft auf lange Zeit gesichert.

Für den Erfolg von C, C++, Java und anderen spreche auch, dass sie stetig weiterentwickelt wurden. So hat das heutige C nicht mehr allzu viel mit dem zu tun, was vor über vierzig Jahren seine Premiere hatte. Neue Features sind hinzugekommen, weniger sind aufgrund gewünschter Rückwärtskompatibilität entfernt worden, Fehler wurden beseitigt. Die beiden Wissenschaftler sind der Meinung, dass jede noch in Legacy-Anwendungen eingesetzte Programmiersprachen auch weiterhin bestehen werde, da eine Anwendung neu zu schreiben zumeist kostspielig sei, zumal die Neuentwicklung ja gar nicht notwendig sei, wenn alles mit der Altsoftware funktioniere.

Keine Unterschiede scheint es darin zu geben, ob die Entwickler etwa 45 oder zum Beispiel 25 Jahre alt seien. Überrascht waren die Wissenschaftler davon, dass die älteren nicht mehr Programmiersprachen kennen würden als die jüngeren. Auch war es wohl nicht so, dass die Jungprogrammierer ganz andere Sprachen präferierten, vielmehr setzten sie im Schnitt ebenso wie die berufserfahrenen Entwickler auf die gleichen alten Programmiersprachen. Das liegt offenbar an populären Sprachfeatures, vor allem aber an einem hilfsbereiten Ökosystem rund um eine Sprache.

Bei der Untersuchung der intrinsischen Aspekte einer Sprache kommen Rabkin und Meyerovich zu dem Ergebnis, dass das Gros der Entwickler der Ausdrucksstärke einer Sprache den Vorzug vor ihrer Korrektheit gebe. Das spreche für die derzeitige Popularität dynamischer Programmiersprachen gegenüber statisch typisierten, bei denen mehr die Korrektheit einer Sprache im Vordergrund stehe.

Siehe dazu auf heise Developer:

(ane)