Konzepte der Programmiersprachen
Programmierer verbringen sehr viel Zeit damit, ihre Werkzeuge (Editoren, Debugger, IDE, Bibliotheken, Codegeneratoren etc.) zu verstehen und zu verbessern, frei nach dem Motto "Es ist eine rauhe Welt dort draussen - benutze jedes Tool und jede technische Spielerei, die du kriegen kannst".
Bei dieser Betrachtung geht häufig verloren, welche Werkzeuge und welche Technologien wirklich grossen Einfluss haben. Die wohl wichtigste Technologie in diesem Kontext ist die Programmiersprache selbst. Sprachen ermöglichen oder verhindern bestimmte Lösungen, sie sparen oder sie kosten Zeit, sie sind im absoluten Zentrum der Softwareentwicklung. Noch wichtiger ist, dass Programmiersprachen direkt unsere Vorstellungskraft bezüglich möglicher Lösungen eines Problems beeinflussen.
Das Ziel dieser Veranstaltung ist, ein tieferes Verständnis von Programmiersprachen zu entwickeln und Fragen wie diese zu beantworten:
- Was sind die entscheidenden Merkmale einer Programmiersprache?
- Welche intellektuellen Werkzeuge haben wir, um Programmiersprachen zu studieren?
- Wie können Programmiersprachen implementiert werden?
Anstelle einer klischeehaften und relativ unnützen Einteilung von Programmiersprachen in funktional, objekt-orientiert, imperativ etc. werden wir Sprachen in ihre Basiskonzepte aufspalten und diese detailliert studieren und in Form von Interpretern implementieren. Die Interpreter werden in Scheme programmiert, als Programmierumgebung wird DrScheme verwendet. Wir werden uns zumindest am Anfang an diesem Buch orientieren. Bitte installieren Sie auch die Erweiterung plai.plt, die sie auf der Webseite des Buches finden können. Bitte installieren Sie DrScheme 2.08 oder 2.09, nicht aber v299!
Mailing Liste
Wenn sie diese Veranstaltung besuchen möchten, melden sie sich bitte an unserer Mailingliste an.
Forum
Die Fachschaft hat zu dieser Vorlesung ein Forum eingerichtet.
Der Kurs wird veranstaltet von:
Prof.
Dr. Klaus Ostermann
Dipl.
Inf. Ivica Aracic
MSc. Vaidas Gasiunas
Zeit und Ort:
Vorlesung: Do 9.50-11.30 in S202/C120
Übung: Fr 9.50-11.30 in S202/A102
Achtung: Erste Vorlesung am 14.04. in S202/C110 statt S202/C120

