Logo der Universität Wien

Patrick Hedfeld / Bernd Ulmann

Programming languages as ideal languages

 

Reflektiert man über Sprache und Philosophie, so führt kein Weg an Wittgenstein, Chomsky oder Piaget und anderen vorbei. Bereits Hegel erarbeitet in seiner „Psychologie der Intelligenz“ die Begriffe Symbol, Zeichen und Sprachzeichen und zeigt hierbei den Grad der Freiheit, der Abstraktion sowie der mannigfaltigen Momente auf.

Durch die Entwicklung sogenannter formaler Sprachen in Form von Programmiersprachen, entstand eine neue Qualität von Sprachen, die in vielerlei Hinsicht als ideale Sprachen im Sinne der analytischen Philosophie angesehen werden können. Eine der aussergewöhnlichsten und zugleich leistungs- fähigsten Sprachen ist die Sprache APL, die in den 1960er Jahren von Ken Iverson entwickelt wurde. Der Einfluss von Sprache auf das Denken und Pro- blembeschreiben und damit auch das Problemlösen wurde vielleicht nie eindrucksvoller herausgearbeitet als in Ken Iversons Paper „Notation as a Tool of Thought“. In dieser Arbeit fordert Iverson darüber hinaus Einfachheit und Strukturierbarkeit von Sprachen.

Eine Frage, die sich in diesem Zusammenhang stellt, ist, ob sich ideale Sprachen im Sinne von Programmiersprachen hinsichtlich des Grades ihres jeweiligen Abstraktionsgrades beziehungsweise ihrer Statementkomplexität anordnen lassen oder ob diese beiden Maße sogar miteinander korrelieren. Erste Gedanken hierzu finden sich in (Ousterhout,1988). Lässt sich aus solchen Be- trachtungen ein Maß für die Nähe oder Verwandtschaft zwischen idealen (formalen) Sprachen und ihren natürlichen Gegenstücken ableiten?

Beispielsweise besitzt die Programmiersprache COBOL oberflächlich betrachtet eine große Nähe zum Englischen. Ein Statement der FormADD A TO B GI-

VING C. ist eine valide Anweisung in COBOL. Ein weiteres Beispiel für eine solche Nähe zu natürlichen Sprachen findet sich in Form sogenannter Statementmodifier, wie sie in Perl, Ruby und anderen dynamischen Sprachen zu finden ist. Ein Beispiel hierfür ist das Perl-Statement die ERROR! if $er- ror_occured;, in dem die steuernde Bedingung nach der eigentlichen Aktion, dem Abbruchkommando die, notiert wird.

Damit erschöpfen sich jedoch bei vielen Programmiersprachen die Ähnlichkeiten mit natürlichen Sprachen – gibt es darüberhinaus abstraktere Verbindungen? Die Programmiersprache J verwendet beispielsweise Adverbien, mit denen das Verhalten von Verben, die am ehesten mathematischen Funktionen entsprechen, modifiziert werden können – ein Vorgang, der in natürlichen Sprachen weit verbreitet ist.

Viel Medienecho rief kürzlich die Entwicklung einer arabischen Programmiersprache hervor, die aus dem Vorwurf eines englischsprachigen Kulturimperialismus hervorging und der scheinbar Allgegenwärtigkeit von Programmiersprachen, die zumindest englische Schlüssenwörter verwenden, etwas anderes entgegensetzen möchte. Diese Entwicklung wird von den Autoren als oberflächlich betrachtet, da letztlich „nur“ eine arabische Version der Programmiersprache Scheme umgesetzt wurde, so dass lediglich eine Notationstransformation stattfand, nicht jedoch eine Programmiersprache geschaffen wurde, die im Sinne und Kulturverständnis des arabischen zu verorten ist. Kann eine arabische Version einer bekannten Programmiersprache neue Ideen, neue Problemlösevarianten transportieren oder muss sie vielmehr in ihrer Herkunft verhaftet bleiben? Wie ist das Einflussverhältnis von Notation, d.h. Semiotik auf der einen und Semantik auf der anderen Seite zueinander?

Offenbar sind Programmiersprachen ausgeprägte „Orte des Denkens“, wo- bei der Bogen von dem Einfluss, über eine wechselseitige Inspiration, bis hin zu natürlichen Verflechtungen gespannt wird. Gerade die vielfältigen Berührungspunkte, an denen Verflechtungen mit natürlichen Sprachen und quasi natürlichen Denkstrukturen stattfinden gestalten Fragestellungen in diesem Bereich in einem Maße vielschichtig, das eine tiefergehende Betrachtung erforderlich macht.

 

Patrick Hedfeld, born in Frankfurt/Main on September 28th, 1981 studied physics and philosophy, working on a dissertation about Hegel´s system and modern kognition.

Prof. Dr. Bernd Ulmann, born in Neu-Ulm on July 19th, 1970, studied  mathematics and philosophy, dissertation about analog computing, now  professor for business informatics at the FOM in Frankfurt/Main.

Universität Wien | Universitätsring 1 | 1010 Wien | T +43-1-4277-0