AS Photograpy Pixabay

Geschichte der Programmiersprachen


Konrad Zuse entwickelte die erste programmgesteuerte Rechenanlage die als Z1 1937 bekannt wurde. Die Nachfolge, Z3 war seit 1941 arbeitsfähig. Maschinenbefehle die Aneinandergereiht ein Programm ergaben und die jeweilige internen Ablaufsteuerung übernahmen. Es war das was man als erste Sprache bezeichnete. Mit dem Jahr 1958 begann dann die Zeit der höheren Programmiersprachen. Die Sprache Fortran bildete die erste Theorie zur formalen Sprache. Im Verlauf der Zeit, in der es zu weiteren Sprachentwicklungen kam, erfolgt nun eine erste Klassifikation von Sprachen.


Sprachen der ersten Generation, Generation Language


Sprachen der Generation Language first sind Maschinensprachen. Maschinenbefehle bestehen aus Operationsteil für das eigentliche Rechnen und einem Adressteil als Operanden. Durch Codierungen konnten bis zu fünf Adressen in einem Operantenteil zur Verfügung gestellt werden. Die sofortige Ausführbarkeit von Maschinenbefehlen ist deren Hauptmerkmal. Die Sprache erfolgt unmittelbar an der Technologie.


Sprachen zweiter Generation

Sie heissen Assembler und werden als maschinennah bezeichnet. Sie sind geprägt von mnemotechnischen Abkürzungen, z.B. für die Adresse „Kirche im Dorf“ nutzt man KiD. Außerdem werden Namen für Operanden verwendet. Also direkte Adressen. Es sind Befehle der Art SR 4,4 für Subtract Register, 1.Register 4, 2.Register 4 oder MVC BUFF(60),STERN für MOVE CHARACTER, 60 Zeichen Zieladresse BUFF, Quelladresse STERN. Programme die in Assembler geschrieben sind, müssen zuerst übersetzt werden. Die dafür zu verwendete Einrichtung nennt man dann Compiler.


Sprachen der 3. Generation


Ob C, Pascal oder Phyton, sie zählen zu den Sprachen der 3. Generation. Das Hauptmerkmal und die essenzielle Besonderheit dieser Sprachen ist die Möglichkeit der Bildung von Algorithmen. Bei genauerem Hinsehen kann man dabei gewisse Ähnlichkeiten in menschlichen Abläufen durchaus erkennen. Algorithmische Abläufe für komplexere Sprachkonstrukte. Das sind bsw. Verzweigungen, Fallunterscheidungen, Unterprogramme oder Schleifenbildung. Die Grundelemente erzeugen Anweisungen mit Wertzuordnungen und weisen Programmvariablen zu. Die wesentliche Unterscheidung ist wohl die der Objektorientierung, wenn man dies mit Blick auf Maschinensprachen der ersten Generation gegenüber stellt. Wenn Maschinensprachen vereinfacht gesagt die Abläufe von Maschinenteilen koordinieren, dann sind Sprachen der dritten Generation auf Objekte ausgerichtet. Wie bedient man eine Küchenmaschine, wie geht man einkaufen oder wie bohrt man ein Loch in die Wand? Wird dadurch beantwortet. Diese Sprachen werden daher häufig auch als prozedurale Sprachen bezeichnet, weil sie den algorithmischen Ablauf eines Prozesses beschreiben. Das Wie! Zu weiteren Merkmalen der 3. Generation gehören, die Notwendigkeit eines Compilers, also Sprachenübersetzers, ein Programmverbinder namens Linker ist erforderlich und es ist eine Laufzeitumgebung notwendig, eine Bibliothek aus der alle für das Programm erforderlichen Komponenten entnommen und verbunden werden.


Sprachen der 4. Generation


Man nennt sie auch deskriptive Sprachen. Sie bilden den Lösungsraum eines Problems. Die Strategie zur Lösungsfindung ist durch die Sprachen der 3. Generation bereits vorgegeben. Es handelt sich bei diesen Sprachen um Datenbanksprachen wie SQL oder aber auch Prolog. Die Anweisung aus SQL erzeugt eine Ergebnistabelle mit Inhalten. Diese wird auch Relation genannt, weil diese Tabelle in Beziehung zu einem anderen Objekt steht. Die Sprache ist ergebnisorientiert und beinhaltet mittels Algorithmen den weg hin zur Lösungsmenge. In der Sprache Prolog gibt es prädikatenlogische Ausdrücke. Prolog ist eine Sprache der Künstlichen Intelligenz und schreibt innerhalb der Wissensbasis Lösungsmöglichkeiten heraus.


Sprachgenerationen in ihren Ausdifferenzierungen

1942 Maschinensprachen

1950 Assembler

1958 Fortran

1962 APL, 1974 APL2

1960 LISP, 1968 Logo, 1970 Prolog, 1974 Scheme, 1978 ML, 1980 Smalltalk, 1986 Miranda, 1988, Eiffel, 1986 C++, 1988 Oberon

1960 aus Fortran, 1962 Basic

1958 aus Fortran, 1976 Fortran 77, 1990 Fortran 90

1958 aus Fortran, 1960 Algol60, 1962 Cobol, 1964, PL/I, 1970 Pascal, 1978 Modula-2, 1988 Oberon, 1968 Algol68, 1980 Ada, 1992 Ada 9X

1968 Sequel, 1974 SQL, 1986 SQL-86, 1988 SQL-89, 1992 SQL-92

1950 aus Assembler, 1970 BCPL, 1974 C

Sprachen beinhalten Sprachparadigmen. Die Auswahl der benötigten Sprache erfolgt in Anlehnung, also in der Adaptierfähigkeit zum genannten Problem. Das Paradigma ist als Modell zu verstehen auf dem die Sprachkonstrukte aufbauen. Beispiele, Paradigmen sind objektorientiert, relational, logisch, algorithmisch, funktional, regelorientiert, musterorientiert. Das Grundelement Prädikat ist der wesentliche Kern des logischen Paradigmas, das in den Gebieten der künstlichen Intelligenz, Wissensverarbeitung und Expertensysteme zum Einsatz kommt. Prädikate beantworten, ob etwas wahr oder falsch ist. Mittels Horn-Klauseln werden Prädikate logisch verknüpft und auf Wissensbasis ein Lösungsraum für bestehende Probleme betrachtet.

Sätze können sein zum Beispiel Nicht mehr weiter zerlegbare Sätze die als Formulierung mit ja oder nein zu beantworten sind oder falsch oder richtig, die Verknüpfung solcher Sätze durch und, oder, nicht oder und ähnlichem. Darüber hinaus gibt es aber Satzgestaltung die vom Allgemeinen auf das Einzelne schließen wie auch vom Einzelnen auf das Allgemeine. Eine Software zur Logik kann in andere Software bsw. C-Programm eingebunden werden. Während einer bestehenden Prozedur, eines algorithmischen Ablaufs innerhalb eines Programms kann dann ein Logikprogramm aufgerufen werden, um ein Problem zu lösen. SGML steht für Standard Generalized Markup Language, ist eine Metasprache mit der verschiedene Auszeichnungssprachen definiert werden können. Es sind Plattformunabhängige Sprachen in denen Dokumente erstellt werden können. Der Aufbau hat eine Baumstruktur und bietet dem Anwender einen Text zwischen sogenannten Tags einzugeben. Irgendeine der Unterformen von SGML, die verwendet wird, führt bsw. Die Möglichkeit aus das ein Anwender über eine Internetseite ein Formular ausfüllen kann. Das besondere dabei ist lediglich die Darstellung eines interaktiven Formulars im Internet. So als würde man ein Blatt Papier ausfüllen wollen, auf dem diverse Positionen angegeben, sind die, auszufüllen sind, wie Name, Alter, Geschlecht oder anderes. Die Formulare werden dadurch interaktiv als das diese gezielt mit einer Steuerung im Server kommunizieren und jeweils eine Nachricht zurücksenden. Typische Anwendungsfälle sind Webshops, monetäre Transaktionsplattformen oder Veranstaltungsteilnahmen, wie bsw. Anmeldungen für etwas. Bekannte Unterprogramme von SGML sind HTML, XHTML, CSS Cascading Style Sheets zur gestalterischen Darstellung dieser

Quellen
IBM/370 1B44 https://blog.hnf.de/ibm-370-der-computer-fuer-die-siebziger/

https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3158.html

SGML https://whatis.techtarget.com/definition/SGML-Standard-Generalized-Markup-Language Entstehungsgeschichte der Sprache C https://t3n.de/news/c-entstehungsgeschichte-programmiersprace-python-1388046/


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert