Universität Bremen  
  FB 3  
  AG BKB > Lehre > WS 04/05 > Programmiersprachen > Deutsch
English
 

Inhaltsübersicht

 
Die Lehrveranstaltung behandelt die gemeinsamen Prinzipien von höheren Programmiersprachen. Durch das Studium dieser Prinzipien sollen die TeilnehmerInnen neue Sprachen rascher lernen und beurteilen können.

Nach einem kurzen Abriss der Geschichte der Programmiersprachen werden wesentliche Konzepte von Programmiersprachen behandelt:

  • Werte: Datenstrukturen und Ausdrücke
  • Speicher: Variablen und Befehle
  • Bindung: Vereinbarungen und Blöcke
  • Abstraktion: Prozeduren, Funktionen und Parameterübergabe
  • Kapselung: Pakete, Schnittstellen, Objekte, Klassen und generische Parameter
  • Typsysteme: Überladen, Polymorphie, Vererbung
  • Kontrollfluss: Sprünge und Ausnahmen
  • Nebenläufigkeit: Prozesse und Kommunikation

Dabei steht stets Semantik und Pragmatik (also Bedeutung und Zweck) von Konzepten im Vordergrund; ihre Syntax ist sekundär. Die Konzepte werden exemplarisch in wenigen Referenzsprachen (Ada, Java, Eiffel, Standard ML, Haskell, Prolog) betrachtet. Der Vergleich verschiedener Programmiersprachen offenbart einige Prinzipien des (guten) Sprachentwurfs.

Dann behandeln wir, wie Konzepte ausgewählt und kombiniert werden, um wichtige Stile oder Paradigmen der Programmierung zu unterstützen und erläutern dies anhand typischer Sprachen:

  • imperatives Programmieren (Ada)
  • Objekt-orientiertes Programmieren (Java, Eiffel)
  • funktionales Programmieren (Standard ML, Haskell)
  • logisches Programmieren (Prolog)
Abschließend werden wir kurz auf Nebenläufigkeit eingehen und einen Blick in die Zukunft (?) der Programmiersprachen wagen, indem wir die visuelle Programmiersprache Diaplan vorstellen.

Übungen

Im Kurs soll die Essenz von Konzepten bzw. der methodische Kern der Paradigmen behandelt werden. Dazu werden wir durchschnittlich 3/4 der Zeit brauchen. In ca. einer Stunde pro Woche sollen die TeilneherInnen ihr Verständnis des Stoffs in Übungen vertiefen. In kleine Aufgaben sollen Fragen an die Referenzsprachen (Ada, Java, Eiffel, Standard ML, Haskell, Prolog) beantwortet werden. Dies geschieht entweder durch Studium einer Sprachbeschreibung, oder durch Erstellen von Testprogrammen für deren Referenzistallation.
 
   
Autor: Dr. Berthold Hoffmann
 
  AG BKB 
Zuletzt geändert am: 14. Oktober 2004   impressum