From the models provided in [14] and [4] for the semantics of Java and C# programs we abstract the mathematical structure that underlies the semantics of both languages. The resulting model reveals the kernel of object-oriented programming language constructs and can be used for teaching them without being bound to a particular language. It also allows us to identify precisely some of the major differences between Java and C#.
['Egon Börger', 'Robert F. Stärk']
Exploiting abstraction for specification reuse. The Java/C# case study