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