Diese Arbeit befasst sich mit der Frage, ob High Level Programming Languages als Brückensprachen zwischen Mensch und Maschine anzusehen sind.
Computer nehmen einen immer natürlicheren Platz in unserem täglichen Leben ein, und nicht wenige Menschen sprechen nicht mehr nur von, sondern auch mit ihrem Rechner, und gestehen ihm sogar ein metaphorisches Bewusstsein zu, wenn sie beispielsweise sagen: "Mein Rechner will nicht so wie ich." Noch ist es nicht soweit, dass Rechner ein eigenes Bewusstsein hätten, doch die Kommunikation mit dem Rechner findet bei jeder Interaktion statt, so dass die Frage nach der Art der Kommunikation zwangsläufig folgen muss. Der Benutzer jedoch kommuniziert nicht mit der Maschine, er interagiert bloß noch. Daher muss vor allem die Art der Kommunikation zwischen Programmierer und Maschine im Vordergrund stehen, wenn das Phänomen der Mensch-Maschine-Kommunikation untersucht und die Frage, ob Programmiersprachen als Brückensprachen angesehen werden können, beantwortet werden soll.
Diese Arbeit lässt sich in zwei Teile gliedern: im ersten Teil werden die theoretischen Grundlagen gelegt, indem beispielsweise die verwendeten Begriffe und der Untersuchungsgegenstand geklärt werden, im zweiten Teil werden einige "High Level Programming Languages" verschiedener Typen untersucht, bevor schließlich ein Ergebnis erreicht werden soll.
Inhalt
EINLEITUNG
I. DEFINITIONEN
1. High Level Programmiersprache
a. 1. Generation
b. 2. Generation
c. 3. Generation
d. 4. Generation
e. 5. Generation
2. Plansprache
3. Brückensprache
II. UNTERSUCHUNG
1. Was ist Sprache?
2. Sind Programmiersprachen Sprachen?
a. C++
b. JAVA™
c. SMALLTALK
III SCHLUSSWORT
QUELLENVERZEICHNIS
1. Alphabetische Literaturliste
2. Internetquellen
ANHANG
1. C++ Programm
2. JAVA™-Programm
3. SMALLTALK-Programm
Einleitung
Diese Arbeit befasst sich mit der Frage, ob High Level Programming Languages als Brückensprachen zwischen Mensch und Maschine anzusehen sind.
Computer nehmen einen immer natürlicheren Platz in unserem täglichen Leben ein, und nicht wenige Menschen sprechen nicht mehr nur von, sondern auch mit ihrem Rechner, und gestehen ihm sogar ein metaphorisches Bewusstsein zu, wenn sie beispielsweise sagen: "Mein Rechner will nicht so wie ich."
Noch ist es nicht soweit, dass Rechner ein eigenes Bewusstsein hätten, doch die Kommunikation mit dem Rechner findet bei jeder Interaktion statt, so dass die Frage nach der Art der Kommunikation zwangsläufig folgen muss.
Der Benutzer jedoch kommuniziert nicht mit der Maschine, er interagiert bloß noch. Daher muss vor allem die Art der Kommunikation zwischen Programmierer und Maschine im Vordergrund stehen, wenn das Phänomen der Mensch-Maschine-Kommunikation untersucht und die Frage, ob Programmiersprachen als Brückensprachen angesehen werden können, beantwortet werden soll.
Diese Arbeit lässt sich in zwei Teile gliedern: im ersten Teil werden die theoretischen Grundlagen gelegt, indem beispielsweise die verwendeten Begriffe und der Untersuchungsgegenstand geklärt werden, im zweiten Teil werden einige High Level Programming Languages verschiedener Typen untersucht, bevor schließlich ein Ergebnis erreicht werden soll.
I. Definitionen
1. High Level Programmiersprache
Die Definition einer High Level Programmiersprache stellt sich als insofern schwierig dar als die Begriffe high level und low level in Bezug auf Programmiersprachen relativ sind. So galten Assembler-Sprachen immer schon als low level. Im Vergleich dazu wurde C bei seinem Aufkommen als high level betrachtet, heute aber seiner direkten Maipulationsmöglichkeiten von Speicheradressen von vielen Programmierern als low level angesehen. Dementsprechend gehen die Meinungen darüber, was eine High Level Programmiersprache eigentlich genau ist, stark auseinander.
Im Allgemeinen ist man sich jedoch darüber einig, dass sich eine High Level Programmiersprache (oder auch einfach höhere Programmiersprache) vor allem durch eine hohe Abstraktionsebene sowie eine einfache Handhabung durch den Programmierer (zum Beispiel durch eine hohe Ähnlichkeit zu einer natürlichen Sprache) auszeichnet. Weitere Kriterien können der Grad der Portabilität1 oder das Variablen- Management2 sein.
Programmiersprachen werden häufig in einem Generationen-Modell klassifiziert. Danach ergeben sich seit Beginn der Nutzung des Computers bis heute fünf Generationen von Programmiersprachen, von denen die ersten beiden als low level angesehen werden, die vierte und fünfte als high level. Über die Sprachen der dritten Generation gehen die Meinungen auseinander (C gehört dazu), hierfür wird der Begriff mid level vorgeschlagen, für eine Programmiersprache, die high genug ist, um Einfachheit zu implementieren, aber low genug, um Hardwarezugriff zuzulassen.
a. 1. Generation
Programmiersprachen der ersten Generation gibt es in dem Sinne, wie heute der Begriff Programmiersprache verwendet wird, gar nicht, denn die "Sprachen" der ersten Generation bestanden aus direkt implementierten Bit-Mustern. Das bedeutet, dass jeder Befehl an den Rechner durch eine Abfolge von Nullen und Einsen dargestellt wurde, in der Sprache des Rechners selbst also.
b. 2. Generation
Als Programmiersprachen der zweiten Generation werden die Assemblersprachen verstanden. Im Prinzip ist dies nicht viel anders als bei den Sprachen der ersten Generation, der wesentliche Unterschied besteht hier darin, dass der Programmierer bestimmte Abkürzungen für die auszuführenden Befehle verwenden kann, und dass der Programmierer auf die arabische Repräsentation von Zahlen, sprich: Ziffern, zurückgreifen kann. Ein Nachteil von Assemblersprachen ist, dass die zur Verfügung stehenden Befehle immer von der Architektur des verwendeten Prozessors abhängen.
c. 3. Generation
Die dritte Generation der Programmiersprachen zeichnet sich durch eine bereits deutlich natürlichere Sprache aus. Befehle können einfach durch Schlüsselwörter realisiert werden. Die Hochzeit der Sprachen der dritten Generation lag in den sechziger und siebziger Jahren des 20. Jahrhunderts, als es zu einer regelrechten "babylonischen" Sprachverwirrung kam, weil viele Programmiersprachen entwickelt wurden, die teilweise nur für einen bestimmten Zweck geschrieben waren. Ein klassisches Beispiel für eine Sprache der dritten Generation ist C.
d. 4. Generation
Um die Programmiersprachen der vierten Generation herrscht allgemeine Verwirrung. Es ist nicht klar, welche Bedingungen eine Sprache erfüllen muss, um als Sprache der vierten Generation betrachtet zu werden. Man sagt jedoch, dass SQL als Beispiel einer Sprache, die als Kommandosprache für Datenbanksysteme begann und dann eine eigenständige Sprache wurde, ein typisches Beispiel für eine Programmiersprache der vierten Generation darstellt. Diese Sprachen sind meist in komplexe Entwicklungsumgebungen mit weiteren Werkzeugen wie Editoren und/oder Debuggern eingebettet.
e. 5. Generation
Als Programmiersprachen der fünften Generation, die sogenannten "sehr hohen" Sprachen, gelten die am weitesten entwickelten Programmiersprachen. Dabei heißt "am weitesten entwickelt", dass sie dem gegenwärtigen Ideal einer gut designten Programmiersprache am nächsten kommen3. Als Beispiel soll hier PROLOG dienen.
2. Plansprache
Plansprachen werden auch als Welthilfssprachen oder Universalsprachen bezeichnet. Bußmann definiert Plansprachen als entweder völlig frei (a priori) erfundene oder von natürlichen Sprachen a posteriori abgeleite Sprache zur internationalen Verständigung (Bußmann 2002: 746). Der a posteriori abgeleitete Typ sei bei den meisten bekannten Versuchen der Schaffung einer Universalsprache zu finden (z.B. Esperanto). Weiter unterteilt Bußmann die Plansprachen nach Typ ihres Wortschatzes bzw. ihrer Wortbildung in Sprachen, die einen größtenteils aus natürlichen Sprachen abgeleiteten Wortschatz besitzen, und Sprachen, deren Wortschatz durch eine geringe Zahl von Wortwurzeln mit vielen Ableitungen gekennzeichnet ist, ohne diese beiden Typen jedoch zu benamsen.
Alle Programmiersprachen sind ihres Wesens nach künstliche Sprachen und können im Bereich der Plansprachen im weiteren Sinne (geplante Sprachen) angesiedelt werden.
3. Brückensprache
Der Begriff Brückensprache ist ein weit verbreiteter Begriff, der jedoch nicht klar umrissen zu sein scheint. Viele Publikationen benutzen den Terminus in unterschiedlichem Kontext, besonders im häufig gescholtenen, doch noch häufiger konsultierten World Wide Web.
Innerhalb dieser Arbeit soll Brückensprache definiert werden als Hilfssprache in der Kommunikation, die nicht Muttersprache irgend eines Beteiligten ist, und die alle beteiligten Partizipanten mit meist unterschiedlicher Kompetenz beherrschen. Dadurch dass sie von allen Parteien verstanden wird, ermöglicht sie eine Kommunikation auch zwischen Angehörigen völlig unterschiedlicher Sprachfamilien. Plansprachen können als Brückensprachen fungieren. Tatsächlich sind sie bereits ihrem Wesen nach Brückensprachen, den ihr Zweck ist es eine muttesrsprachen-unabhängige Kommunikation zu ermöglichen.
Wenn ein europäischer Tourist im fremdsprachigen Ausland Urlaub macht, wird er beispielsweise zumeist auf die Brückensprache Englisch auszuweichen versuchen, sobald er kommunikativen Problemen begegnet.
[...]
1 Portabilität bezeichnet die Möglichkeit ein Programm ohne die Notwendigkeit gravierende Änderungen am Quell-Code vorzunehmen auf unterschiedlichen Betriebssystemen zu kompilieren und laufen zu lassen. Der Grad der Portabilität definiert sich hierbei über die Anzahl der notwendigen Änderungen.
2 Das Variablen-Management in low level Sprachen ist vollständig dem Benutzer überlassen, was bedeutet, dass der Programmierer selbst zuständig für die Speicherverwaltung ist. In high level Sprachen werden Variablen und Objekte automatisch gelöscht, wenn das Programm ihren Gültigkeitsbereich verlässt.
3 vgl. hierzu Pratt/Zelkowitz 1997: 34-38
-
-
-
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X.