Элементы Элементы большой науки

Поставить закладку

Напишите нам

Карта сайта

Содержание
Энциклопедия
Новости науки
LHC
Картинка дня
Библиотека
Методология науки
Избранное
Публичные лекции
Лекции для школьников
Библиотека «Династии»
Интервью
Опубликовано полностью
В популярных журналах
«В мире науки»
«Знание — сила»
«Квант»
«Квантик»
«Кот Шрёдингера»
«Наука и жизнь»
«Наука из первых рук»
«Популярная механика»
«Потенциал»: Химия. Биология. Медицина
«Потенциал»: Математика. Физика. Информатика
«Природа»
«Троицкий вариант»
«Химия и жизнь»
«Что нового...»
«Экология и жизнь»
Из Книжного клуба
Статьи наших друзей
Статьи лауреатов «Династии»
Выставка
Происхождение жизни
Видеотека
Книжный клуб
Задачи
Масштабы: времена
Детские вопросы
Плакаты
Научный календарь
Наука и право
ЖОБ
Наука в Рунете

Поиск

Подпишитесь на «Элементы»


ВКонтакте
в Твиттере
в Фейсбуке



Новости науки

 
26.05
Очертания видового ареала определяются экологическими свойствами вида

24.05
Клещи ездили на насекомых уже 320 миллионов лет назад

23.05
В Китае найдены древнейшие многоклеточные водоросли

18.05
Обнаружены одноклеточные организмы с ядром, но без митохондрий

16.05
Уровень полученного образования отчасти зависит от генов






Главная / Библиотека / В популярных журналах / «Квантик» версия для печати

Дональд Кнут

Григорий Фельдман
«Квантик» №11, 2014


Никто не может «владеть» математической формулой. Математика принадлежит Богу.

Дональд Кнут
о недопустимости патентов на программное обеспечение


Дональд Эрвин Кнут

Дональд Эрвин Кнут

Логотип системы ТеХ (произносится не «текс», а «тех», это греческие буквы)

Логотип системы ТеХ (произносится не «текс», а «тех», это греческие буквы)

Покупая сегодня компьютер, можно быть уверенным: через пять лет он будет считаться устаревшим, и многие новые программы даже не запустятся на нём. Срок жизни программ тоже обычно невелик: новые программы рассчитаны на большие вычислительные мощности и потому быстрее, удобнее, красивее старых.

Так что же — пользоваться компьютерными учебниками или программами, написанными пять лет назад, бесполезно: всё равно они безнадёжно устарели? Обычно это так, но бывают исключения. Например, один из самых популярных учебников по компьютерным наукам начал печататься аж в 1968 году — это многотомник американского учёного Дональда Кнута «Искусство программирования для ЭВМ» («The Art of Computer Programming»). А большая часть физико-математической и технической литературы по сей день верстается на компьютерах с помощью системы (обычно пишут: ТеХ), которая практически не изменялась с 1989 года. Кстати, ТеХ создал тот же Дональд Кнут. Что же это за уникальный человек?

1958 год. Дональд Кнут и его первый компьютер IBM-650

1958 год. Дональд Кнут и его первый компьютер IBM-650

Дональд Эрвин Кнут родился в 1938 году в американском городе Милуоки. В детстве он был очарован печатными изданиями и уже в пятилетнем возрасте отметил все «засечки» у букв в своей азбуке. В юности Дональд увлёкся игрой на саксофоне и трубе и думал, что станет профессиональным музыкантом. Однако поступил Кнут в Западный университет Кейза, где активно занялся физикой. На первых курсах он считал чистую математику весьма скучной, но после встречи с Полом Гюнтером, математиком с незаурядным чувством юмора, Кнут заинтересовался ею.

Шрифты, полученные программой METAFONT

Шрифты, полученные программой METAFONT

В 1956 году Дональд впервые познакомился с компьютером. Он внимательно анализировал примеры программ из руководства для пользователя и многие из них существенно улучшил. Через два года Кнут написал программу, подсчитывающую рейтинг игроков университетской баскетбольной команды по статистике бросков, передач и т. п.; программа имела неожиданный успех, и о ней написали в газетах.

По окончании университета Кейза в 1960 году Кнут поступил в аспирантуру Калифорнийского технологического университета, где продолжил свои изыскания в области компьютерных наук (Computer Science). В 1963 году он защитил диссертацию. Ещё будучи аспирантом, в 1962 году Кнут задумал свой многотомник, «библию для программистов», где хотел изложить фундаментальные алгоритмы, применяющиеся при написании программ. Выходившие с 1968 года тома пользовались большим успехом, и через несколько лет их решили переиздать. Но случилась весьма необычная история.

Иногда в математической статье обозначений настолько много, что одна буква соответствует двум разным объектам

Иногда в математической статье обозначений настолько много, что одна буква соответствует двум разным объектам. В этом случае можно использовать другой шрифт. Слева: запись в ТеХ'е, справа: напечатанная буква

Премия имени Грейс Хоппер от ассоциации вычислительной техники (ACM) впервые была присуждена в 1971 году. Кнут получил её от самой Хоппер

Премия имени Грейс Хоппер от ассоциации вычислительной техники (ACM) впервые была присуждена в 1971 году. Кнут получил её от самой Хоппер

Все уже вышедшие тома «Искусства программирования» были напечатаны в типографии на монотипе1. Но в 1974–75 годах монотипы вытеснила намного более дешёвая технология фотонаборной печати2, при которой сложные формулы получались уродливо. Кнут был крайне разочарован тем, как будет выглядеть его книга после фотонабора. С большим трудом он нашёл монотип и добился перевёрстки на нём. Однако после полного исчезновения монотипов было непонятно, как добиваться красиво изданных книг.

13 мая 1977 года Кнут составил план создания компьютерной системы вёрстки ТеХ. Он рассчитывал осуществить этот план месяцев за восемь, но сильно недооценил объём работ, затянувшихся более чем на 10 лет. В итоге помимо самой системы ТеХ были созданы: язык программирования METAFONT для рисования шрифтов; специальный язык программирования, на котором была написана система ТеХ; а также концепция «грамотного программирования» (англ. literate programming). Эта концепция позволяет писать программу на понятном человеку, «литературном» языке; позже «слова» из этой программы обрабатываются специальной программой, выдающей код на языке, понятном компьютеру.


Я не могу прийти в ресторан и просто заказать еду, потому что начинаю изучать шрифты в меню.

Дональд Кнут


В 1982 году системой ТеХ уже можно было пользоваться для набора текстов, и новое издание «Искусства программирования» было подготовлено в ТеХ'е. Особенностью ТеХ'а стала отточенная вёрстка сложных формул, отвечающая классическим канонам. Есть даже высказывание: «ТеХ — стандарт для набора формул, к которому стремятся приблизиться все остальные издательские системы». Кроме того, Кнут выложил эту систему в свободный доступ, она бесплатна. В результате ТеХ как бы объединил всех математиков: не обязательно переписываться, вставляя в текст формулы «от руки», — каждый может легко освоить ТеХ и набирать тексты с формулами любой сложности. ТеХ стал стандартным форматом научных публикаций, и сейчас большая часть физико-математической литературы верстается в программах, основанных на ТеХ'е. Для набора формул в Википедии и на некоторых других сайтах также применяется ТеХ.

В 1989 году была выпущена версия ТеХ 3.0, оказавшаяся исключительно стабильной. С тех пор исправляются только небольшие ошибки, а очередные версии ТеХ'a нумеруются десятичными знаками числа π. На 2014 год актуальна версия 3.1415926. Кнут завещал, когда он покинет этот мир, присвоить текущей на тот момент версии номер π, а все ошибки, которые останутся, считать особенностями системы.


В этом коде могут быть ошибки. Я лишь доказал, что он работает, но не проверял на компьютере.

Дональд Кнут


Первым не латинским шрифтом, появившимся в ТеХ'е, была кириллица. Кстати, Кнут знает русский язык — он выучил его, чтобы читать работы русских математиков в подлиннике. Одним из друзей Кнута был советский программист Андрей Петрович Ершов, чьи книги автор ТеХ'а очень ценит.

Чек от Кнута на $2,56 = 28 центов

Чек от Кнута на $2,56 = 28 центов

Кнут всегда чрезвычайно беспокоится о точности и правильности того, что он пишет. Чтобы избавиться от ошибок в ТеХ'е и в книге «Искусство программирования», он придумал оригинальную систему: за каждую найденную ошибку выплачивалось небольшое денежное вознаграждение. Например, в первый год после выхода «Искусства программирования» каждый нашедший ошибку получал от автора чек на $2,56. Получение подобного чека — дело очень редкое и почётное, поскольку даже первоначальные версии были практически безошибочны. Большинство обладателей этих чеков не отнесли их в банк, а оставили на память. Сейчас Кнут вместо чеков высылает шуточные сертификаты.

В «почётные пользователи» собственной издательской системы и её кириллической версии Дональд Кнут был принят в мае 1994 года, когда по приглашению Санкт-Петербургского университета посетил Санкт-Петербург для получения звания доктора honoris causa СПбГУ

В «почётные пользователи» собственной издательской системы и её кириллической версии Дональд Кнут был принят в мае 1994 года, когда по приглашению Санкт-Петербургского университета посетил Санкт-Петербург для получения звания доктора honoris causa СПбГУ

Кнут работает над «Искусством программирования» по сей день. В 1990 году он вышел на пенсию, чтобы целиком посвятить себя написанию этого труда. В 2011 году была выпущена первая часть 4 тома, а на сайте автора можно скачать несколько фрагментов второй части.

Дональд Кнут за игрой на органе

Дональд Кнут за игрой на органе. Фото: Peter Badge

В свободное время Кнут занимается музыкой. В 1977 году он опубликовал шутливую статью «Оценка сложности песен», в которой постарался дать математическое описание популярных песен.


Комментарии (1)


 


при поддержке фонда Дмитрия Зимина - Династия