Oberon (aka Oberon-1 ) is a programming language developed by Niklaus Wirth and Jürg Gutknecht from 1985 to 1987 .
Although the language is based on Modula-2 – of which Wirth is the author – several properties have been eliminated and the type extension, moreover, was introduced.
Its syntax resembles Pascal .
Oberon also eliminates the explicit mechanism of memory deallocation and integrates a garbage collector .
In 1991 , Niklaus Wirth, Jürg Gutknecht and Hanspeter Mössenbock design Oberon-2 , an extension of Oberon which includes procedures related to the type (methods), the polymorphism of objects , the dynamic tables and export variables in read only.