Suche diesen Artikel in der aktuellen Wikipedia

[Home]Programmiersprachen

HomePage | RecentChanges | Preferences

Eine Programmiersprache ist eine künstliche Schriftsprache zur Kommunikation zwischen Mensch und Computersystem. Diese vermittelt dem Computersystem ein durch einen Menschen geschriebenes Programm, welches Angaben einer Kette von internen Verarbeitungsschritten, deren Daten, Struktur und Ablauf enthält.

Da der digitale Computer intern nur Werte von 0 und 1 verarbeitet, ist es für den Menschen sehr unhandlich und mühsam, die vielen Formen von Informationsverarbeitung? in reinen Werten von Null und Eins anzugeben (zu kodieren). Daher hat sich schnell ein Übersetzungsmechanismus etabliert, der häufig verwendete Zahlen und Zeichen und häufig verwendete grundlegende Operationen in abkürzender symbolischer Schriftsprache angibt. Eine weitere technische Einrichtung übersetzt dann diese Angaben in interne Daten und interne Kontrollanweisungen bzw. einfachste Datenänderungsbefehle, die der Computer dann schliesslich ausführt.

Eine Ansammlung der in einer Programmiersprache aufgeschriebenen Anweisungen nennt man Programm?. Sie wird meist von professionellen Programmierern verfasst und ist ein technischer Schaffensprozess. Die Entwicklung der Programmiersprachen selbst ist eine Aufgabe der Informatik.

Um die Funktion der Programmiersprache zu verstehen, muss ein wenig zum inneren Aufbau der Computersysteme gesagt werden.

Computersysteme verarbeiten Information auf eine Weise, die weitgehend durch deren inneren Aufbau festgelegt ist. Dieser ist an technischer Machbarkeit, einfachen Grundfunktionen und Produktionseffizienz orientiert. Die meisten Maschinen bedienen sich intern einer binären Darstellung von Information? basierend auf nur zwei Werten (0 und 1) und bilden jedwede Daten auf Ansammlungen solcher Werte ab. Es sind daher weitere Vereinbarungen und Konzepte erforderlich, die üblichen Informationseinheiten (Zahlen, Zeichen, Daten, Wörter, Text, sensorische Information) als solche Gruppen von binären Daten zu definieren. Das ist der Aspekt, der im weitesten Sinn als Datenstruktur bezeichnet wird.

Konzeptionell ist ein programmierbarer Rechner aber weit mehr als eine Sammlung von Daten und auch mehr als eine starre Rechenmaschine. Der Grundgedanke ist die Idee einer *universellen* Rechen- bzw. Datenmaschine, bei der weitere von aussen zugeführte Daten darüber bestimmen, wie mit anderen (internen) Daten zu verfahren ist. Eine solche Datensammlung, die angibt, wie mit anderen Daten zu verfahren sei, heisst Programm. Sie enthält Symbole die anzeigen, wann und wie etwas geändert werden soll. Sie wird in einer definierten Weise abgearbeitet und enthält auch Sprünge und von Bedingungen abhängige Verzweigungen, sowie Wiederholungen in Form von Schleifen. Dies ist der prozedurale Aspekt.

Wie fast alle weitere Entwicklung besteht die Geschichte der Programmiersprachen zuerst in einer grundlegenden ganz einfachen Operation und dann in der weiteren Ausformung zusammengesetzter (komplexerer) Daten und Befehle. Für bestimmte Anwendungen haben sich Systeme herausgebildet, die als Anweisungen Befehle (oder Daten enthalten ), die in dem jeweiligen Bereich besonders häufig verwendet werden. Auch gibt es eine unüberschaubare Zahl spezieller Sprachen, die jeweils spezielle Handlungsschemen oder Rezepte fertig integriert haben. Das bedeutet für den Programmierer, dass er nur ein Wort zu schreiben braucht um eine bestimmte Aufgabe zu lösen, für die er oder sie in einer anderen Sprache vielleicht eine Seite Code zusammenstellen müsste. Dies ist im weitesten Sinn ein Aspekt vieler technischer Systeme, der mit Referenzbildung (Bezugnahmefähigkeit) zu tun hat, deren praktischer Aspekt die Wiederverwendung ist.

Es gibt auch unterschieldiche konzeptionelle Präferenzen, d.h. es gibt Sprachen, die mehr den Aspekt der Datenstrukturen betonen (Möglichkeiten zur Definition bereitstellen oder freihalten) oder mehr den Aspekt der Prozeduralität betonen (Möglichkeiten zur Definition komplexer Befehlsabläufe bereitstellen).

Die Entwicklung hat dahin geführt, dass die Universalisten am weitesten verbreitet sind, d.h. diejenigen Sprachen (wie C,C++), die weitestgehend alle wichtigen Aspekte in einer einfachen Weise integriert haben. Hierzu gehören auch neuere Konzeptionen der objektorientierten Programmierung, die Daten-, Prozedur- und Referenzaspekte in dem einzigen Konzept des Objekts vereinigt, welches Daten und prozedurale Information besitzt und über Referenzen auf bereits bekannte Objekte definiert werden kann.


Wird ein Programmtext als Ganzes in Maschinecode übersetzt, spricht man in bezug auf den Übersetzungsmechanismus von einem Compiler. Der Compiler ist selbst ein Programm, welches als Dateninput den menschenlesbaren Programmtext bekommt und als Ergebnisoutput den maschinelesbaren Code (Objektcode, EXE-Datei) liefert.

Wird ein Prorammtext hingegen jeweils Schritt für Schritt übersetzt und jeweils ein übersetzter Schritt sofort ausgeführt, spricht man von einem Interpreter. Interpretierte Programme laufen meist langsamer als compilierte Programme.


Beispiel eines Textes in einer Programmiersprache: ...


==Maschinensprache Die in diesem Sinn zuerst entstandenen Programmiersprachen sind die Maschinensprachen, die über die Möglichkeiten von Bitänderungen, Sprungbefehlen und Schleifen zur Wiederholung von Bearbeitungen verfügen.

==Datenstrukturen LISP verwendet als konzeptionelle Hauptstruktur Listen. Auch das Programm ist eine Liste von Befehlen, die andere Listen verändern. FORTH verwendet als konzeptionelle Hauptstruktur Stacks und Stackoperationen.

==Logische Sprachen PROLOG verwendet orientiert sich in bezug auf Daten- und Evaluationsmechanismus an mathematischer Logik.

==Prozedurale Sprachen BASIC, C, COBOL, FORTRAN, PASCAL, PL/1 sind Vertreter der prozeduralen Familie, in der Anweisungen hintereinander abgearbeitet werden.

Funktionale Sprachen ..


Liste der Programmiersprachen

Ada?
Algol?
Assembler? (Maschinensprache)
awk? (awk, gawk, mawk, nawk)
BASIC? (True BASIC, VB (Visual Basic), VBA (VB for Applications), VBScript, ...)
C? (C, Visual C)
[[C++]] (C++, Visual C++)
COBOL?
Delphi
FORTH?
FORTRAN?
Java?
JavaScript?
LISP
Modula? (Modula, Modula-2)
Pascal?
perl?
PHP?
PL/I?
Prolog?
Python?
RPG?
Scheme?
Smalltalk?
Tcl?
Visual xx (Visuelle Versionen einzelner Sprachen)

vielleicht kann mit hier jeweils eine Standardaufgabe in jeder Sprache lösen. Eine Aufgabe die in jeder der Sprachen lösbar ist. Finde das Maximum drei Zahlen
Zeittafel

1947 -- Plankalkül von Konrad Zuse
1957 -- LISP


zurück zu Informatik


HomePage | RecentChanges | Preferences
This page is read-only | View other revisions
Last edited June 11, 2001 1:28 am by StefanRybo (diff)
Search: