Биография
Никлаус
Вирт родился 15 февраля 1934 года в Винтертуре, в предместье Цюриха (Швейцария).
Родители — Уолтер и Хедвиг Вирт. Отец Никлауса был школьным учителем.
В детстве Никлаус Вирт увлекался авиамоделизмом и постройкой ракет, увлечение
электроникой и системами программного управления началось с разработки устройств
дистанционного управления для моделей. В 1954 году поступил на факультет
электроники Швейцарского федерального технологического института (ETH) в Цюрихе,
где за четыре года получил степень бакалавра по электротехнике. Продолжил
обучение в Лавальском университете (Квебек, Канада), в 1960 году получил степень
магистра. Затем был приглашён в университет Калифорнии в Беркли (США), где в
1963 году, под руководством профессора Хаски, защитил диссертацию, темой которой
стал язык программирования Эйлер (Euler) — расширение Алгола средствами языка
Лисп.
Диссертация Вирта была замечена сообществом разработчиков языков
программирования, и в том же 1963 году он был приглашён в Комитет по
стандартизации Алгола IFIP (Международной федерации информатики), который
разрабатывал новый стандарт языка Алгол, впоследствии ставший Алголом-68. Вместе
с Чарльзом Хоаром Вирт отстаивал в комитете линию на разработку умеренно
модифицированной версии Алгола, свободной от недостатков исходного языка и
дополненной минимумом действительно необходимых средств. Вирт и Хоар представили
комитету язык Algol-W (W — от Wirth), представлявший собой именно такую
переработку Алгола, но поддержки не встретили. По завершении работы комитета в
1968 году Вирт вошёл в число тех, кто критиковал Алгол-68, говоря о его
недостаточной надёжности и чрезвычайной избыточности. Параллельно, с 1963 по
1967 годы Вирт работал ассистентом в Стэнфордском университете, США. Вместе с
Джимом Уэльсом разработал и реализовал язык PL/360, предназначенный для
программирования на платформе IBM/360 — алголоподобный язык, в который был
введён ряд системно-зависимых возможностей, связанных с архитектурой IBM/360.
В 1967 году вернулся в звании доцента в университет Цюриха, в 1968 году получил
в ETH звание профессора компьютерных наук. В течение 31 года работал в ETH.
Много занимался организационной деятельностью, совершенствуя систему обучения
своего университета.
В 1970 году создал язык программирования Паскаль. В 1970-х годах разработал,
вместе с Ч. Хоаром и Э. Дейкстрой технологию структурного программирования.
Вышедшая в 1971 году статья Вирта «Разработка программы методом пошагового
уточнения» описала и обосновала ставшую впоследствии классической методологию
разработки программного обеспечения «сверху вниз». Для переноса Паскаль-системы
на различные вычислительные платформы в 1973 году с участием Вирта был
разработан прототип виртуальной машины, исполняющей на любой платформе
промежуточный «пи-код», в который предполагалось компилировать все программы.
В 1975 году разработал язык Модула, в котором реализовал идеи разработки
модульных программ с хорошо определёнными межмодульными интерфейсами и
параллельного программирования. Кроме того, в Модуле был изменён синтаксис языка
— Вирт избавился от унаследованной ещё от Алгола-60 необходимости применять
составные операторы в конструкциях ветвления и циклах. Модула не была широко
известна и имела всего одну экспериментальную реализацию, но её доработанная
версия — Модула-2, разработка которой началась в 1977 и закончилась в 1980 году,
предназначенная для реализации системного ПО разрабатываемой в ETH системы
Lilith — 16-разрядного персонального компьютера, стала известна и довольно
популярна, хотя и не превзошла по популярности Паскаль, особенно его
коммерческие реализации. Система Lilith обогнала тенденции компьютерной
индустрии на несколько лет, позднее Вирт с сожалением говорил, что, не
реализовав потенциал этой системы, швейцарская компьютерная индустрия упустила
свой исторический шанс. Развитием Модулы-2 стал язык Модула-3, разработанный
совместно фирмами DEC и Olivetti; в его создании Вирт участия не принимал.
Во второй половине 1970-х Вирт участвовал в конкурсе министерства обороны США на
разработку нового языка для программирования встроенных систем, в результате
которого был создан язык Ада. Повторилась история с Алголом-68 — проект группы,
в которой работали Вирт и Хоар, не был одобрен комитетом по языку. В итоге
конкурс выиграл проект, основанный на Паскале, но гораздо более сложный и
объёмный.
С 1982 по 1984 и с 1988 по 1990 годы Вирт возглавлял факультет компьютерных наук
ETH, с 1990 года — Институт компьютерных систем при ETH. В 1988 году в
содружестве с Юргом Гуткнехтом (Jurg Gutknecht) Вирт разработал язык
программирования Оберон. Целью разработки было создание языка для реализации
системного ПО проектируемой новой рабочей станции. Основой для Оберона стала
Модула-2, которую существенно упростили, но при этом дополнили новыми
возможностями.
В 1992 году Вирт и Мёссенбёк выпустили сообщение о новом языке программирования
— Оберон-2, — минимально расширенной версии Оберона. В этом же году была
образована дочерняя компания ETH — Oberon microsystems, которая занялась
разработкой систем Оберон. Вирт стал одним из членов её совета директоров. В
1999 году эта компания выпустила следующую версию Оберона — Component Pascal,
более приспособленную для компонентного программирования. В 1996 году Вирт
разработал ещё один оригинальный язык программирования — Lola, предназначенный
для разработки настраиваемых электронных схем.
1 апреля 1999 года Вирт вышел на пенсию, достигнув предельного для
государственного служащего в Швейцарии возраста 65 лет (ETH — государственный
ВУЗ, его работники являются госслужащими и их работа подчиняется
соответствующему законодательству). Академическая респектабельность Вирта долгое
время мешала признать тот факт, что он является одним из первых настоящих гиков
в истории информационных технологий. Справедливость восторжествовала лишь через
десять лет после его выхода на пенсию.