Computer-Board - Programmieren

Programmiersprachen

 Programmiersprachen

ALGOL (Algorithmic Language)


Wer entwickelte ALGOL?
1958 entwickelten Kommitees der GAMM (Gesellschaft für angewandte Mathematik und Mechanik) und der ACM (Association for Computing machinery) die Programmiersprache ALGOL. 1960 trafen sie sich zum zweitenmal.



Wofür entwickelte man ALGOL?
Mit Hilfe von ALGOL kommunizierten Programme mit Anwendern und Computern.



Welche Eigenschaften hat ALGOL?
ALGOL veerbt seine Eigenschaften an die meisten Programmiersprachen. Wichtige Eigenschaften sind:

Variablen lassen sich ändern
Blöcke und Prozeduren bilden die Grundbausteine
Prozeduren rufen sich rekursiv auf
Wert- und Adreßübernahmen
Gliedert Daten in verschiedene Typen
Verfügt über Bezeichner mit lexikalischer Reichweite
Zur Beschreibung der Syntax entwickelte man den Backus Naur Formalismus BNF.

ALGOL 60 verfügt über Blockstrukturen. Mit den Wortsymbole BEGIN und END klammert man Programmteile ein und strukturiert sie. ALGOL 60 unterscheidet zwischen Wert- und Namensparametern von Unterprogrammen. ALGOL speichert lokale VariablenalsStapel. Es ermöglicht den rekursiven Aufruf von Unterprogrammen.


APL (A Programming language)


Wer entwickelt APL?
APL wurde 1965 von Kenneth E. Iverson entwickelt. Dafür gewann er 1978 den ACM Turing Award. Die Programmiersprache benannte er nach seinem Buch "A Programming Language". In dem Buch beschrieb er APL,


Wofür entwickelte man APL?
Die Sprache wurde entwickelt um Computerarchitekturen zu beschreiben.


Welche Eigenschaften hat APL?
APL verfügt über eine Kompaktschreibweise mit einem ungewöhnlichen Zeichensatz. Damit gelingt es Operationen exakt zu beschreiben.

Bei der Entwicklung von APL setzt Iverson auf 4 Prinzipien:

Gleichförmigkeit: Leicht verständliche Regeln.
Allgemeingültigkeit: Allgemeingültige Formen.
Vertrautheit: Bekannte Zeichen.
Kürze: Ausdrücke selten verwenden.
Das Gebiet der linearen ALgebra beeinflußte APL. Die wichtigsten Datenstrukturen sind Felder. Operatoren wendet man auf Skalare, Vektoren und zweidimensionale Matrizen an.


BASIC (Beginner`s Symbolic Instruction Code)


Wer entwickelte BASIC?
John G. Kemeny und Thomas E. Kurtz entwickelten BASIC 1966 am Dartmouth College als Programmiersprache fü r Studenten.


Wofür entwickelte man BASIC
BASIC als Programmiersprache für Studenten verfolgte einfache Richtlinien wie:

Schneller Erlernbar als andere Programmiersprachen
Schnelle Fehlersuche
Schneller compillierbar

Welche Eigenschaften hat BASIC?
In BASIC gibt es keinen Unterschied zwischen reellen und ganzen Zahlen. Variablen bestehen aus Buchstaben, denen eine Ziffer folgt.

Variablenwerden nicht deklariert.


C


Wer entwickelte C?
Dennis M. Ritchie entwickelte die Programmiersprache C 1972 bei den Bell Laboratories in New Jersey. Die Programmiersprache B beeinflußte die Entwicklung von C.

B wurde für ein UNIX-System entwickelt. B wurde widerum von der Sprache BCPL beeinflußt. Mit Hilfe dieser Sprache baute man Compiler.


Wofür entwickelte man C?
Mit C bekam man Zugriff auf das Betriebssystem und die Bits des Computerspeichers. Das Betriebssystem UNIX wurde in C programmiert.


Welche Eigenschaften hat C?
C verfügt über Blöcke, Schleifen, Datentypen.
C verwendet geschweifte Klammern anstelle der Schlüsselwörter begin und end. Dadurch sieht ein C Programm sehr strukturiert aus.
C verwendet nur Prozeduren.
Der Sprachumfang von C ist klein. Standardprozeduren werden aus den Bibliotheken aufgerufen.

Wie entwickelte sich C weiter?
In den 80ern war C bei den Hobbyanwendern und Profis sehr beliebt.

Die Gründe dafür:

FORTRANwar zu wissenschaftlich.
COBOL war für die Verarbeitung von großen Datenmengen.
PASCALPASCAL eignete sich nicht für alle Anwendungen.
1989 gab es einen ANSI-Standard


C ++



Wer entwickelte C++?
Bjaren Stroustrup entwickelte 1983 die Programmiersprache C++ in den AT&T-Bell-Laboratorien.


Wofür entwickelte man C++?
C++ ist die die Erweiteruung der Sprache C zur Entwicklung von Großprojekten (>10000 Code -Zeilen) . Es ist wichtig Großprojekte nach den folgenden Kriterien zu optimieren:

Korrektheit
Robustheit
Erweiterbarkeit
Wiederverwendbarkeit

Welche Eigenschaften hat C++?
C++ ist die Erweiterung von C zu einer objektorientierten Programmiersprache.

Es verfügt ,ber die üblichen Konstrukte einer objektorientierten Programmiersprache wie:

Objekte
Klassen
Instanzen
Methoden
Vererbung
So setzt man die Kriterien mit C++ um:
Korrektheit:
Durch strenge Typenkontrolle und einen Deklarationszwang fördert man die Korrektheit eines Programms.

Robustheit:
Die Datenmengen und die Anzahl zugelassener Operationen auf diese Daten werden zu Objekten zusammengefaßt. Das erleichtert die Arbeit. Fehlersuche und Veränderungen erfolgen innerhalb eines definierten Projekts.

Erweiterbarkeit:
Durch das Konzept der Vererbung lassen sich Projekte leicht erweitern. Eigenschaften einmal definierter Objekte, leitet man an abgeleitete Objekte weiter.

Wiederverwendbarkeit:
Einmal geschriebener Programmcode läßlt sich immer wieder verwenden. Die Deklaration von Objekte wird in die Header -Datei abgelegt. Die Definition der Objektewird als Objekt-Code in die Bibliotheken abgelegt.


Wie entwickelte sich C++ weiter?
Die Sprache Java orientiert sich stark an C ++. Nachteile von C++ verbesserte man bei der Entwicklung von Java.


Cobol-(Common Business Oriented Language)


Wer entwickelte COBOL?
Die Programmiersprache COBOL wurde 1957 entwickelt. An der Entwicklung von COBO0L war das US-Verteidigungsministeriums beteiligt. Es berief eine Konferenz ein. Das Thema der Konferenz: Die Erstellung einer Programmiersprache für Datenverarbeitungsanwendungen. Auf der Konferenz bildeten sich zwei Arbeitsgruppen. Innerhalb von 6 Monaten entwickelte die erste Arbeitsgruppe COBOL. Eine der Mitentwicklerinnen war Grace Murray Hopper. Sie hatte vorher am Entwurf des ersten Datenverarbeitungscompiler mitgewirkt.


Wofür entwickelte man COBOL?
Man entwickelte COBOL als erste Programmmiersprache für den kaufmännischen Bereich. Im Vordergrund steht die Verarbeitung von großen Datenmengen.


Welche Eigenschaften hat COBOL?
COBOL ist eine Sprache mit der man Finanzdaten verarbeitet. Sie ist nahe an der englischen Sprache. Die COBOL Syntax besteht aus vielen Wörtern.

Durch die Sammlung von Dateien in Datensätzen ist sie einfach strukturiert.

Ein Programm besteht aus vier Teilen (Divisions):

Identification Division: Beinhaltet den Programnamen
Environment Division: Beinhaltetet Hardware spezifische Angaben
Data Division: Gibt an welche Bereiche des Hauptspeichers das Programm braucht.
Procedure Division: Anweisungen zur Verarbeitung der Ein- und Ausgabedaten.
Die Divisions unterteilen sich in sections.


Wie entwickelte sich COBOL weiter?
Für die Progammiersprache COBOL gibt es drei ANSI-Normen:

1968, 1974, 1985

PASCAL


Wer entwickelte PASCAL?
Pascal wurde Ende der sechziger, Anfang der siebziger Jahre von Niklaus Wirth (ETH Zürich) speziell als Ausbildungssprache entwickelt (erste Publikation 1971). Der Name PASCAL wurde zu Ehren des französischen Mathematikers und Philosophen Blaise Pascal ( 1623 - 1662 ) gewählt.


Wofür entwickelte man PASCAL?
Im Vergleich zu der Ausbildungssprache BASIC zwingt PASCAL den Programmierer zum strukturiertem Programmieren. Ein Defizit des "Ur-PASCAL" ist die mangelhafte Unterstützung für die modulare Software-Entwicklung. Sie ist wichtig für die Erstellung großer Systeme. Dieser Mangel haftet auch dem PASCAL-Standard ISO 7185 von 1983 (revidierte Fassung 1990) an.


Welche Eigenschaften hat PASCAL?
Allgemein
PASCAL steht in der Tradition der Sprache ALGOL 60. Bei der Entwicklung von Pascal verbesserte man im Hinblick auf ALGOL 60 folgendes:

Das Konzept für die strukturierte Programmierung
Das Datentypkonzept
Das Zeigerkonzept
Ganz im Gegensatz zu den ersten höheren Programmiersprachen wie FORTRAN, ALGOL 60 und COBOL, ist Pascal "universell" einsetzbar. Die Programmiersprachen PL/1 oder ALGOL 68 verfügten über einen komplexen Sprachumfang. Pascal hat nur einen geringen Sprachumfang

Strukturiertes Programmieren
Ziel der strukturierten Programmierung ist es, Algorithmen darzustellen. Ihr Ablauf isteinfach zu erfassen und zu verändern ist. Die Grundkonzepte der strukturierten Programmierung wurden beginnend mit dem Ende der sechziger Jahre entwickelt und lassen sich mit folgenden Stichworten charakterisieren:

Bildung von logischen Programmeinheiten hierarchische Programmorganisation
Definition einer zentralen Programmsteuerung
Beschränkung der Ablaufsteuerung
Beschränkung der Datenverfügbarkeit


PL/1


Wer entwickelte PL/1?
PL/1 wurde 1965 entwickelt. Zur Entwicklung von PL/1 gründeten IBM gemeinsam mit Anwendern das Advanced Language Development Committee.

Zuerst entwickelte das Komitee einen Standard für FORTRAN VI. Es sollte aber nicht kompatibel zu FORTRAN sein.

Dann entwickelten Sie die New Programming Language (NPL). 1965 benannte man sie in PL/1 um. Die ersten Compiler erschienen.


Wofür entwickelte man PL/1?
Das Konzept von PL/1 umfaßte drei Anwendungsgebiete:

Systemanwendungen
Wirtschaftsanwendungen
Wissenschaftsanwendungen
Um allen Anwendungen gerecht zu werden, arbeitete ein Specialist aus jedem Gebiet in dem Komitee mit.


Welche Eigenschaften hat PL/1?
PL/1 verfügte über Multitasking, Blockstrukturen und rekursive Prozeduren. Damit gehörte PL/1 den modernen Programmiersprachen an.


Wie entwickelte sich PL/1 weiter?
1976 verabschiedete man den ANSI ANSI-Standard

Mit PL/1 versuchte IBM FORTRAN und COBOL zu ersetzen. Der Versuch misslang. FORTRAN und COBOL setzten sich durch.

PL/1 war unausgereift, grofß und kompliziert.

Viele Einrichtungen entwickelten eigene Versionen von PL/1 z.B.:
EPL
DEC
CPL
Die Universitäten entwickelten Compiler zu Lehrzwecken. Mit diesen Compilern verbrachten die Studenten weniger Zeit bei der Fehlersuche und damit mehr Zeit mit dem Programmieren.


SIMULA (simulation language)


Wer entwickelte Simula?
Im Norwegian Computing Center entwickelten Ole-Johann Dahl und Kristen Nygaard 1967 SIMULA. Die Programmiersprache ist verwandt mit ALGOL. SIMULA ist ein Vorläufer der objektorientierten Programmiersprachen.


Wofür entwickelte man SIMULA?
SIMULA diente zur Simulation von Ereignisnetzwerken wie:

Schlangen im Supermarkt
Reaktionzeiten von Notdiensten
Kettenreaktionen in Kernreaktoren

Welche Eigenschaften hat SIMULA?
Simula 67 verfügt bereits über:

Klassen
Referenzen
Module
Verbungskonzepte
Die wichtigste Erneuerung war die Entwicklung von Klassen.

Eine Klasse fasst mehrere Datentypen zusammen. Jedem Objekt einer Klasse weist man die Eigenschaften der Klasse zu.


Wie entwickelte sich SIMULA weiter?
SIMULA nahm Einfluss auf die Entwicklung objektorientierter Programmiersprachen. SIMULA selbst verbreitete sich nicht so stark.

20 Jahre später überarbeitete man SIMULA. Dabei entstand die Programmiersprache BETA.


Smalltalk



Wer entwickelte Smalltalk?
Das Programmiersystem Smalltalk ist der Vorläufer der objektorientierten Programmierung.

Es wurde 1976 von Alan Kay entwickelt.


Wofür entwickelte man Smalltalk?
Dazu ein Zitat vom Smalltalk-Entwickler Alan Kay:

"Zwar enstand die Objektorientierte Programmierung aus vielen Gründen, zwei jedoch waren von zentraler Bedeutung. Der wichtigere Grund war der Bedarf für ein besseres Modulsystem für kompliziert aufgebaute Systeme, das auch das Verbergen von Einzelheiten beinhaltete. Der andere bestand in dem Wunsch nach einer vielseitigeren Zuweisungsmöglichkeit, die dann gänzlich ausgeschlossen werden sollte.""

Alan Kay nannte seine Sprache Smalltalk. Damit protestierte er gegen Namen von Systemen wie Zeus, Odin und Thor.


Welche Eigenschaften hat Smalltalk?
Die Entwicklung von Smalltalk wurde von der Programmiersprache SIMULA beeinflufßt. In SIMULA ist jede Struktur ein kleiner Rechner.

Zitat von Alan Kay:

"...B5000, Sketchpad und schliefllich SIMULA griffen aus verschiedenen Gr,nden auf dieselbe Struktur zurück. Bob Barton, Professor in Utah und Hauptentwickler von B5000, hatte gesagt: "Das Grundprinzip des rekursiven Entwurfs ist , dass die Teile ebenso mächtig sein sollen wie das Ganze. Zum ersten Mal stellte ich mir das Ganze als den ganzen Computer vor und fragte mich, warum jemand diesen in schwächere Teile aufteilen wollte, die als Datenstrukturen und Prozeduren bezeichnet wurden. Warum sollte man ihn nicht in kleine Computer aufteilen, wie dies beim Time-Sharing began? Aber nicht nur in Dutzende. Warum nicht in Tausende, von denen jeder eine hilfreiche Struktur simuliert?"

Die typischen Bestandtteile einer objektorientierten Programmiersprache sind:

Objekte
Klassen
Instanzen
Methoden
Vererbung
Alle Objekte werden mit Symbolen auf dem Bildschirm dargestellt


Wie entwickelte sich Smalltalk weiter?
1980 verließ Smalltalk Xerox. Es wurde von vier Firmen überarbeitet:

Apple Computer
Digital Equipment Corperation
Hewlett-Packard
Tektronix


SNOBOL String oriented Symbolic Language - 1964


Wer entwickelte Snobol?
David J. Farber, Ralph Griswold, Ivan P.Polonski entwickelten die Sprache bei den Bell Telephone Laboratories.

SNOBOL war kostenlos erhätlich. Dadurch bekam die Programmiersprache einen großen Bekanntheitsgrad.


Wofür entwickelte man SNOBOL?
Mit SNOBOL bearbeitete man Zeichenketten.


Welche Eigenschaften hat SNOBOL?
Dem Anschein nach gab es bei der Entwicklung von SNOBOL keine Probleme.

Laut Ralph Griswold gelang die Entwicklung von SNOBOL in "relativ" kurzer Zeit. Viel länger suchten sie nach dem passenden Namen für die Programmiersprache.

Der wichtigste Datentyp sind die Zeichenketten (Strings).

Programmierbeispiel:
`Text``Verarbeitung` = Textverarbeitung


Wie entwickelte sich SNOBOL weiter?
In den Jahren danach entstanden verwandte Programmiersprachen:

SPITBOL
FASBOL
SLOBOL
SNOBAT
SNOBOL4
ICON