Zählen Programmiersprachen eigentlich als Sprache?

Wir werden diese Frage von beiden Seiten betrachten, denn es gibt in der Tat keine einfachen Antworten.
Zwei Programmierer zum Thema „Was sind Programmiersprachen"

Die wichtigste Frage gleich zu Beginn: Was sind Pogrammiersprachen eigentlich? All unseren Technologien liegt eine Reihe von Buchstaben und Symbolen zugrunde, die diese überhaupt zum Laufen bringen. Ob du nun professionell programmierst oder einfach nur mal einen Kurs in HTML gemacht hast – dir ist wohl bewusst, dass sich unter einer glatten Benutzeroberfläche eine große Bandbreite an Programmiersprachen versteckt. Diese Sprachen sind das Werkzeug zur Erstellung der digitalen Welt, doch ihr Name wirft eine interessante Frage auf: Zählen Programmiersprachen eigentlich als Sprache?

Auf den ersten Blick mag diese Frage etwas belanglos erscheinen, doch ist die Antwort nicht so offensichtlich, wie es scheint. Da der Charakter einer „Sprache“ nur schwer zu fassen ist und sich die künstliche Intelligenz kontinuierlich weiterentwickelt, ist es sehr schwer zu bestimmen, was menschliche Kommunikation ist und sein kann. Die Argumente, ob Programmiersprachen tatsächlich Sprachen sind oder eben nicht, öffnen faszinierende Einblicke in unsere digitale Welt.

Was dagegen spricht, dass Programmiersprachen zu den Sprachen zählen

Beleuchten wir zuerst einmal die Gegenargumente, da diese einfacher nachzuvollziehen sind. Ganz realistisch betrachtet sehen Programmiersprachen bereits ganz anders aus als tatsächliche Sprachen. Wir zählen die Hauptpunkte auf, in denen sich Programmiersprachen von dem, was wir normalerweise unter Sprache verstehen, unterscheiden. Es handelt sich dabei nicht um eine umfassende Liste, doch zeigt sie einige der wichtigsten Punkte auf.

Sie existieren nur in schriftlicher Form

Natürlich muss eine Sprache nicht unbedingt gesprochen werden, um als Sprache zu zählen – so gibt es zum Beispiel Gebärdensprachen – doch es ist ziemlich ungewöhnlich für eine Sprache, dass sie nur in schriftlicher Form existiert. Ein weiteres Beispiel für eine Sprache, die nicht gesprochen und auch nicht gebärdet wird, ist Blissymbolics, eine Sprache, die aus Symbolen besteht, die so einfach wie möglich sein sollen. Dieser Punkt allein disqualifiziert die Programmiersprachen also noch nicht, aber man sollte ihn im Hinterkopf behalten.

Sie haben sich nicht auf natürliche Weise entwickelt

Wenn Programmiersprachen zu den Sprachen zählen, dann zu den konstruierten Sprachen. Da sie keine natürliche Art darstellen, wie Menschen miteinander sprechen, wurden konstruierte Sprachen oder Kunstsprachen von einem Menschen oder eine Gruppe von Menschen entwickelt, die Grammatik und Vokabular erstellten. Wenn eine konstruierte Sprache über die Zeit hinweg von einer Gemeinschaft aufgegriffen und genutzt wird, wird sie sich auch weiterentwickeln, da die einzige Konstante bei einer Sprache ihre stetige Veränderung ist. Esperanto zum Beispiel ist eine konstruierte Sprache mit sehr vielen Einschränkungen – diese Sprache soll ganz einfach sein und ihre Sprechenden bemühen sich, diese Einfachheit zu erhalten – doch sogar Esperanto hat sich seit seiner Schöpfung im 19. Jahrhundert weiterentwickelt

Programmiersprachen hingegen sind in dieser Hinsicht nicht flexibel. Ja, sie können verändert werden, doch dies muss durch die Schöpfer:innen bewusst und aktiv umgesetzt werden. Die meisten Sprachen verändern sich, weil die Menschen ein neues Wort erfinden oder etwas, das als Fehler angesehen wird, durch eine breite Masse akzeptiert wird – zum Beispiel, indem zwei verschieden geschriebene Wörter gleich ausgesprochen werden – doch ein Fehler oder ein undefinierter neuer Ausdruck in einer Programmiersprache würde nur zu einer Fehlermeldung oder gar zu Chaos führen. Keine andere Sprache ist derart durch ihr beschränktes Regelwerk an Grammatik und Vokabular limitiert.

Programmiersprachen dienen nicht zur zwischenmenschlichen Kommunikation

Ist Sprache denn ein rein menschliches Phänomen? Darüber scheiden sich die Geister. Es wird immer noch erforscht, wie Delfine, Vögel und andere intelligente Wesen miteinander kommunizieren. Wenn wir „Sprachen“ auf die Art begrenzen, wie Menschen miteinander kommunizieren, gehören Programmiersprachen jedoch definitiv nicht in diese Kategorie. 

Man könnte natürlich argumentieren, dass Programmiersprachen die Kommunikation in gewisser Weise erleichtern. Ein Programmierer kann einer anderen Person Code senden und diese andere Person könnte diesen vielleicht lesen und sogar verstehen, was das Programm damit macht. Das ist dann zwar keine nahtlose Kommunikation, und davon abgesehen machen Programmierende den Code normalerweise leichter verständlich, indem sie Kommentare in normaler Sprache hinzufügen, die beschreibt, was der Code leistet.

Außerdem sollte man noch erwähnen, dass Programmiersprachen nicht in andere Sprachen übersetzt werden können. Während man einen spanischen Text ohne größere Probleme in einen englischen Text übersetzen kann, wäre es schwierig, ihn in CSS oder Java zu konvertieren. Kann man zum Beispiel „Ich liebe dich“ in einer Programmiersprache sagen? Dies alles gibt uns also das Gefühl, dass Programmiersprachen wirklich etwas ganz anderes als unsere Sprachen sind.

Was dafür spricht, dass Programmiersprachen zu Sprachen zählen

Bei den Argumenten, dass Programmiersprachen als Sprache zählen, muss man die Definition von „Sprache“ etwas erweitern. Unter dieser Voraussetzung ist „Sprache“ dann nämlich absolut kein stabiles Konzept, und die Linguistik entdeckt stets neue Arten, wie Sprachen eigentlich funktionieren. Also sehen wir uns einige Punkte an, was Programmiersprachen mit anderen Sprachen gemeinsam haben.

Es handelt sich um Symbole, die eine Bedeutung erschaffen

Fangen wir ganz klein an. Wenn Sprache nur aus Lauten, Zeichen oder Symbolen besteht, mit denen Informationen übermittelt werden, dann erfüllen Programmiersprachen diese Definition. Dieser Aspekt führt ganz leicht in eine sinnlose semantische Debatte – wir entscheiden uns einfach für die Definition von Sprache, die am besten zu unserer Argumentation passt – doch wir müssen auch feststellen, dass sowohl Sprachen als auch Programmiersprachen dies in ihrem Kern gemeinsam haben.

Sie können unendlich Neues hervorbringen

Jede menschliche Sprache hat begrenztes Vokabular, doch eine unbegrenzte Anzahl an Arten, dieses Vokabular miteinander zu kombinieren, um Gedanken und Ideen auszudrücken. Und das ist das eigentlich Erstaunliche an Sprachen: jedes Kind kann lernen, eine theoretisch unendliche Anzahl an Sätzen aus einer endlichen Menge an Informationen zu bilden. Der Linguist Noam Chomsky vertrat die Idee, dass Sprache, die unenglich Neues hervorbringen kann, das Herzstück dessen ist, was Sprache definiert. Diese Theorie bildet die Grundlage für das heutige Verständnis von Sprache in der Linguistik.

Programmiersprachen sind ebenfalls potenziell unendlich. Eine Person kann ihre Regeln lernen und sie endlos wiederholen. Die Programmiersprache Python zum Beispiel wurde generiert, um Instagram, Google und Netflix zu erschaffen, um nur einige Beispiele zu nennen. Während jede Programmiersprache ihre Begrenzungen hat – zugegebenermaßen wie auch alle anderen Sprachen – kann sie jedoch eine endlose Anzahl an Vorgängen erledigen. 

Sie werden zur Kommunikation genutzt, eben nur nicht zur Kommunikation zwischen Menschen

Menschen nutzen Sprache, um ihre Gedanken mitzuteilen. Doch während Menschen ihre Gedanken mithilfe der Sprache ordnen, sind Gedanken und Sprache nicht dasselbe. Die Sprache ist das unperfekte Medium, durch das wir alle uns ausdrücken, doch es gibt keine Art, zu zeigen, was die Synapsen in unserem Gehirn eigentlich machen.

Wenn die Arbeitsweise eines Computers technisch also der Arbeitsweise eines menschlichen Gehirns entspricht, dann haben Programmiersprachen sogar noch eher den Anspruch, als Sprache zu gelten, als unsere menschlichen Sprachen. Das ist jedoch ein großes „Wenn“. Computer werden schon seit ihrer Erfindung mit dem menschlichen Gehirn verglichen. Der Mathematiker Alan Turing war bekannt für seine Überlegung, was es für einen Computer bedeuten würde, wenn er tatsächlich „denken“ würde. In dem Maße, wie die künstliche Intelligenz immer besser wird, wird die Abgrenzung zwischen einem denkenden Menschen und einer denkenden Maschine immer verschwommener.

Sogar wenn Computer nicht über dasselbe Niveau an Komplexität wie das menschliche Gehirn verfügen, kann man ganz klar sehen, wie Programmiersprachen auf eine Mensch-zu-Computer-Weise funktionieren, die dem ähneln, wie andere Sprachen auf eine Mensch-zu-Mensch-Weise funktionieren. Programmiersprachen sind die Vermittlung zwischen einem menschlichen Gehirn und dem Binärsystem der Einsen und Nullen eines Computers. Menschen haben keinen wirklichen Einblick, wie ein Supercomputer arbeitet, und Computer können unsere Gedanken auch nicht besser lesen als andere Menschen es tun. Programmiersprachen sind also eine Kommunikationsart, auch wenn Computer keine wirklich redegewandten und interessanten Gesprächspartner:innen sind.

👉 Automatisierte Vorurteile: Wenn Maschinen Geschlechterstereotype lernen

Wer gewinnt also …?

Das Argument „dafür“ oder „dagegen“ gewinnt, je nachdem, welche Definition für „Sprache“ man zugrunde legt. Wenn man festsetzt, dass Sprachen von Menschen gesprochen werden müssen und sich an andere Menschen richtet, dann kommt man mit Argumenten kaum hiergegen an. Es gibt ganz klare Unterschiede zwischen Programmiersprachen und anderen Sprachen, und die Frage ist eher, wieviel Abweichung man dem zugestehen möchte. Ist Mathematik eine Sprache? Wie steht‘s mit Tanzen? Durch diese schwammigen Definitionen ist es fast unmöglich, eine Antwort auf die in diesem Artikel gestellte Frage zu finden, die alle zufriedenstellt.

Vielleicht sollten wir also besser darüber nachdenken, was eine Programmiersprache benötigen würde, um als Sprache zu gelten. Verschmilzt man die beiden Konzepte, kann dies zu seltsamen Ergebnissen führen, wie zum Beispiel eine Studie aus Großbritannien im Jahr 2015 belegt, bei der sechs von zehn Elternpaaren es vorzögen, wenn ihre Kinder Python statt Französisch lernten. Obwohl es uns als wenig durchdachte Voraussetzung erscheint, eine „Entweder-Oder“-Option anzubieten, wurden in ihr dennoch „Weltsprachen“ und „Programmiersprachen“ als Alternativen angeboten, einfach aufgrund der Ähnlichkeit dieser Worte. Und dennoch kann man sich ganz leicht ausmalen, welch unterschiedliche Ergebnisse Schüler erzielen, die Python oder Französisch lernen. Es ist vielleicht einfach keine gute Idee, die beiden auf dieselbe Stufe zu stellen.

Vielleicht werden die faszinierendsten Auswirkungen der Debatte zwischen Programmiersprachen vs. anderen Sprachen erst in der Zukunft offensichtlich werden. Bereits jetzt interagieren die meisten Fachunkundigen mit Computern schon in anderen Sprachen, die nicht Programmiersprachen sind. Wir sprechen mit unseren Sprachassistenten und durchsuchen das Internet anhand von menschlicher Sprache, die durch Programmiersprachen in Computersprache übersetzt werden. Sobald es Forschenden gelingt, eine künstliche Intelligenz zu erzeugen, die wirklich menschliche Sprache versteht, werden die Grenzen zwischen diesen verschiedenen Kommunikationsarten wohl vollständig verschwimmen. 

Beginne deine Sprachlernreise.
Lerne jetzt mit Babbel
Teilen: