1.3 Programmiersprachen

Werbung
1.3 Programmiersprachen
zum Lösen des Kommunikationsproblems
Mensch – Maschine
Formulierung von Algorithmen
(verständliche Folge systematisch oder
logisch ablaufender Arbeitsanweisungen) auf
Computeranlagen zur Lösung von Aufgaben
Codierung = Übertragung eines Programmablaufs in eine Programmiersprache
5 Generationen von Programmiersprachen
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
Programmiersprachen
Maschinensprache
(binär codiert)
Symbolische Programmiersprachen
(nicht binär codiert)
problemorientierte („höhere“)
Programmiersprachen
Kaufmännisch orientierte
Programmiersprachen
maschinenorientierte („niedere“)
Programmiersprachen
Technisch orientierte
Programmiersprachen
Übersetzungsprogramme:
Compiler / Interpreter
Übersetzungsprogramme:
Assembler
Maschinensprache
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
1. Generation (1GL): Maschinensprachen
„unterste“ Ebene
Folge von Einsen und Nullen
für jeden Computertyp neu entwickelt
schwer lesbar, unübersichtlich
hoher Erstellungsaufwand
nicht übertragbar zwischen verschiedenen
Computersystemen
Bsp.:
00110010 11001001
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
2. Generation (2GL): Assembler-Sprachen
an bestimmte Computersysteme gebunden
Erleichterungen durch Operationskürzel
ADD = addieren,
MOVE = transportieren
Assembler = Übersetzungsprogramme
Maschinensprache
Programmierung von Systemprogrammen
(Betriebssysteme)
Bsp.:
ADD Feld2, Feld1
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
3. Generation (3GL): Problemorientierte bzw.
höhere Programmiersprachen
unabhängig von einem Computersystem
lediglich Übersetzer muss an jeweiliges
System angepasst sein und entsprechenden
Maschinencode erzeugen
spezieller Befehlssatz (Syntax), um Probleme
zu lösen
nähern sich Denkweise des Programmierers
an
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
3. Generation (3GL): Problemorientierte bzw.
höhere Programmiersprachen
eher nachvollziehbar
Bsp.: IF ... THEN .. ELSE
WHILE(...)
Beginners All purpose Symbolic Instruction
Code
BASIC
FORmularTRANslation
FORTRAN
ALGOrithmic Language
ALGOL
COmmon Business Oriented Language
COBOL
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
3. Generation (3GL): Problemorientierte bzw.
höhere Programmiersprachen
PASCAL
C/C++
Java
1GL - 3GL =
prozedurale Programmiersprachen, da in Form
einer Anweisungsabfolge (Prozedur)
OOP = Object Oriented Programming
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
4. Generation (4GL):
nichtprozedurale Sprachen
nicht mehr festgelegt, wie das Problem gelöst
wird, sondern was das Programm leisten soll
keine umfangreiche Programmierausbildung
notwendig
z.B. für Datenbankabfragen
SQL, NATURAL
Bsp.:
CREATE Adressdatei
SELECT FIELDS ... FROM ...
Software-Engineering / Programmierung I
Wellnitz
1.3 Programmiersprachen
5. Generation (5GL):
Programmiersprachen der KI
KI = künstliche Intelligenz
Intelligenz des Menschen nachahmen
für Forschungszwecke
LISP, PROLOG, SMALLTALK
Bsp.:
Berechnung auswerten
Fenster oeffnenZurEingabe
Software-Engineering / Programmierung I
Wellnitz
Herunterladen