Diploma and Master Theses (authored and supervised):
"Vergleich der Programmierkonzepte Vererbung, Generizität und Reflexion in Java und Eiffel";
Supervisor: F. Puntigam;
Institut für Computersprachen,
This thesis compares the implementation of the programming concepts inheritance, generics and reflection in the object-oriented languages Java and Eiffel. The main focus is on the usability of these constructs.
The language constructs are analyzed by meaningful examples that show the strengths and weaknesses of the respective implementation. The underlying concepts are illustrated and alternative approaches in other programming languages are shown.
An unusual feature of Eiffel is that in the inheritance hierarchy covariant redefinitions of the method's input parameters are allowed. This is expressive, but compromises type safety; Java is more conservative in that regard.
While generics were always part of Eiffel, they were introduced to Java retrospectively, which made some compromises necessary. Reflection was added to most object-oriented languages relatively late. New versions of Java have good support for reflection, while Eiffel has very limited support for reflection using an unorthodox approach.
Created from the Publication Database of the Vienna University of Technology.