AOP_Tom3 (1021738), страница 18
Текст из файла (страница 18)
И будут в смущении плетущие сети... — Книга пророка Исаии (тр:9у» * Здесь приведен перевод цитаты из "Ветхого Завета" на английском языке, использованный автором в оригинале настоящего издания. В каноническом издании "Библии" на русском языке этот стих звучит следующим образом: "И будут в смущении обрабатывающие лен н ткачи белых полотен". — Ирни, перев. От издателей русского перевода На мировом рынке компьютерной литературы существует множество книг, предназначенных для обучения основным алгоритмам и используемых при программировании. Их довольно много, и они в значительной степени конкурируют меж,ау собой.
Однако среди них есть особая книга. Это трехтомник "Искусство программированияе Д. Э. Кнута, который стоит вне всякой конкуренции, входит в золотой фонд мировой литературы по информатике и является настольной книгой практически для всех, кто связан с программированием. Мы как издатели видим ценность книги в том, что она предназначена не столько для обучения технике программирования, сколько для обучения, если это возможно, "'искусству" программирования, предлагает массу рецептов усовершенствования программ и, что самое главное, учит самостоятельно находить эти рецепты.
Нн для кого не секрет, что наши программисты являются одними из наиболее высококвалифицированных специалистов в мире. Они достойно представляют за рубежом отечественную школу программирования и информатики, которая внесла значительный вклад в формирование фундаментальных основ компьютерных наук. Дэя сохранения такого уровня н продвижения вперед необходимо своевременное издание нв русском языке книг, отражающих основные мировые достижения в этой области. Трехтомник "Искусство программирования" Д. Э. Кнута — одна из таких книг. Мы гордимся тем, что библиотеки программистов, преподавателей, студентов, старшеклассников и многих других пополнятся этой классической книгой и что тем самым л~ы внесем свой вклад в формирование более глубокого понимания основ компьютерных наук.
Мы глубоко убежденм, что книга "Искусство программирования" Д. Э. Кнута способна приблизить человека к совершенству. Надеемся, наше издание на русском языке этой замечательной книги еще раз подтвердит, что истинные ценности с годами не устаревают. — Виктор Штонда, Геннадий Петрикоееть Алексей Орлооич, издатели О книге "Искусство программирования" У каждой книги своя судьба. Одни появляются незаметно и так же незаметно исчезают в потоке времени, покрываясь пылью на полках библиотек.
Другие в определенный период пользуются спросом у узкого круга специалистов, пока им на смену не приходят новые справочники. Третьи, поднимаясь над временем, охазывают мощное влияние на технологическое развитие общества. Книг, относящихся к последней категории, не так уж и много. Их выход в свет — всегда праздник. Проходят годы, изменяются технологии, но новые поколения с постоянным интересом перечитывают их страницы. Именно к таким кни1вм относится предлагаемый читателю многотомный труд известного американского ученого Дональда Эрвина Кнута "Искусство программирования". Прошло почти 30 лет со времени первого издания в 1972 году в США этой книги. Она была переведена на большинство языков мира, в том числе и на русский.
К настоящему времени на территории стран СНГ трехтомник Д. Э Кнута стал библиографической редкостью. В 1998 году в США вышло третье издание "Искусства програл1мирования". В нем сохранена последовательность изложения материала прежних версий, ио значительно расширен список осы.эок, в который включены свежие и наиболее важные результаты, добавлены новые упражнения и комментарии, устранены неточности. Учитывая популярность во всем мире "Искусства программирования", давно следовало ожидать появления нового переводного издания на русском языке, которое вы и держите в руках. В чем же успех "Искусства программирования" Д.
Э. Кнута? Во-первых, эта книга — великолепное учебное пособие по составлению и анализу компьютерных алгоритмов. Ее разделы могут быть включены во многие университетские курсы по технологиям программирования, теории алгоритмов, дискретной математике. Книгу могут изучать и школьники старших классов, знакомые с основами программирования.
В качестве основного языка записи алгоритмов автор выбрал язык машинных команд гипотетического универсального компьютера йХХ. Это позволяет строить оптимальные программы с учетом особенностей вычислительных машин. Перенести 91 Х-программы на реальные ЭВМ или переписать их на языках высокого уровня не составляет особого труда. Логика работы программ почти всегда поясняется простыми блок-схемами.
Во-вторых, тщательно подобранный материал, вошедший в книгу, включает в себя основные фундаментальные классы алгоритмов, которые в том или ином виде наиболее часто встречаются в практике программирования. В-третьих, немаловажным фактором успеха книги Д. Э. Кнута является энциклопедичность изложения. Профессор Кнут отличается уникальной способностью отслеживать проблему от исторических предпосылок ее зарождения до современного состояния. Многочисленные ссылки на работы старых мастеров (вплоть до времен античности), заключенные и современный контекст, создают у читателя особое чувство причастности к историческому развитию научных идей и методов.
В-четвертых, следует отметить мастерство изложения. Книга рассчитана на широкий круг читателей — от начинающих студентов до программистов-профессионалов. Каждому будет интересно изучать компьютерные алгоритмы на своем уровне. Материал самодостаточен. Для понимания сути методов не требуется знания особых разделов математики илн специальных технологий программирования. Прослеживается определенная "музыкальная" композиция сюжетного построения (дома у Д.
Э. Кнута есть небольшой орган, на котором он играет). Список составляющих успеха "Искусства программирования" можно легко продолжить. Автор зтих строк прослушал курс "Искусство программирования" в изложении профессора Кнута в 1976-1977 годах во время стажировки в Станфордском университете. Тогда формировалась алгоритмическая основа технологий программирования, у истоков которой стоил Д. Э. Кнут. Было много обсуждений, семинаров, творческих замыслов. Значительные книги всегда связаны с судьбой автора.
Дональд Эрвин Кнут начал работу над "Искусством программирования"' в 1962 году. Продолжает ее и сейчас. У него много планов. Впереди новые тома "Искусства программирования", которых с нетерпением ждут читатели. — Профессор А нагполий А носимое От редактора перевода Со времени первого издания книги "Искусство программирования" Д. Э. Кнута прошло около 25 лег. Тем не менее книга не только не устарела, но по-прежнему остается основным руководством по искусству программирования, книгой, по которой учатся понимать суть п особенности этого искусства. За этп юды на английском языке вышло уже третье издание 1-го и 2-го томов, а также второе издание 3-го тома. Автор внес в них значительные изменения и существенные дополнения.
Достаточно сказать, что число упражнений практически удвоилось, а многие упражнения, включенные в предыдущие издания (особенно ответы к ним), модифшшрованы. Существенно дополнены и переделаны многие главы и разделы, исправлены неточности и опечатки, добавлены многочисленные новые ссылки на литературу, использованы теоретические результаты последних лет.
Значительно преобразилась глава 3, особенно разделы 3.5 и 3.6, а также разделы 4.5.2, 4.7, 5.1.4. 5.3, 5.4.9, 6.2.2, 6.4, 6.5 и др. Естественно, возникла необходимость в неволе издании книги. Перевод выполнен по третьему изданию 1-го и 2-го тоыов и второму изданию 3-ю тома. Кроме того, учтены дополнения и исправления, любезно предоставленные автором. При переводе мы старались сохранить стиль аитора, обозначения и манеру изложения материюга. В болыпинстве случаев использовались термины, принятые в научной литературе на русском языке. При необходимости приводились английские эквиваленты. По многим причинам, в частности из-за сложности некоторых разделов, читать книгу "Искусство программирования" далеко непросто.
Одной из причин, которые затрудняют понимание книги, является манера изложения автора; привыкнув к ней, можно существенно облегчить чтение. Из-за обилия материала (часто мало связанного между собой) невозможно построить книгу так, чтобы различные понятия и определения вводились сразу же при первом упоминании о них. Поэтому в главе 1 могут обсуждаться без ссылок понятия., строгие определения которых приводятся в 3-м томе. Именно поэтому так велика роль предметного указателя, без которого понимание книги было бы существенно затруднено.