Архитекторы компьютерного мира
Шрифт:
Весной 1977 года Дональд Кнут резко изменил род своих занятий. Просматривая гранки проверенного издания второго тома, он неожиданно почувствовал, что полиграфия нуждается в кардинальном изменении. Он хотел уничтожить эти гранки, поскольку они выглядели ужасно. Пространственное расположение знаков было плохим, и особенно острой проблемой в издании был стандартный шрифт и вид математических уравнений. Кнут хотел понять, почему печатная работа, в которой использовался фоторепродукционный шрифт, была такой непривлекательной. Он решил посвятить несколько месяцев тому, чтобы попытаться совместить математику и компьютерную науку с задачей улучшения внешнего вида книг. Проект длился девять лет!
Кнут изобрел ТеХ, первую издательскую
ТеХ позволяет наборной машине размещать буквы и знаки на странице со значительной гибкостью и эстетичным качеством.
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 вышла в конце июня. Теперь предстоит
Как заметил Питер Гордон, издававший книги Кнута в издательстве "Addison-Wesley": "Если его сравнить с Евклидом за его работу "Искусство программирования" и с Гуттенбергом за работу по ТеХ, мы можем только догадываться, каким будет следующее сравнение".
ГЛАВА 5
Создатели компьютерных технологий
Ванневар Буш
Первый отец гипертекста
Ванневар Буш задумал Меmех как комплексную машину. Мы видим ее сейчас как частицу более крупной системы. Мы гордимся, что нам удалось создать механизм, похожий на Меmех. Думаю, что Буш гордился бы нами.
Ванневар Буш
В истории науки, и особенно американской науки, имя этого человека занимает самое почетное место.
Ванневар Буш был выдающимся ученым, инженером и организатором. "Буш обладал не только прекрасной головой, но и руками, которые, казалось, тоже способны мыслить. Недаром он был одним из самых блестящих инженеров-прибористов, которых когда-либо знала Америка", — писал Норберт Винер. Он разработал первые дифференциальные анализаторы, которые в дальнейшем получили название аналоговых вычислительных машин, он создал первую гипертекстовую систему Меmех, он основал Национальный фонд науки США, он взрастил целую плеяду выдающихся ученых, достаточно назвать только одного из его учеников — Клод Шеннон.
Ванневар Буш родился 11 марта 1890 года в городе Эверетт, штата Массачусетс. В 1913 году он окончил колледж Тафтса, получил степени бакалавра и магистра и начал работать в General Electric в отделе тестирования электрооборудования. В 1914–1915 годах Ванневар Буш служил в береговой инспекции Военно-морских сил США и одновременно преподавал математику в колледже Тафтса.
В 1916 году он одновременно окончил Гарвардский университет и Массачусетский технологический институт (MIT). Затем он работает доцентом на кафедре электротехники в колледже Тафтса, а с 1919 года становится доцентом МITа, где ведет дисциплину "Передача электроэнергии". В 1923 году он получает звание профессора MIT.
С 1925 по 1927 год он с группой своих сотрудников построил интеграф, машину непрерывного действия, способную решать дифференциальные уравнения 1-го и 2-го порядка. В 1928–1930 годы он изобретает свой знаменитый дифференциальный анализатор. Вот что пишет очевидец событий Норберт Винер: "В этих дифференциальных анализаторах Буша величины представлялись, например, углами вращения некоторых осей и могли складываться между собой, перемножаться, делиться друг на друга и т. д. Кроме того, эти приборы имели особое устройство, называемое интегрирующим диском, которое показывало окончательный результат, полученный после выполнения всех нужных операций." В дальнейшем, в середине 30-х годов, Буш переводит свой электромеханический дифференциальный анализатор на электронную элементную базу, причем интересно заметить, что эволюция превращения электромеханического анализатора в полностью электронный была до некоторой степени аналогична процессу развития телевидения, хотя она проходила несколько позже. Анализаторы стали называть аналоговыми вычислительными машинами, и они с успехом использовались во многих странах для решения систем дифференциальных уравнений с нелинейными коэффициентами, включая довольно сложные уравнения высоких порядков.