Выбрать главу

Проведя напряженные дни и ночи над реализацией семитомного проекта, Кнут испытал несколько приступов язвы летом 1967 года. Как вспоминает он, это случилось на середине "алгоритма Евклида", на 333 странице второго тома.

Данные издания, как оказалось, имели наибольший спрос из всех книг, продаваемых "Addison-Wesley". В середине 80-х годов две тысячи экземпляров каждого из трех томов расходились в течение месяца, и эта цифра не менялась с середины 70-х годов. Работа была переведена на китайский, румынский, японский, испанский и русский, планировалось издание на португальском и венгерском. Кнут становится все более знаменитым: в 1979 г. в возрасте 41 года он получает из рук президента Дж. Картера Национальную медаль в области науки за свою работу по алгоритмам.

Несмотря на свою импозантность, Кнут говорит быстро, его руки находятся в постоянном движении. Музыка представляет для него большой интерес. Он стал дизайнером органа в стиле барокко, состоящего из 1000 труб, для лютеранской церкви в парке Менло в Калифорнии и построил уменьшенную версию для своего дома. С 1968 года он член Совета факультета Стэнфордского университета как профессор в области компьютерной науки.

Может показаться неправдоподобным, но Д. Кнут также пишет фантастические вещи. Его новелла "Сюрреалистические числа: как два бывших студента занялись чистой математикой и нашли полное счастье" была опубликована в издательстве "Addison-Wesley" в 1974 году. В книге рассказывается об исследовании новой системы чисел, открытой в Кэмбриджском университете Дж. Конвэем. Кнут узнал о данной системе от самого Конвэя в 1972 году. Один журналист отметил, что впервые значимое открытие в математике описывается сначала в научной фантастике. Кнут написал данную книгу не для того, чтобы проповедовать теорию Конвэя, а чтобы объяснить, как человек может создать такую теорию.

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

Кнут изобрел ТеХ, первую издательскую систему, а также METAFONT, систему, которая использует классическую математику для придания внешнего вида шрифтам. ТеХ был назван одним из наиболее важных изобретений в истории печатания книг. Некоторые сравнивали его по значению с Библией Иоганна Гуттенберга, что смутило Кнута.

ТеХ позволяет наборной машине размещать буквы и знаки на странице со значительной гибкостью и эстетичным качеством.

METAFONT позволяет дизайнеру создавать шрифт или комплект шрифта, полный с буквами, числами и пунктуацией в специфичном стиле. Комплект шрифта может быть изображен на мониторе и может быть изменен любым способом.

Кнут ввел обе программы в открытое пользование: ни он, ни Стэнфордский университет не заработали на них ни гроша. Он написал программы, как он говорит, из любви к книгам и для достижения необходимой эстетики.

Когда Кнут сверстал второй том "Искусства программирования", используя METAFONT и ТеХ, результат был лучше, но не идеальным. Плохо получались числа. Так он потратил еще пять лет, работая с лучшими дизайнерами по графике, для того, чтобы создать новые системы и наиболее полно использовать их потенциал. Летом 1986 года разработки Кнута по типографии были завершены, и вышел пятитомник "Компьютеры и набор знаков". Первый том посвящен ТеХ; второй содержит полный источник кодов ТеХ; третий и четвертый, соответственно, посвящены METAFONT и полному источнику кодов для него; пятый том содержит 500 с лишним примеров программирования по METAFONT.

В 1986 году на приеме в издательстве "Addison-Wesley", устроенном в его честь, ему задали вопрос: "Будет ли завершен его семитомник, будут ли дописаны четыре недостающих тома?" Он ответил, что их написание заняло бы еще двадцать лет.

Прошло тринадцать лет. В 1999 году профессор Кнут заявил, что к существующим трем л омам он намерен добавить еще два тома. Кроме того, он решил заменить виртуальную модель компьютера MIX 1009 (модель, похожую на реальные компьютеры конца 60-х — начала 70-х годов), на языке которого написаны большинство алгоритмов первых трех томов, на новую модель — 64-разрядный процессор MMIX 2009 с RISC-архитектурой. В следующих изданиях "Искусство программирования" примеры будут приводиться на языке ассемблера ММIX.

Дональд Кнут полагает, что изучение машинного языка по-прежнему необходимо программисту, ведь надо знать, во что будут переведены конструкции языков высокого уровня и что представляет собой аппаратное обеспечение. В противном случае, по словам профессора Кнута, программы будут получаться весьма странными.

Номер 2009 является средним арифметическим номеров четырнадцати процессоров. В их числе — CRAY I, IBM 701, Alpha 21264, MIPS 4000, StrongArm 110, Sparc 64 и др. Логическая модель MMIX довольно подробно описывает поведение настоящего процессора. Например, для каждой команды указано число тактов, требующихся для выполнения, определено поведение процессора в таких ситуациях, как неверное предсказание ветвления или промах кэша. В модели имеется набор изменяемых параметров, поэтому на самом деле MMIX — это целое семейство совместимых процессоров. Профессор Кнут намерен реализовать метасимулятор для всего семейства, чтобы можно было менять параметры модели и исследовать поведение программ.

Дональд Кнут уже разработал архитектуру процессора, простой симулятор и ассемблер. Первая редакция описания набора команд была опубликована в феврале, а четвертая редакция введения в MMIX вышла в конце июня. Теперь предстоит перенос всего накопленного программного фонда старого MIX на новый RISC-процессор MMIX. Дональд Кнут приглашает к сотрудничеству добровольцев со всего мира, прежде всего студентов.

Как заметил Питер Гордон, издававший книги Кнута в издательстве "Addison-Wesley": "Если его сравнить с Евклидом за его работу "Искусство программирования" и с Гуттенбергом за работу по ТеХ, мы можем только догадываться, каким будет следующее сравнение".

ГЛАВА 5

Создатели компьютерных технологий

Ванневар Буш

Первый отец гипертекста

Ванневар Буш задумал Меmех как комплексную машину. Мы видим ее сейчас как частицу более крупной системы. Мы гордимся, что нам удалось создать механизм, похожий на Меmех. Думаю, что Буш гордился бы нами.

Тим Бернерс-Ли

Ванневар Буш

В истории науки, и особенно американской науки, имя этого человека занимает самое почетное место.

Ванневар Буш был выдающимся ученым, инженером и организатором. "Буш обладал не только прекрасной головой, но и руками, которые, казалось, тоже способны мыслить. Недаром он был одним из самых блестящих инженеров-прибористов, которых когда-либо знала Америка", — писал Норберт Винер. Он разработал первые дифференциальные анализаторы, которые в дальнейшем получили название аналоговых вычислительных машин, он создал первую гипертекстовую систему Меmех, он основал Национальный фонд науки США, он взрастил целую плеяду выдающихся ученых, достаточно назвать только одного из его учеников — Клод Шеннон.