Язык программирования Оберон-2
«Оберон-2» (Oberon-2) — язык программирования общего назначения, расширение языка «Оберон». Разработан в 1991 году в Швейцарской высшей технической школе (Цюрих) Никлаусом Виртом и Ханспетером Мёссенбёком как переработка «Объектного Оберона».
Класс языка — императивный, структурированный, модульный, объектно-ориентированный.
Блочная структура и модульность.
Раздельная компиляция с использованием символьных файлов и пространств имён. Это обеспечивает быструю перестройку, поскольку требуется перекомпилировать только модули с изменёнными интерфейсами.
Статическая типизация со строгим контролем соответствия типов (в том числе межмодульным).
Расширение типов и связанные с типами процедуры. Это делает язык объектно-ориентированным: объект — это переменная абстрактного типа, содержащая данные (состояние объекта) и процедуры, которые оперируют этими данными.
Открытые массивы в качестве базового типа для указателей.
Возможность экспорта описаний в режиме «только для чтения».
Встроенная поддержка среды выполнения для сборки мусора, аналогичная Java.
Проверки границ и индексов массивов — устраняют потенциальные проблемы перезаписи стека и границ массивов, а также проблемы ручного управления памятью, присущие C и C++