Programmiersprachen
Inhaltsverzeichnis |
Programmiersprachen
Zuerst war es die Maschinensprache, die dann durch die maschinennahe Sprache Assembler unterstützt wurde. Durch eine Übersetzung konnte man das Assemblerprogramm in die Maschinensprache überführen.
Es wird also eine Sprache aus kurzen einprägsamen Befehlen kreiert, die man durch einen Übersetzer (Übersetzungsprogramm) in die Maschinensprache überführen kann. Die Übersetzungsprogramme heißen Interpreter oder Compiler. Wieso gibt es hier zwei verschiedene Übersetzungsprogramme? Da diese Programme verschieden vorgehen. Der Interpreter übersetzt Zeile füe Zeile. Der Compiler übersetzt alles in einem Rutsch.
Jede Sprache hat eine Syntax (Grammatik/Satzbau) und eine Semantik(inhaltliche Bedeutung einer Sprache).
Die fünf Generationen der Programmiersprache
1. Generation: Maschinensprache
Auf der untersten Ebene der Programmiersprachen arbeitet man nur mit Zahlen. Dementsprechend sind die Programme völlig unleserlich und schwer zu erstellen. Die Programme sind sehr schnell.
2. Generation: Assembler Sprachen
Die Assemblersprachen orientieren sich an den Maschinenbefehlen des jeweiligen Prozessors. Diese Befehle kann man sich besser merken als den Zahlencode der Maschinensprache. Komfortable Compiler beherrschen zudem Schleifen und Unterprogramme. Damit wurde die Lesbarkeit des Quellcodes erhöht.
3. Generation: Höhere Programmiersprachen
problemorientierte imperative Sprachen
Beschreibung der Problemlösung erfolgt algorithmisch erste Vertreter: FORTRAN (formular translator) und ALGOL (algorithmic language) typische (heutige) Vertreter: Java, C++, Object Pascal (Delphi), ...
4. Generation: Nichtprozedurale Programmiersprachen
Mit dieser Technik wird nicht mehr beschrieben, wie ein Problem gelöst werden soll, sondern nur noch WELCHES PROBLEM zu lösen ist. Diese Programmiersprachen sind natürlich nur für ganz spezielle Probleme konzipiert worden. Hierzu zählt beispielsweise SQL.
5. Generation: Programmiersprachen der Künstlichen Intelligenz
Mit diesen Programmiersprachen werden Lösungen mit Hilfe von bestimmten Regeln erarbeitet. Hierzu sind ausgefeilte Mechanismen zu implementieren, die bei Problemen zur selbständigen Lösung an Hand der Regeln führt. Diagnosesysteme können so zur Lösung gelangen. Ein Vertreter ist PROLOG.
Programmierparadigmen
| Imperative/prozedurale Sprachen | Deklarative/prädikative Sprachen | |
| Merkmal | |Benutzer legt durch die Sprache fest, wie das Problem gelöst werden soll. Der Lösungsweg wird als eine Folge von Einzelschritten aufgeschrieben. Die Schritte bestehen aus Anweisungen, die aus den algorithmischen Grundstrukturen Sequenz, Bedingungen und Schleifen zu komplexen Verbundanweisungen verknüpft werden. | Der Benutzer beschreibt, was das Problem ist, indem er bekanntes Wissen angibt. An das System werden Anfragen gestellt, die entsprechend mit den Lösungsmechanismen Unifikation, Resolution und Backtracking abgearbeitet werden. Es findet ein auf logische Schlüsse basierendes Beweisen in einem System von Tatsachen und Schlussfolgerungen statt. |
| Beispiel: | Beschreibung eines Kreises
|
|
| typische Vertreter | C++, Java, ALGOL, FORTRAN, PASCAL, BASIC, Delphi (Object PASCAL) | LISP, PROLOG, HASKELL |