Создатель лучших языков программирования Никлаус Вирт и его детища

Никлаус Вирт известен, прежде всего, как создатель языка Паскаль. Поэтому крутые программеры, которые читают Кнута вместо bash.org.ru и могут за тридцать секунд написать собственный DOS, и в грош не ставят создателя этого "детского" языка программирования. Тем не менее, именно благодаря Вирту прижились многие современные идеи программирования, которые сегодня позволяют вести разработку ПО эффективнее и быстрее, чем раньше. Поэтому, думаю, большинству читателей "Компьютерных вестей" будет небезынтересно почитать и про Вирта, и про другие его детища, кроме Паскаля.

Он родился в 1934 году недалеко от Цюриха. В детстве Вирт увлекался авиамоделированием, ракетами и химией и в итоге заинтересовался идеей создания дистанционного управления для его моделей. Так начался его путь в мир радиоэлектроники. В 1954 году он поступает на факультет радиоэлектроники Швейцарского федерального технологического института. Там он стал бакалавром, после чего переехал в Канаду, где в Квебеке стал магистром. Там же Вирт защитил диссертацию, посвящённую вопросам развития языка программирования Алгол (наверное, некоторые читатели ещё помнят такой). После этого Вирта пригласили в комитет стандартизации Алгола и одновременно в Стэнфордский университет на должность доцента. Через пять лет Вирт стал профессором - это произошло уже в Цюрихе, сразу по возвращении на родину. И здесь в 1970 году появляется самая известная из разработок Вирта - язык программирования, названный в честь французского натурфилософа Блеза Паскаля.

Об этом языке не слышал, наверное, теперь только тот, кто ни разу даже не пробовал программировать. Паскаль - простой и очень чёткий язык программирования. И именно это делает его универсальным языком, пригодным как для обучения программированию, так и для реализации серьёзных проектов. Фактически сегодня это, пожалуй, единственный язык, способный сопровождать программиста всю его профессиональную жизнь. Но в те годы Паскаль был интересен ещё и как один из пионеров самокомпиляции, т.е. компилятор языка был написан на нём самом.

Вскоре после создания самого языка, в 1973 году, была придумана виртуальная машина, исполняющая абстрактный P-код. Было это сделано для переноса Паскаля на различные платформы. Вирта нельзя назвать пионером виртуальных машин, поскольку ещё в 1967 году Грисуолд реализовал подобную идею для своего языка Snobol-4. Но, тем не менее, Вирт значительно популяризовал виртуальные машины как средство переносимости кода "малой кровью". Сейчас мы можем видеть результаты его трудов в виде Java и .NET. Сам Вирт сказал впоследствие следующее: "Если бы у нас хватило мудрости предвидеть масштабы такого развития событий, то мы приложили бы больше усилий и тщательности при разработке и документировании P-кода".

Но Вирт не останавливался на достигнутом, хотя, в общем-то, ему никто не мешал просто почивать на лаврах. В 1979 году мир увидел новый язык программирования от швейцарского автора - Модула-2. В этом языке Вирт учёл недочёты Паскаля, на которые указывали ему многочисленные критики. Кстати, одним из самых ярых критиков был Брайан Керниган, который придерживался совершенно иного подхода в своём языке С, который, в общем-то, в ходе своего развития и развития своих потомков стал весьма близок к виртовским языкам. Модула-2 была на то время лучшим языком для создания надёжных программных комплексов, поскольку замечательно воплощала идеи структурного и модульного программирования. Кстати, что любопытно, второй язык, претендующий на сверхнадежность, Ада, тоже был создан на основе Паскаля. И именно эти два языка признаются во всём мире как средства создания программного обеспечения для бортовых компьютеров космических аппаратов, атомных электростанций, медицинских приборов и прочих вещей, где надёжность ПО крайне важна.

 

Но и Модула-2, несмотря на свои достоинства, не была финалом творчества Вирта в области языков программирования. За ней в 1988 году последовал Оберон, ещё дальше расширяющий концепции структурного, модульного и объектного программирования. Всё вместе это составляет компонентное программирование, самую передовую на сегодняшний день концепцию программирования. Помимо языка программирования и компилятора Оберон, Виртом и его сподвижниками разработана и одноимённая операционная система. Многие специалисты говорят, что сейчас Оберон - это то же, чем был в начале 80-х годов XPARC, т.е. источник новых идей для крупных корпораций. И многие из этих идей, включая компонентное программирование, уже нашли своё самое что ни на есть широкое применение. Операционная система Оберон тоже питает промышленных разработчиков самыми различными идеями, такими, например, как документно-ориентированный интерфейс, апплеты, компонентная структура самой системы.

Так что, как видите, Вирт - почти пророк, и нельзя говорить о нём только как о создателе языка Паскаль. Да и о самом Паскале стоит задуматься. Вот что сам Вирт сказал с выходом Модулы-2 по поводу этого языка: "Утверждалось, что Паскаль был разработан в качестве языка для обучения. Хотя это утверждение справедливо, но его использование при обучении не являлось единственной целью. На самом деле я не верю в успешность применения во время обучения таких инструментов и методик, которые нельзя использовать при решении каких-то практических задач. По сегодняшним меркам Паскаль обладал явными недостатками при программировании больших систем, но 15 лет назад он представлял собой разумный компромисс между тем, что было желательно, и тем, что было эффективно".

Вадим СТАНКЕВИЧ,
dreamdrusch@tut.by

Версия для печатиВерсия для печати

Номер: 

46 за 2007 год

Рубрика: 

Кто есть кто
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!