Programmiersprachen
Ablaufsystem und Implementierungsfragen
- interpretiert - kompiliert
-
- Compiler transformieren Quellconde auf höherer
Abstraktionsebene in Maschinencode. Der Compiler kann dabei Optimierungen machen.
Daher laufen diese Programme sehr schnell auf einer Zielarchitektur.
- Interpreter interpretieren in jedem Lauf die Quellcode anweisungen
neu. Daher ist interaktives arbeiten sehr gut mölich.
Es gibt auch Mischformen:
- Ein Compiler transformiert den Quellcode in eine
Repräsentation auf niedriger Abstraktionsebene, oft "Byte code"
gennant, der auf einer Virtuellen
Maschine interpretiert wird.
Damit kann man gut verteilte hererogene Systeme programmieren,
z.B. migrierbare Code, wie Applets
- Rekursion möglich → Stack
- haben heute alle Maschinen ?
- Dynamischer Speicher und deren Verwaltung wie Garbage-Collection
- beispielsweise steht der Speicherbedarf von Datenstrukturen wie Listen,
Bäume usw. zur Programmierzeit nicht fest und muß daher zur
Laufzeit beschafft werden.
Eine Sprache, die z.B. String- oder Listenverarbeitung anbietet, nutzt so
eine Umgebung implizit.
Bei Systemprogrammiersprachen kann man
selber Speicher anfordern. Die Freigabe kann manuell oder automatisch durch
einen Garbage collector gemacht werden.
Siehe Kapitel über Ablaufsysteme
Informatik- und Netzwerkverein Ravensburg e.V
Rudolf Weber