6 ноября 1986 года Морис Уилкс написал Никлаусу Вирту с предложением пересмотреть и стандартизировать язык Modula-2+ в качестве преемника Modula-2. Вирт благословил этот проект, и так родился комитет Модула-3.
На первом заседании комитет единогласно согласился придерживаться духа Modula-2, выбирая простые, безопасные, проверенные функции, а не экспериментируя с нашими собственными непроверенными идеями. Когда мы перешли к деталям, мы обнаружили, что добиться единодушия труднее.
Modula-3 поддерживает интерфейсы, объекты, универсальные шаблоны, легкие потоки управления, изоляцию небезопасного кода, сборку мусора, исключения и подтипы. Некоторые из наиболее проблемных функций Modula-2 были удалены, например, вариантные записи и встроенный числовой тип данных без знака. Modula-3 существенно проще других языков с сопоставимой мощностью.
Modula-3 во многом основан на Modula-2+, который был разработан в Системном исследовательском центре Digital Equipment Corporation и использовался для создания системы Topaz [ McJones89 , Rovner86 ]. Дизайн Modula-3 был совместным проектом Digital и Olivetti. Определение языка было опубликовано в августе 1988 года, и сразу после этого обе компании начали внедрять его. В январе 1989 года комитет пересмотрел формулировку, чтобы отразить опыт этих групп по внедрению. К публикации этой книги было внесено несколько окончательных исправлений.
Читать далее