Im Sommersemester 2005 habe ich am Praktikum "Real-Life Programming" am IPD Lehrstuhl der UniKa teilgenommen. Hier platt die Beschreibung von der Homepage zitiert:
Wie programmiert man richtig?
Viele performancekritische Software wird immer noch in C geschrieben. C erlaubt dem Compiler einen sehr großen Optimierungsspielraum, in diesem Praktikum wird geübt, wie dieser ausgenutzt werden kann und wie die dabei auftretenden Klippen zu umschiffen sind.
In diesem Kontext könnt ihr lernen:
- Den Umgang mit den UNIX Entwicklungswerkzeugen
- Schreiben von portablem Code
- Verständnis des Übersetzungsprozesses von C
- Analysieren des durch Übersetzer erzeugten Assemblertextes
- Programmieren, so dass der Übersetzer guten Code erzeugen kann
- Wie man die Performance von Programmen steigern kann
- Umgang mit großen Projekten
- Das Finden von Fehlern in großen und alten Softwaresystemen
- Beherrschen von Debugging und Profiling Werkzeugen
- Kniffe des C-Präprozessors
- Die "Geheimnisse" von C
In diesem Zusammenhang haben zwei Komilitonen und ich einen Vortrag über "Objekt-orientiertes Programmieren in C" (ohne ++) ausgearbeitet und gehalten. Weiteres Schwerpunktthema war die Darstellung von C++ in Maschine, also wie der C++ Übersetzer dann die Klassen abbildet.
Hier noch ein Auszug des Inhaltsverzeichnisses:
- Objekt-Orientierte Konzepte
- OO in C
- Kapselung und Geheimnisprinzip
- Vererbung und Polymorphie
- Generiztiät
- Darstellung von C++ in Maschine
- vtable
- Name-Mangling
- Run-Time-Type Information (RTTI)
Diese Folien geben einen kompetenten Überblick über den Themenbereich.