Врезка 1.
Свершилось!
Возможно, именно этим возгласом многие математики и компьютерщики
приветствовали долгожданное переиздание трехтомника Дональда Кнута -
классической монографии по составлению и анализу компьютерных
алгоритмов. Те пухлые, мышиного цвета талмуды первого русского
издания, вышедшие почти четверть века назад, славно потрудились на
ниве автоматизации народного хозяйства, став настоящим бестселлером
(насколько это возможно при отсутствии свободного рынка). Эта
увесистая серия входила в золотой фонд любого уважающего себя
специалиста по АСУП, достать же ее в библиотеках было практически
невозможно: редкие счастливчики держали у себя драгоценные тома
годами. Хорошо помню резкий "скачок акций" Кнута в родной alma mater
в связи с открытием специализации "инженер-программист". Рецидивы
прошлого, кстати, дают себя знать и поныне: узнав о готовящемся в
"Вильямсе" переиздании, ваш покорный слуга, как и многие другие
поклонники искусства программирования, сделал онлайновый заказ на
них еще в канун Рождества и с тех пор не раз стоически переносил
объявления на сайте о переносе даты выхода в свет Кнута-2000. Что ж,
ожидание не было напрасным: свежеиспеченная троица надежно
обосновалась на моем столе. Раздобыв по такому случаю старые,
видавшие виды тома прежнего издания, могу засвидетельствовать:
"апгрейд" Кнута до "новой версии" вполне оправдан хотя бы потому,
что ни искусство программирования, ни искусство полиграфии все эти
годы не теряли времени даром.
Разумеется, не терял времени и сам Дональд Кнут, значительно
дополнивший и исправивший главный труд своей жизни. Им внесены в
текст сотни правок, многие из которых на счету его онлайновых
корреспондентов. К слову, главный "искусствовед программирования"
держит слово, исправно выплачивая символические 256 центов за каждую
ошибку, найденную в тексте монографии (что несколько напоминает
тактику разработки open source, столь популярную сегодня). Судя по
тому, как непросто отыскать брешь в фундаментальных построениях
маэстро Кнута, этот гонорар просто бесценен для его обладателя.
Творчески перерабатывая материал в духе времени, автор вместе с
тем остался верен "генеральной линии", намеченной им добрые четыре
десятка лет назад: система нумерации глав не изменилась ни на йоту,
при этом каждый из томов остался самодостаточным и практически
независимым по тематике от двух других. Новая версия перевода учла
изменения, произошедшие в русскоязычной терминологии за эти годы,
заменив, к примеру, допотопные "ЭВМ" современными "компьютерами",
"табло" - "диаграммами", а "отрезки" - "сериями". Вместе с тем
отсутствие слова "компьютер" в русскоязычном названии серии (как
известно, Кнут назвал свое детище "The Art Of Computer Programming")
мне представляется довольно спорным, особенно в наши дни, когда
значение термина "программирование" размыто донельзя (примером тому
- НЛП).
Верстка нового трехтомника просто изумительна, и во многом
благодаря стараниям автора, который задумал и воплотил в жизнь
настольные издательские системы TеX и Metafont, идеально подходящие
для подготовки математических книг, а также лично бдел над
оригинал-макетом своего детища. И все же не обошлось без ложки
дегтя: схема-вкладыш из 3-го тома, иллюстрирующая слияние массивов
данных на лентах (поистине транспарант, который впору вешать на
стену), в "новом" Кнуте просто-напросто впечатана в текст в виде
нескольких "слепых" страниц с ненавязчивым призывом "сделай сам". Не
исключено, впрочем, что это было допущено намеренно, дабы погрязшие
в drag-n-drop компьютерщики не забыли, как следует обращаться с
ножницами и клеем.
Коллекция завершающих каждую главу алгоритмических упражнений,
любовно собираемых автором на протяжении четырех десятилетий (именно
их красоте и изяществу книга во многом обязана своей популярностью),
выросла чуть ли не вдвое. Каждое из них традиционно оценивается в
баллах сложности, где 50 баллов по "шкале Кнута" представляют
неразрешимую научную проблему, а "штиль" подразумевает немедленный
ответ. Впечатляет стремление автора быть на острие прогресса даже в
упражнениях: так, цена одной из задач, предлагаемых Кнутом в каждом
томе "для затравки" (!), "усохла" с 50 баллов в старом издании до 45
в новом. Причиной "девальвации" стало всколыхнувшее недавно
математический мир доказательство Великой теоремы Ферма!
Что ждет нас, читателей, в XXI веке? Не пора ли подыскивать место
на полках для следующих томов "Искусства программирования"
(насколько известно, серия должна включать семь томов)? На эти и
многие другие вопросы Кнут отвечает на своей Web-страничке.
По словам автора, выход английской версии 4-го тома, посвященного
комбинаторным алгоритмам и рекурсии, запланирован на 2003 год, но
зато он "распухнет" настолько, что выйдет тремя отдельными книгами -
"Алгоритмы перебора с возвратом", "Алгоритмы на сетях и графах",
"Оптимизация и рекурсия". Морально устаревшую машину MIX в трудах
Кнута к тому времени вытеснит новая машина MMIX (не путать с MMX!),
имеющая полноценную RISC-архитектуру.
Стало уже притчей во языцех высказывание Билла Гейтса об
"Искусстве программирования": он настоятельно рекомендует всякому,
кто прочитал эти тома от корки до корки, отослать ему свое резюме.
Не оставаясь в долгу, Кнут включает в предисловие афоризм самого
Билла о том, что "за последние двадцать лет мир изменился". Что ж,
изменения действительно налицо. И радует тот факт, что в следующий
век программисты всея Руси вступят, имея под рукой обновленные книги
Дона Кнута. А уж то, что эти книги позволяют справиться с более
серьезными проблемами, чем написание резюме, можете быть
уверены.
Денис Коновальчик [dyukon@mail.ru]
В начало
Написать комментарий
|