Никлаус Эмиль Вирт (15 февраля 1934 г. – 1 января 2024 г.) был швейцарским ученым-компьютерщиком . Он разработал несколько языков программирования , включая Pascal , и стал пионером нескольких классических тем в области разработки программного обеспечения. В 1984 году он получил премию Тьюринга , общепризнанную как высшая награда в области компьютерных наук , «за разработку ряда инновационных языков программирования». [4]
Ранняя жизнь и образование
Никлаус Эмиль Вирт родился в Винтертуре , Швейцария, 15 февраля 1934 года. [5]
В 2004 году он стал членом Музея компьютерной истории «за основополагающую работу в области языков программирования и алгоритмов, включая Euler, Algol-W, Pascal, Modula и Oberon». [9]
В 1999 году он получил премию ACM SIGSOFT за выдающиеся научные исследования [19].
Закон Вирта
В 1995 году он популяризировал поговорку, которая теперь называется законом Вирта . В своей статье 1995 года «Призыв к бережливому программному обеспечению» он приписал Мартину Райзеру следующее, сформулировав его так: «Программное обеспечение становится медленнее быстрее, чем оборудование становится быстрее». [20]
Публикации
Статья «Program Development by Stepwise Refinement» в апреле 1971 года в Communications of the ACM [21] [22], посвященная преподаванию программирования, считается классическим текстом по программной инженерии. [23] Эта статья считается самой ранней работой, в которой формально излагается метод проектирования программ «сверху вниз» . [24] [25] Статья обсуждалась Фредом Бруксом в его влиятельной книге «The Mythical Man-Month» и была названа «основополагающей» в краткой биографии Вирта, опубликованной ACM в связи с его премией Тьюринга. [26] [27]
Учебник 1973 года « Систематическое программирование: введение» [ 28] был описан как качественный источник для математиков, желающих понять природу программирования, в обзоре 1974 года. [29] На обложке издания 1973 года говорилось, что книга «... предназначена для людей, которые рассматривают курс по систематическому построению алгоритмов как часть своей базовой математической подготовки, а не для непосредственных нужд тех, кто хочет иметь возможность время от времени кодировать задачу и передавать ее своему компьютеру для мгновенного решения». [30] Описанный в обзоре как сложный для проработки текст, он, тем не менее, был рекомендован в качестве полезного чтения для тех, кто интересуется численной математикой. [31]
В 1974 году «Руководство пользователя и отчет по языку Pascal» [32] , написанные совместно [i] с Кэтлин Дженсен [35], послужили основой для многих усилий по реализации языка в 1970-х годах ( BSD Pascal [36] ) и 1980-х годах в Соединенных Штатах и по всей Европе. [37] [38]
В 1975 году он написал книгу «Алгоритмы + Структуры данных = Программы» , которая получила широкое признание. [39] Основные редакции этой книги с новым названием «Алгоритмы и структуры данных» были опубликованы в 1986 и 2004 годах. [40] [41] Примеры в первом издании были написаны на языке Паскаль. В более поздних изданиях они были заменены примерами, написанными на языках Modula-2 и Oberon соответственно. [40] [41]
В 1992 году Вирт и Юрг Гуткнехт опубликовали полную документацию операционной системы Oberon. [42] Вторая книга, написанная Мартином Райзером, была задумана как руководство по программированию. [43]
Смерть
Вирт умер в первый день Нового года 2024 года в возрасте 89 лет. [44]
^ Первая глава (Документация) — совместная работа, которую, по словам Йенсена, редактировал Вирт. [33] Вторая глава написана Виртом (также опубликована отдельно [34] ).
Ссылки
^ "IEEE Emanuel R. Piore Award Recipients" (PDF) . IEEE . Архивировано из оригинала (PDF) 24 ноября 2010 г. . Получено 20 марта 2021 г. .
^ "Niklaus Wirth 2004 Fellow". Computer History Museum . Архивировано из оригинала 3 июля 2019 года . Получено 1 декабря 2017 года .
^ Gosch, John (25 октября 1979 г.). Weber, Samuel (ред.). «Wirth works to better Pascal» (PDF) . Профиль. Электроника . Paul W. Reiss. стр. 157. ISSN 0013-5070. Архивировано (PDF) из оригинала 20 мая 2024 г. . Получено 14 августа 2024 г. . [его семья] включает двух девочек и мальчика
^ "Никлаус Э. Вирт - лауреат премии имени А. М. Тьюринга". Ассоциация вычислительной техники. 2019. Архивировано из оригинала 29 июня 2017 года . Получено 8 января 2024 года .
^ Хендерсон, Гарри (2009). "Вирт, Никлаус". Энциклопедия компьютерных наук и технологий . Infobase Publishing. стр. 514. ISBN978-1-4381-1003-5.
^ abc Pomberger, Gustav; Mössenböck, Hanspeter; Rechenberg, Peter (2000). "Никлаус Вирт - пионер компьютерных наук". Школа Никлауса Вирта: искусство простоты . Gulf Professional Publishing. стр. 6. ISBN978-3-932588-85-3.
^ Jeuring, Johan; Meertens, Lambert ; Guttmann, Walter (17 августа 2016 г.). "Профиль рабочей группы IFIP 2.1". Foswiki . Архивировано из оригинала 8 марта 2021 г. Получено 4 октября 2020 г.
^ Свирстра, Доайтсе; Гиббонс, Джереми ; Меертенс, Ламберт (2 марта 2011 г.). «Область применения: IFIP21: Foswiki». Фосвики . Архивировано из оригинала 2 сентября 2018 года . Проверено 4 октября 2020 г.
^ "Niklaus Wirth: 2004 Fellow". Computer History Museum (CHM) . Архивировано из оригинала 3 июля 2019 . Получено 15 октября 2019 .
^ Петцольд, Чарльз (9 сентября 1996 г.). «Языки программирования: выжившие и желающие». The New York Times . ISSN 0362-4331. Архивировано из оригинала 9 марта 2018 г. Получено 8 марта 2018 г.
^ Вирт, Никлаус (3 мая 2016 г.). Язык программирования Oberon-07 (PDF) . ETH Zurich, Department of Computer Science (Report). Архивировано (PDF) из оригинала 21 января 2021 г. . Получено 17 января 2021 г. .
^ Кнудсен, Свенд Эрик (1983). Medos-2: операционная система, ориентированная на Modula-2, для персонального компьютера Lilith (докторская диссертация). ETH Zurich. doi :10.3929/ethz-a-000300091. hdl :20.500.11850/137906. Архивировано из оригинала 4 января 2024 года . Получено 4 января 2024 года . Я признателен профессору Н. Вирту за идею и координацию проекта Lilith, за предоставленную мне возможность разработать и реализовать операционную систему Medos-2 и за руководство этой диссертацией.
^ Франц, Михаэль (2000). «Оберон: Незамеченная драгоценность». В Böszörményi, László (ред.). Школа Никлауса Вирта: Искусство простоты. Gulf Professional Publishing. стр. 42, 45. ISBN978-3-932588-85-3.
^ Proven, Liam (29 марта 2022 г.). «Дикий мир операционных систем, отличных от C». The Register . Получено 4 апреля 2024 г.
^ Вирт, Никлаус (1995). Проектирование цифровых схем. Springer.
^ Эберле, Ганс (2000). «Проектирование кластерной сети». В Бёсёрменьи, Ласло (ред.). Школа Никлауса Вирта: искусство простоты. Профессиональное издательство Персидского залива. п. 154. ИСБН978-3-932588-85-3. Этот класс также вдохновил Никлауса на разработку простого, но мощного языка описания оборудования под названием Lola. Никлаус всегда сам создавал системы, которые он либо исследовал, либо обучал, поскольку он знал, что это единственный способ сохранить честность и надежность инженера.
^ Хейг, Томас (1984). "Никлаус Э. Вирт". Премия имени А. М. Тьюринга . Ассоциация вычислительной техники. Архивировано из оригинала 19 сентября 2017 года . Получено 15 октября 2019 года .
^ "ACM Fellows by year". acm.org . Архивировано из оригинала 3 января 2024 года . Получено 3 января 2024 года .
^ "Премия за выдающиеся исследования". SIGSOFT . Получено 1 апреля 2024 г.
^ Вирт, Никлаус (февраль 1995 г.). «Призыв к бережливому программному обеспечению». Компьютер . 28 (2): 64–68. doi :10.1109/2.348001. S2CID 44803077.
^ Вирт, Разработка программы путем пошагового усовершенствования, Communications of the ACM,. 14:221–227, ACM Press, 1971
^ Вирт, Никлаус (2001). «Разработка программ путем пошагового усовершенствования». В Broy, Manfred; Denert, Ernst (ред.). Pioneers and Their Contributions to Software Engineering . Берлин, Гейдельберг: Springer. doi :10.1007/978-3-642-48354-7. ISBN978-3-642-48355-4. S2CID 11348419.
^ Дули, Джон Ф. (25 ноября 2017 г.). Разработка программного обеспечения, проектирование и кодирование: с шаблонами, отладкой, модульным тестированием и рефакторингом. Apress. стр. 54. ISBN978-1-4842-3153-1.
^ Абрахамс, Пол (июль 1974 г.). «Систематическое программирование: Введение Никлауса Вирта». Математика вычислений . 28 (127). Американское математическое общество : 881–883. doi :10.2307/2005728. JSTOR 2005728.
^ Руководство пользователя и отчет по языку Паскаль, второе издание.
^ "Выступление Кэтлин Дженсен на симпозиуме Вирта (20.02.2014)". YouTube . 25 февраля 2014 г. Архивировано из оригинала 6 января 2024 г. Получено 6 января 2024 г.
^ Вирт, Никлаус (1973). Язык программирования Паскаль (пересмотренный отчет) (Отчет). ETH Zurich. стр. 49 с. doi :10.3929/ethz-a-000814158. hdl :20.500.11850/68910.
^ * https://www.researchgate.net/scientific-contributions/Kathleen-Jensen-2058521472 Архивировано 6 января 2024 г. на Wayback Machine
https://dl.acm.org/profile/81334487416 Архивировано 6 января 2024 г. на Wayback Machine
https://dblp.org/pid/06/5848.html Архивировано 6 января 2024 г. на Wayback Machine
^ Джой, Уильям Н.; Грэм, Сьюзан Л.; Хейли, Чарльз Б. (1979). Руководство пользователя Berkeley Pascal, версия 1.1, апрель 1979 г. Калифорнийский университет в Беркли. Кафедра электротехники и компьютерных наук. Архивировано из оригинала 8 января 2024 г. . Получено 8 января 2024 г. .
^ Blotnick, Srully (июль 1983 г.). «Don't Fail Me Now» (PDF) . Pascal News (26): 26. Архивировано (PDF) из оригинала 5 января 2024 г. . Получено 3 января 2024 г. .
^ Hartel, Pieter H. (май 1982). "Pascal для системных программистов" (PDF) . ECODU-32. Архивировано (PDF) из оригинала 22 марта 2020 г. Получено 3 января 2024 г.
^ ab Wirth, Niklaus (1986). "Предисловие к изданию 1986 года". Алгоритмы и структуры данных . Prentice-Hall. стр. 9. ISBN978-0-13-022005-9. Главное изменение, которое пронизывает весь текст, касается языка программирования, используемого для выражения алгоритмов. Pascal был заменен на Modula-2 .
^ Вирт, Никлаус ; Гуткнехт, Юрг (1992). Проект Оберон: Проектирование операционной системы и компилятора (PDF) . Addison-Wesley, ACM Press. ISBN978-0-201-54428-2. Архивировано из оригинала (PDF) 12 апреля 2013 года.Распродано. Онлайн-версия 2-го издания Архивировано 5 апреля 2014 г. на Wayback Machine . Издание 2005 г., PDF. Архивировано 8 июля 2021 г. на Wayback Machine
^ Рейзер, Мартин; Вирт, Никлаус (1992). Программирование в Oberon: Шаги за пределы Pascal и Modula (PDF) . Addison-Wesley, ACM Press. ISBN978-0-201-56543-0. Архивировано из оригинала (PDF) 16 апреля 2016 г. . Получено 1 июня 2017 г. .. Больше не издается.
^ Proven, Liam (4 января 2024 г.). "RIP: Software design pioneer and Pascal creator Niklaus Wirth". The Register . Архивировано из оригинала 7 января 2024 г. . Получено 6 января 2024 г. .
Дальнейшее чтение
Вирт, Никлаус (апрель 1971 г.). «Разработка программ путем пошагового усовершенствования». Сообщения ACM . 14 (4): 221–227. doi :10.1145/362575.362577. hdl : 20.500.11850/80846 . S2CID 13214445.
Вирт, Н. (1974). «О проектировании языков программирования» (PDF) . Труды Конгресса IFIP 74 : 386–393.
Книга Project Oberon – The Design of an Operating System and Compiler. Книга о языке Oberon и операционной системе теперь доступна в виде файла PDF. Файл PDF имеет дополнительное приложение Ten Years After: From Objects to Components .
Project Oberon 2013 Online 2-е издание предыдущей книги, адаптированное для повторной реализации на оборудовании FPGA.