Vorlesungsankündigung
(Sommersemester 1998)
Einführung in die Programmiersprachen
Prof. Dr. Helmut Seidl - Übersetzerbau - Informatik
Um einem Computer mitzuteilen, was er tun soll,
muß er programmiert werden.
Dazu wird heutzutage meist eine Programmiersprache benutzt,
in der sich Berechnungen in einer Form beschreiben lassen,
die sowohl von der Maschine als auch von Menschen leicht zu verstehen ist.
In einer guten Programmiersprache soll es möglich sein,
komplizierte Sachverhalte möglichst einfach und elegant auszudrücken,
um leicht korrekte und effiziente Programme schreiben zu können.
Diese Programme sollten möglichst viele Fragmente besitzen,
die sich bei der Lösung anderer Probleme wiederverwenden lassen,
leicht an neue Anforderungen angepaßt werden können
und auch für Leute verständlich sein,
die nicht an ihrer Entwicklung beteiligt waren.
Im Laufe der Zeit wurde eine Vielzahl von Programmiersprachen entwickelt.
Obwohl fast alle theoretisch gleichmächtig sind,
unterscheiden sie sich stark darin,
welche Probleme sich elegant lösen lassen und welche nicht.
Das liegt daran, daß diese Sprachen von der Vielzahl
möglicher Sprachkonzepte
(wie z. B. Variablen, Typen, Prozeduren,
Datenabstraktion, Nichtdeterminismus, Vererbung, ...)
jeweils einige gut, andere weniger gut und andere gar nicht unterstützen.
Von dieser Konzeptauswahl hängt es ab,
zu welcher der großen Sprachklassen eine Programmiersprache gehört.
Gegenwärtig unterscheidet man
imperative Sprachen (Pascal, Modula, C),
objektorientierte Sprachen (C++, Smalltalk, Java),
funktionale (Standard ML, Haskell)
und logische (Prolog).
In der Vorlesung werden einerseits alle diese Sprachklassen
anhand typischer Vertreter besprochen.
Andererseits werden einzelne Sprachkonzepte
und ihre Realisierung in verschiedenen Beispielsprachen untersucht.
Literatur:
- D. A. Watt: Programmiersprachen - Konzepte und Paradigmen. Hanser-Verlag
- K. C. Louden: Programmiersprachen - Grundlagen, Konzepte, Entwurf.
Thomson Publishing
- L. B. Wilson, R. G. Clark: Comparative Programming Languages.
Addison-Wesley
- R. Sethi: Programming Languages - Concepts and Constructs.
Addison-Wesley
Termin:
Montag 8-10 Uhr, V 302
Donnerstag 12-14 Uhr, V 302
Übung: Mittwoch 12-14 Uhr, V 301