You are here: Home Q&A Fragen und Antworten Was haben Programmiersprachen mit natürlichen Sprachen gemeinsam?

Fragen und Antworten

Questions and Answers English  Vragen en Antwoorden Nederlands

Gibt es etwas, das Sie schon immer über Sprache wissen wollten? Vielleicht haben wir die Antwort! Forscher vom Max Planck Institut für Psycholinguistik beantworten hier Fragen über Sprache von Menschen, die selber keine Sprachforscher sind. Falls Sie auch eine Frage über Sprache haben, schicken Sie sie uns hier! MPI Forscher schreiben regelmäβig Antworten auf die uns zugesendeten Fragen und machen diese über die hiesige webpage einsehbar. Besuchen Sie uns wieder, um durch zukünftige Fragen und Antworten mehr über Sprache zu lernen.

Was haben Programmiersprachen mit natürlichen Sprachen gemeinsam?

Manche Programmiersprachen lesen sich in der Tat fast wie einfache englische Sätze. Hier ist beispielsweise ein kleines Programm, das in der Programmiersprache Python geschrieben ist. Es durchsucht eine Liste von Namen und wirft jeden Namen aus, der auch in der Liste "invited_people" ("geladene_Gäste") vorkommt:

Python

for name in my_list:
  if name in invited_people:
    print name

 

Andere Programmiersprachen hingegen sind weit weniger lesbar. Hier ist das selbe Programm noch einmal in der Programmiersprache Scheme:

Scheme

(map (lambda (name) (if (cond ((member name invited_people) name)) (display name) name)) my_list)

Wie ähnlich oder unterschiedlich sind sich natürliche Sprachen und Programmiersprachen denn nun? Um diese Frage zu beantworten, müssen wir zunächs über einige zentrale Begriffe sprechen, mit denen Sprachwissenschaftler die Struktur natürlicher Sprachen beschreiben. Sonst laufen wir Gefahr uns an oberflächlichen Ähnlichkeiten aufzuhalten.

 Code

Strukturelle Ähnlichkeiten mit Semantik und Syntax

Zwei der wichtigsten Begriffe in der Sprachwissenschaft sind Semantik und Syntax. Einfach gesagt ist Semantik der sprachwissenschaftliche Fachbegriff für "Bedeutung". Genauer gesagt beinhaltet Semantik sämtliche Informationen, die mit einem Konzept verbunden sind. Das Konzept "schlafen" (dessen Form entweder buchstabiert <s-c-h-l-a-f-e-n> ist oder ausgesprochen [ˈʃla:fn̩]) bezeichne eine Handlung eines Lebewesens und das ist die Sematik dieses Wortes.

Die Syntax andererseits ist die Lehre davon wie Worte unterschiedlicher Art (z.B. Nomen und Verben) miteinander kombiniert werden können. Der Satz "Meine Ideen schlafen" ist ein wohlgeformer deutscher Satz aus Sicht der Syntax, aber die Semantik ist fragwürdig, weil Ideen nicht lebendig sind und daher nicht schlafen können. Semantik und Syntax folgen also beide Gesetzmäßigkeiten, denen zufolge einige Konzepte zusammenpassen und andere nicht. Der Unterschie ist, das Semantik sich auf die Bedeutung bezieht und Syntax auf die Wortart und Wortform (also unterschiedliche Flexionen des selben Begriffs wie Du suchst, das Suchen, die Durchsuchung) und wie diese Wortformen kombiniert werden können.

Jetzt wissen wir etwas über Semantik und Syntax in natürlichen Sprachen. Wie sieht es mit Programmiersprachen aus? Der Programmierer beginnt mit einer Absicht was sein Code leisten soll. Das könnte man die Semantik oder Bedeutung des Codes nennen. Die Syntax der Programmiersprache verbindet einzelne Code-Schnipsel miteinander. Was in natürlicher Sprache die Worte sind, sind in der Programmiersprache Variablen, Funktionen, Indizes, unterschiedliche Arten von Klammern, usw. Die beiden Code-Beispiele aus Python und Scheme haben also die selbe Bedeutung, aber die Syntax unterscheidet sich (so wie sich die Syntax natürlicher Sprachen wie Deutsch und Japanisch unterscheidet).

Unterschiedliche Ziele

Wir haben einige Parallelen im grundlegenden Aufbau von natürlichen Sprachen und Programmiersprachen festgestellt. Aber wie weit kommt man mit dieser Analogie wirklich? Die Form von natürlichen Sprachen ist nicht willkürlich. Sie wird bestimmt durch die anatomischen Gegebenheiten des Menschen (Zunge, Stimmbänder, etc. auf der einen Seite und Gehirn auf der anderen) und dadurch, dass sie zur Kommunikation taugen muss. Programmiersprachen andererseits sind darauf ausgelegt, die Anforderungen einer sogenannten Turing-Maschine zu erfüllen, also in der Lage zu sein, alle Berechnungen, die ein Mensch mit Block und Bleistift durchführen kann, wieder und wieder durchzuführen.

Programmiersprachen sind notwendigerweise in sich geschlossen. Natürliche Sprachen hingegen befinden sich in stetem Wandel und erlauben Überblendungen (z.B. Demokratur, Denglisch, jein, usw.). Programmiersprachen ermöglichen es, lange Listen von Daten einzulesen, zu speichern und in vielen Einzelschritten rasch zu verarbeiten, um schließlich einen Output oder ein Endergebnis zu liefern. Das Wichtige daran ist, dass dies immer auf die selbe Art und Weise geschieht. Natürliche Sprachen müssen ihren Sprechern dagegen Möglichkeiten bereit stellen, sich zu grüßen, Versprechen zu machen, aber auch manchmal vage zu bleiben oder zu lügen. Neue Begriffe und syntaktische Strukturen tauchen unentwegt auf und verschwinden wieder und auch die Bedeutungen bereits vorhandener Wörter befinden sich in einem anhaltenden Wandel. Ein Satz in einer gesprochenen Sprache kann verschiedene Bedeutungen haben. Beispielsweise kann der Satz "Ich habe den Hund mit dem eleskop gesehen" bedeuten, das ich einen Hund durch mein Teleskop gesehen habe oder dass ich einen Hund gesehen habe, der ein Teleskop besitzt. Menschen nutzen Kontext und Weltwissen, um zwischen diesen möglichen Interpretationen zu wählen. Die Grundlage natürlicher Sprachen ist also eine sich ständig wandelnde Kultur, sei es durch Vermischung bestehender Kultur(en) oder durch Schaffung neuer Kultur. Programmiersprachen sind nicht annährend so flexibel. In Prgrammiersprachen muss eine Zeile Code eine einzige Bedeutung haben, so dass der Output mit Sicherheit reproduzierbar ist.

By: Julia Udden, Harald Hammarström and Rick Janssen

Aus dem Englischen übersetzt von Tayo Takada & Sebastian Sauppe

About MPI

This is the MPI

The Max Planck Institute for Psycholinguistics is an institute of the German Max Planck Society. Our mission is to undertake basic research into the psychological,social and biological foundations of language. The goal is to understand how our minds and brains process language, how language interacts with other aspects of mind, and how we can learn languages of quite different types.

The institute is situated on the campus of the Radboud University. We participate in the Donders Institute for Brain, Cognition and Behaviour, and have particularly close ties to that institute's Centre for Cognitive Neuroimaging. We also participate in the Centre for Language Studies. A joint graduate school, the IMPRS in Language Sciences, links the Donders Institute, the CLS and the MPI.

 

Schicken Sie eine Frage an die Forscher vom MPI:

Outlined font 1,5 pt wide cirkle 3 pt.


Dieses Projekt wurde von Katrien Segaert, Katerina Kucera und Judith Holler ins Leben gerufen.

Im Moment wird dieses Projekt koordiniert von:
Katerina Kucera
Sean Roberts
Agnieszka Konopka
Gwilym Lockwood
Connie de Vos

Ehemalige Mitglieder:
Joost Rommers
Mark Dingemanse