Личности в истории
информатики
Студентки: Шестакова, Просукова,
Семенова, Коробейникова,
Экономический факультет,
01-13
Никлаус Вирт
(нем. Niklaus Wirth, род. 15 февраля 1934)
Никлаус Вирт (нем. Niklaus Wirth, род.
15 февраля 1934) — швейцарский учёный, специалист
в области информатики, один из известнейших
теоретиков в области разработки языков
программирования. Ведущий разработчик
языков Паскаль, Модула-2, Оберон, профессор
компьютерных наук (ETH), Лауреат премии
Тьюринга 1984 года.
Детство
- Никлаус Вирт родился 15 февраля 1934 года в Винтертуре, в предместье Цюриха (Швейцария). Родители — Уолтер и Хедвиг Вирт. Отец Никлауса был школьным учителем.
- В детстве Никлаус Вирт увлекался авиамоделизмом и постройкой ракет, увлечение электроникой и системами программного управления началось с разработки устройств дистанционного управления для моделей. В 1954 году поступил на факультет электроники Швейцарского федерального технологического института (ETH) в Цюрихе, где за четыре года получил степень бакалавра по электротехнике.
- Продолжил обучение в Лавальском университете (Квебек, Канада), в 1960 году получил степень магистра. Затем был приглашён в университет Калифорнии в Беркли (США), где в 1963 году, под руководством профессора Хаски, защитил диссертацию, темой которой стал язык программирования Эйлер (Euler) — расширение Алгола средствами языка Лисп.
Премии и награды
- IEEE Emanuel Piore Award (1983)
- ACM Turing Award (Премия Тьюринга) (1984)
- ACM Award for Outstanding Contributions to Computer Science
- Education (1987, 1989)
- IEEE Computer Pioneer (1988)
- Prix Max Petitpierre (1989)
- IBM Europe Science and Technology Prize (1989)
- Marcel Benoit Prize (1990)
- Orden Pour le Merite (1996)
- Leonardo da Vinci Medal (1999)
- ACM Outstanding Research Award in Software Engineering (1999).
Достижения
- Вирт разработал или участвовал в разработке языков программирования: Euler,
Algol-W, PL/360, Pascal, Modula, Modula-2, Oberon, Oberon-2, Component
Pascal. Наиболее известная его разработка, безусловно — язык программирования Паскаль, оказавший огромное влияние на несколько поколений программистов и ставший базой для создания большого числа языков программирования.
- Ещё одна фундаментальная работа, участником которой стал Вирт — разработка технологии структурного программирования, ставшая в программировании, безусловно, самой сильной формализацией как минимум 1970-х — 1980-х годов. Эта технология разработана, обоснована и внедрена в жизнь всего тремя выдающимися людьми — Виртом, Дейкстрой и Хоаром.
Научные принципы
- Возможно, одним из наиболее точных выражений принципов, которых придерживается Вирт в разработке всех своих проектов, является фраза Эйнштейна, вынесенная в эпиграф к «Сообщению о языке Оберон»: «Делай просто, насколько возможно, но не проще этого».
- Во всех его работах прослеживается изначальная ориентированность на реализацию наиболее эффективного решения конкретной инженерной задачи на базе гарантированно работающего, математически обоснованного инструментария. Вирт твёрдо стоит на том, что программирование должно быть нормальной инженерной дисциплиной, гарантирующей достаточный уровень надёжности своих разработок.
- Достижение же надёжности возможно, по Вирту, только одним способом: максимально возможным упрощением и самих систем, и инструментов, которые используются для их создания. В соответствии с этим принципом языки и системы программирования, разрабатываемые Виртом, всегда были образцом «разумной достаточности», даже своего рода аскетичности — в них предусматривалось только то, без чего нельзя обойтись.
- Даже расширение существующих языков и систем всегда сопровождалось упрощением.
- По подсчётам, опубликованным в статье Сергея Свердлова «Арифметика синтаксиса»[2], «линия Вирта», как он её назвал — линейка языков, включающая Паскаль, Модулу-2, Оберон и Оберон2 — это единственный пример «генетической линии» языков-потомков Алгола-60, в которой сложность языка, определённая как количество лексем в его описании, стабильно снижалась и в настоящее время оказывается ниже, чем у общего «прародителя» — Алгола-60.
Книги
Изданы
на русском языке:
1) Систематическое программирование.
Введение. М.: Мир, 1977;
2) Паскаль. Руководство для пользователя
и описание языка. М.:
3) Финансы и
статистика, 1982 (в соавторстве с К. Иенсен);
4) Алгоритмы + структуры данных = программы.
М.: Мир, 1985;
5) Программирование на языке Модула-2.
М.: Мир, 1987;
6) Алгоритмы и структуры данных. М.:Мир,
1989. ISBN 5-03-001045-9 (версия книги на языке Модула-2)
7) Алгоритмы и структуры данных. СПб.: Невский
диалект. 2001. 8) Книга Вирта «Алгоритмы
+ структуры данных = программы» издавалась
на русском языке несколько раз в разных
вариантах и считается первым из трёх
классических учебников по структурному
программированию.
Эдсгер Вибе Дейкстра (нидерл.
Edsger Wybe Dijkstra; 11 мая 1930, Роттердам (Нидерланды)
— 6 августа 2002)
- Эдсгер Вибе Дейкстра (нидерл. Edsger
Wybe Dijkstra; 11 мая 1930, Роттердам (Нидерланды) — 6 августа 2002) — выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии. Родился 11 мая 1930 года в Роттердаме, в семье учёных (отец — химик, мать — математик).
- Длительное время работал в фирме Burroughs
Corporation. В 1970-е годы вместе с Чарльзом Хоаром и Никлаусом Виртом разработал основные положения ставшей классикой методологии разработки программ — структурного программирования.
- В последние годы жизни преподавал в США, в Техасском университете. Умер 6 августа 2002 года.
- Известность Дейкстре принесли его работы в области применения математической логики при разработке компьютерных программ. Он активно участвовал в разработке языка программирования Алгол и написал первый компилятор Алгол-60. Будучи одним из авторов концепции структурного программирования, он проповедовал отказ от использования инструкции GOTO.
Алан Кэй (Alan Curtis Kay; род. 17 мая
1940)
- Алан Кэй (Alan
Curtis Kay; род. 17 мая 1940) — американский учёный в области теории вычислительных систем. Один из пионеров в областях объектно-ориентированного программирования и графического интерфейса.
- Разработал язык программирования Smalltalk, где впервые был применен объектно-ориентированный подход.
Лауреат премии Тьюринга 2003 года за работу над объектно-ориентированным программированием, Премии Киото (2004).
- Один из создателей проекта One Laptop
Per Child.
Язык программирования Smalltalk
- Самым значительным практическим результатом работы Алана Кея в Xerox
PARC стало создание языка Smalltalk
(название можно перевести как «непринужденная беседа»). Необходимость в его разработке возникла ввиду того, что существовавшие в то время языки программирования в основном были ориентированы на решение вычислительных задач.
- Они обладали необходимыми средствами для работы с символами, но были слишком профессиональными и не соответствовали проекту Dynabook. Поэтому был отдан высокий приоритет разработке нового языка. Некоторые его идеи были заимствованы у Пайперта, который строил язык Logo на основе работ французского психолога Жана Пиаже.
- Изначально предполагалось, что Smalltalk как инструмент программирования Dynabook будет совсем простым, доступным для детей. Его первая версия была смоделирована несколькими тысячами операторов на Basic в октябре 1972, через четыре месяца появилась версия на языке ассемблера (Smalltalk-72), и позже, в 1974, когда её установили на Alto, можно было начинать экспериментальную работу с детьми.
- До 1980 работы по Smalltalk-72, а затем и Smalltalk-74 носили исключительно локальный характер. Версию Smalltalk-80 решено было сделать публичной, для чего предполагалось выпустить несколько типов документов, от статей до книг (последовательно «Синяя», «Оранжевая» и «Зеленая»). В этой работе значительную роль сыграл Дан Ингаллс (Dan Ingalls).
- Чтобы язык можно было использовать на различных платформах, его реализовали в виде виртуальной машины (Virtual
Machine, VM) и виртуального образа (Virtual
Image, VI). VI представляет собой коллекцию классов, где закодирована функциональность Smalltalk, включая определение структур данных, методов работы с текстами и графикой, компиляторы, декомпиляторы, отладчики.
- Компилятор генерировал код на промежуточным языке, названном byte codes.
VM обеспечивала интерпретацию байт-кодов на любой платформе. У современного читателя названия байт-код и виртуальная машина вызывают совершенно определенные ассоциации с Java.
Xerox PARC
- Xerox PARC — место совершенно уникальное. С одной стороны, вполне капиталистическое: практически добившись монополии на рынке копировальной техники, компания Xerox стремилась расширить свою деятельность. С другой — весьма нетривиальное по форме. Период конца шестидесятых — начала семидесятых для Америки был совершенно особым.
- Xerox PARC осталась уникальной научной лабораторией, но, по многим оценкам, компания Xerox не сумела воспользоваться полученными там результатами в полной мере.
- Сверхзадача, поставленная перед Кеем, выглядела следующим образом. Тогда казалось, что близок финал бумажной технологии (заметим, что все же количество используемой сегодня бумаги не сильно сократилось). На смену ей должна была прийти другая — но какая? При том уровне аппаратных средств, какой был в начале семидесятых годов, можно было только строить гипотезы, хотя понятно, что в основе должен быть компьютер.
- Поэтому в Xerox
PARC были созданы исследовательские группы, которым была предоставлена полная свобода использования существовавших в то время компьютеров. Ученые могли строить астрологические прогнозы или создавать системы обработки текстов для печатания антивоенных листовок.
Алан Джей Перлис (англ.
Alan Jay Perlis; 1 апреля 1922 — 7 февраля 1990)
Алан Джей Перлис (англ. Alan Jay
Perlis; 1 апреля 1922 — 7 февраля 1990) — американский
учёный в области компьютерных технологий,
известен за свои работы по языкам программирования
и как первый лауреат премии Тьюринга.
- Алан Перлис родился в Питсбурге, Пенсильвания 1 апреля 1922 года. В 1943 году он получил степень бакалавра химии в технологическом институте Карнеги (сейчас университет Карнеги-Меллон).
- Во время Второй мировой войны Алан Перлис служил в рядах армии США, где заинтересовался математикой. Позже получил степени магистра (1949) и Ph. D. математики в MIT. Его докторская диссертация была озаглавлена «Интегральные уравнения. Их решения методами итераций и аналитического продолжения» («On Integral
Equations, Their Solution by Iteration and Analytic Continuation»).
- В 1952 году принимал участие в проекте Whirlwind. Он присоединился к преподавательскому составу университета Пердью (Purdue
University) и позже перешёл в институт Карнеги в 1956 году. Преподавал на кафедре математики, потом стал первой главой кафедры компьютерной науки (Computer
Science Department). Был избран президентом ACM в 1962 году.
- Алан Перлис был награждён премией Тьюринга в 1966 году, согласно цитате, за его влияние в области передовых методов программирования и создание компиляторов. Ссылка на работу, которую он проделал будучи членом команды, разработавшей язык программирования Алгол.
- В 1971 году Перлис перешёл в Йельский университет на кафедру компьютерных наук, заняв место Юджина Хиггинса (Eugene
Higgins). Был избран в National
Academy of Engineering в 1977 году.
- В 1982 году Алан Перлис написал статью «Эпиграммы о программировании» («Epigrams
on Programming») для журнала ACM SIGPLAN, описывая по одному предложению сущность многих вещей, которые он изучил о программировании за свою карьеру. Эпиграммы широко цитируются и по сей день.
Награды
- * 1966 — Премия Тьюринга
* 1984 — AFIPS Education Award
Эндрю Стюарт Таненбаум
(англ. Andrew Stuart Tanenbaum)