Die entwicklung der programmiersprachen
Die Entwicklung der Programmiersprachen
Allgemeines
Vorgeschichte
Definition
Einteilung nach dem Funktionsumfang 1.Generation
2. Gereration
3. Gereration
4. Gereration
5. Gereration Übersicht über die Programmiersprachen
Vorgeschichte
1642
Blaise Pascal konstruiert die erste Addiermaschine
1822
Charles Babbage konstruiert die erste Rechenmaschine
1835
Ada Lovelance schreibt die ersten Programme
1946
Der erste Computer namens ENIAC wird gebaut
1957
Erste Hochsprache: FORTRAN von IBM
1982
PCs kommen auf den Markt.
Programmiersprachen: Basic und Assembler
Was ist eine Programmiersprache
Eine Programmiersprache besteht aus:
· Ein/Ausgabe Funktionen für den Datenaustausch mit der CPU und der Peripherie
· Arithmetische Funktionen zur Zahlenbearbeitung
· Logische Konstrollstrukturen zur Ablaufsteuerung wie z.B. Schleifen
· Funktionen zum verschieben von Daten im Speicher
· Befehle um Konstanten, Variablen und Strukturen zu verwenden.
1. Generation
Maschinensprache wurde ab ca. 1950 eingesetzt und ist jene Sprache die vom Computer direkt "verstanden" wird.
Es handelt sich dabei um numerisch verschlüsselte Befehle, die als binäre Information in den Computer eingegeben werden.
Vorteile
Nachteile
· bei Erstellung zeitkritischer Anwendungen
· nicht portable
· pro Instruktion nur ein kleiner Verarbeitungsschritt
· unübersichtlich
· zeitaufwendig und daher teuer
2. Generation
Assembler sind nur eine Vereinfachung der Maschinensprache. Die binäre Befehle der Maschinensprache werden durch symbolische entprechende Operation ersetzt z.B. Add cd,dx ersetzt die Binärfolge, die die Operation und die beiden Register anspricht.
Makroprozessoren sorgen dafür, dass eine Funktion, die aus mehreren Befehlen besteht, in diese zerlegt und für den Aufruf vorbereitet werden. Erstmal besteht die Möglichkeit Programme zu teilen, diese Teile getrennt zu übersetzen und später mittels Binder und Bindelader zusammen zufügen. Man kann hier die ersten Ansätze zur Modalisierung sehen.
Eine weitere Neuerung ist der Einsatz von symbolischen Adressen und Sprungmarken.
Vorteile
Nachteile
· strukturierter als die Binärsprache
· Ansätze zur Modularität
· optimale Hardwareausnutzung
· nach wie vor Hardware gebunden
· landwierig; Programmierung daher teuer
· unübersichtlich
3. Generation
Symbolische Zusammenfassung von Maschinensprachenbefehlen und von den Adressen der Datenfelder.
Dadurch verkürzt sich der Sourcecode um bis zu 85%. Die Einführung von Wiederholungsanweisungen und Selektion sowie die Mehrfachauswahl usw. kennzeichnen diese Generation. Durch diese Einführung wurden die Programmiersprachen lesbar, struktriert und leicht erlernbar.
Vorteile
Nachteile
· gut strukturierbar
· leicht lesbar
· leicht erlernbar
· Algorithmen können leichter ausgedrückt werden
· leicht zu warten
· systemunabhängig
· Sourcecodeverminderung um 85%
· benötigt mehr Speicher
· benötigt mehr Maschinenzeit
4. Generation
Werden auch als deklarative Spachen bezeichnet.
Sie sind in der Syntax den natürlichen Sprachen näher als andere Programmiersprachen. Die Befehlsstruktur oder Syntax gibt nicht vor wie etwas gemacht werden soll sondern was geschehen soll. Einige dieser GL-Sprachen bauen auf dem Relationenmodell auf und wurden daher für die Verwendung in Datenbanken konzipiert.
Vorteile
Nachteile
· Oberflächen für die Entwicklung von Datenstrukturen
· Softwareunterstütze Dokumentation
· Datenbankunabhängig
· Sourcecodereduktion weitere 70-80%
· teurere Hardware
· langsam bei der Ausführung
Vertreter dieser Generation sind: Informix, Progress, Clipper, DBase
5. Generation
Logische Sprachen
Bei logischen Sprachen werden bei der Programmierung Audrücke aus der Prädiaktenlogik verwendet.
Vertreter: Prolog
Funktionale Sprachen
Listen bzw.
Funktionen orientierte Sprachen
Name
Entwicklungs-jahr
Beschreibung
Ada
1978-82
Vielseitige Sprache für Echtzeitanwendungen
Wurde vom amerikanischen Verteidigunsministerium entwickelt.
Algol
1958-60
1963-68
Algorithmic Language
Vorgängersprache von Pascal, BCPL und dadurch auch C. Algol ist problemorientiert und für technisch-wissenschaftliche Aufgaben geeignet.
Basic
Beginners-all-purpose-Symbolic-Instruction-Code
Wurde am Dartmore-College (USA) für den Informatiounterricht entwickelt. Wurde von FORTRAN abgeleitet. In den 80er Jahren entwickelte Microsoft für fast alle gängigen Mikrocomputer BASIC-Compiler.
C
1974-78
Stammt von BCPL ab. Wurde zum schreiben des UNIX Betriebssystems entwickelt.
Problem: Hardwarenahe Programmteile mußten in Assembler geschrieben werden, da es in den meisten Hochsprachen keine maschinennahen Befehle gab. Außerdem waren die Assemblerteile maschinenabhängig.
BCPL war die erste Sprache, die dieses Problem löste und wurde an der Cambrige University entwickelt.
Viele Konzepte von BCPL wurden von Ken Thompson in seine Programmiersprache B übernommen, mit der er das Betriebssystem UNIX schreiben wollte.
Kerningham und Ritchie entwickelten daraus C und veröffentlichten 1978 die Sprachdefinition in einem Buch namens "The C Programming Language"
Cobol
Common Business Orientated Language.
Universalsprache für kaufmännische Anwendungen.
Die erste Programmiersprache, die nicht für mathematische/naturwissenschaftliche Zwecke entwickelt wurde. Cobol ist stark geregelt, damit er leicht protierbar ist. Wird vor allem auf Großrechnern eingesetzt.
Fortran
1954-57
Formular Translator
Erste kommerzielle Hochsprache; von IBM entwickelt.
Möglichkeit von unabhängig compilierbaren Unterprogrammen. Zugriff von anderen Programmiersprachen möglich. Allerdings fehlen Fortran brauchbare Steuerstrukturen und eine ordentliche Zeichenbearbeitung.
Lisp
1961
List Processing Language
Wurde am MIT entwickelt und wird vorallem im Bereich KI eingesetzt. Beruht auf der Verarbeitung von Listen.
Java
Ist wie Smalltalk völlig objektorientiert.
Das neue an Java ist allerdings seine Maschinenunabhängigkeit, die kein erneutes Kompilieren erfordert, da es in einer sog. virtuellen Maschine abläuft.
Logo
In den 80er Jahren weit verbreitet um Kindern das Programmieren näherzubringen.
Modula-2
1977-80
Wurde von Nikolaus Wirth entwickelt.
Modualer Aufbau; Verbesserung von Pascal
Pascal
1968-71
Wurde von Nikolaus Wirth entwickelt.
Allgemein einsetzbar; gut strukturiert.
Prolog
Programming in Logic.
Prolog ist eine Erklärungssprache. Es wird nicht beschrieben wie das Problem zu lösen ist (Pascal, C) sondern dem Computer wird beschrieben woraus das Problem besteht.
Beispiel:
Programm:
· Ein Objekt namens Baum wird definiert
· Ein Nadelbau und ein Laubbaum ist von Typ Baum
· Eine Fichte und eine Tanne sind von Typ Nadelbaum
· Eine Eiche und eine Platane sind vom Typ Laubbaum
Fragen an den Computer?
· Was ist eine Eiche?
· Ist eine Eiche ein Nadelbaum?
Smalltalk
1972
Eine völlig objektorientierte Sprache, wie z.B. auch Java.
Anmerkungen: |
| impressum | datenschutz
© Copyright Artikelpedia.com