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.