Dynamic Programming Languages eignen sich im besonderen Maße dazu, interne DSL zu entwickeln. Dabei steht dem Entwickler eine Vielzahl an Optionen zur Verfügungen, die sich hinsichtlich ihrer Mächtigkeit unterscheiden. In der ersten Stufe können die existierenden Sprachkonzepte, beispielsweise Operationen der Objekt-Orientierten Programmierung, eingesetzt werden. In der zweiten Stufe schließen sich Reflection und Metaprogramming an, um z.B. komplexe Operationen abbilden zu können. In der dritten Stufe schließlich können holistische Methoden eingesetzt werden, wozu die Manipulation des Programmtextes oder des abstrakten Syntax-Baums gehören. Im Kontext einer Dynamic Programming Language wie Ruby, Python, Groovy oder Scala soll untersucht werden, wie die verschiedenen Optionen effektiv zum Language Engineering von DSL eingesetzt werden können.
Dieses Thema stellt nur einen Ausschnitt meiner Forschungsinteressen dar. Bei Interesse an einem anderen Fokus wenden Sie sich einfach an mich.




