Oberon синтаксически близок к языку программирования Modula-2 (прямым потомком которого он и является), однако, проще и мошнее последнего. Был разработан в процессе создания одноименной операционной системы. Изначально в качестве языка программирования для новой ОС был выбран Modula-2, однако, по причине отсутсвия в нем механизма расширения типов было решено создать новый язык на базе Modula-2. Отсюда и принципиальное новшество - концепция расширения типов данных (type extension), которая позволяет конструировать новые типы данных на основе существующих.