Abstracts


Metaprogramming: Bytecode-Manipulation mit Sinn und Verstand

Referent:Tim Oliver Kaiser
Termin:Mi. 30. Sept. 2009
Themengruppe:Java
Abstract Programme die auf anderen Programmen operieren sind keine neue Idee. Moderne
(dynamische) Sprachen eignen sich zwar in vieler Hinsicht besser um teilweise
auch zur Laufzeit den Programmfluss zu manipulieren, aber auch Java (oder eher
die Bytecode-repräsentation in der JVM) bietet Möglichkeiten Programme als
Daten zu betrachten.

Nach einer kurzen Übersicht über Metaprogrammierung im Allgemeinen sowie der
entsprechenden in Java verfügbaren APIs bilden verschiedene Beispiele den
Schwerpunkt dieses Vortrags.
Jenseits der Demonstration der Beispiele folgt jeweils eine Analyse bezüglich
der Vor- und Nachteile, z.B. muss die steigende Komplexität durch die Metaebene
einem einfacheren Ansatz mit vermutlich weniger prägnanten Code
gegenübergestellt werden.