Open Source im professionellen Einsatz

© gator, Fotolia.com

Zu viele Programmiersprachen führen zu Sprachverwirrung

Kein Verständnis

Wenn es bereits mehrere Exemplare einer Programmgattung gibt, greifen Entwickler gerne zu der Phrase "Yet another ...". Gerade Sprachdesigner scheinen von diesem Phänomen betroffen. Programmierer stehen damit zwischen passgenauer Ausdrucksmöglichkeit und babylonischer Sprachverwirrung.

Das Chaos, das im Gleichnis der Sprachverwirrung beim Turmbau zu Babel herrschte, können viele nachvollziehen. Auch wenn die sprachliche Form des Ausdrucks von Zeit zu Zeit an ihre Grenzen stößt, ist Sprache laut Wilhelm von Humboldt das Medium des Denkens und der Weltauffassung schlechthin. Ideen und Gedanken, die über eine minimale Schöpfungshöhe hinausgehen, lassen sich ohne Sprache weder austauschen noch umsetzen.

Dabei hat eine Sprache zwei fundamentale Anforderungen zu erfüllen: Erstens muss sie die Konzepte, mit denen sich ihre Anwender beschäftigen, auch ausdrücken können. Wer einmal versucht hat, Listenstrukturen mit Basic zu verarbeiten oder hocheffiziente Videocodecs mit Smalltalk, versteht diesen Anspruch. Zweitens sollte es mindestens einen anderen Sprecher der Sprache geben.

Der schweizerische Schriftsteller Peter Bichsel beschreibt in seiner Kurzgeschichte "Ein Tisch ist ein Tisch" einen einsamen Mann, der schrittweise eine neue Sprache erfindet. Es erzeugt eine Gänsehaut, wenn der Leser plötzlich die beklemmende Situation erkennt, dass niemand mehr den Protagonisten versteht [1]. Das Erfinden von neuen Sprachen ist übrigens keine reine Fiktion, unter dem Begriff Conlanging gibt es im Internet eine lebendige Gemeinde von Hobby-Linguisten [2].

Niemand versteht mich

Bis zur totalen Isolation kommt es zum Glück bei modernen Programmiersprachen nur selten. Trotzdem stellt sich manchem Programmierer die Frage, wie viele Sprachen noch nötig sind, gerade wenn sie sich nur in Kleinigkeiten voneinander unterscheiden. Die meisten Österreicher, Deutschen und ein guter Teil der Schweizer beherrschen Deutsch. Jedoch sollen schon Hannoveraner in München gescheitert sein, ein Brötchen zu kaufen, oder ein Berlinerin belächelt, die in Kaiserslautern "auf Arbeit" will.

Perl und Python verfolgen recht unterschiedliche syntaktische und konzeptionelle Ansätze, so viel ist klar. Wo ordnet sich hier aber Ruby ein? Ist PHP nicht fast auch eine Art Perl mit ein paar Eigenheiten, Vereinfachungen und einem Satz nützlicher Funktionen fürs Web? Natürlich gibt es Unterschiede zwischen Pascal, Modula 2 und Oberon, aber die hätte ihr Entwickler vielleicht auch in Updates oder Erweiterungen der Sprache ausdrücken können. Die Liste der Java-Derivate ist ebenfalls lang: Scala, Clojure oder Googles Neuling Go wollen offenbar alle von Javas Popularität zehren, von dessen Rivalität zu C# und C++ einmal ganz zu schweigen.

Da bleibt es für Programmierer oft eine Herausforderung, auf dem Laufenden zu bleiben, oder wie es Antoine de Saint-Exupéry im "Kleinen Prinzen" ausdrückt: "Die Sprache ist die Quelle aller Missverständnisse." Das bedeutet nicht notwendigerweise, Ausdrucksmöglichkeiten wie Latein oder C auf ewig in Stein zu meißeln.

Sprache behutsam anpassen

C++ etwa wartet auf Aktualisierung, erläutert der Artikel auf Seite 116. Über den Erfolg von Sprachen entscheidet weder die Kompromisslosigkeit des Prinzips noch der Nimbus des Neuen, sondern die Akzeptanz derer, die sie sprechen.

Infos

[1] Beter Bichsel, "Ein Tisch ist ein Tisch", in "Kindergeschichten", 1969: [http://www.yolanthe.de/stories/bichsel01.htm]

[2] Sai Emrys, "Conlanging 101", 26c3:[http://events.ccc.de/congress/2009/Fahrplan/events/3520.en.html]

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook