Книга: Этюды для программистов
А вы ноктюрн сыграть могли бы? или Предисловие редактора перевода
А вы ноктюрн сыграть могли бы?
или Предисловие редактора перевода
Своим внешним видом новый суперкомпьютер CRAY-1 мало похож на привычную всем нам вычислительную машину. Это круглый диван с высокой спинкой и мягкими кожаными сиденьями. До предела набитый электроникой, самый дорогой в мире «диванчик» вправе претендовать на включение в «Книгу рекордов Гиннеса». Но, конечно, дело не в форме, а в содержании. Машина выполняет сотни миллионов операций в секунду, и разговор о миллиардах операций уже не воспринимается как лишенная здравого смысла фантазия.
А как изменилось программирование! Никого теперь не удивить программой из одной-двух тысяч команд, когда счет идет на мегабайты. Операционные системы, разного рода АСУ — поистине монументальные произведения, настоящие симфонии из мириад нулей и единиц. И в такой симфонии не должно прозвучать ни одной фальшивой ноты, а ведь пишут ее порой сотни людей — программирование становится массовой профессией.
Как же в этих новых условиях учить и как учиться программировать? Существуют, конечно, задачники по программированию, в которых в достатке найдется примеров-миниатюр. Но, написав программу для вычисления квадратного корня, можно ли браться за разработку компилятора? Уготовано ли блестящее музыкальное будущее тому, кто преодолел только гаммы и сольфеджио?
В 1978 г. издательство «Мир» выпустило два учебных пособия по программированию (Ламуатье Ж.-П. Упражнения по программированию на Фортране IV; Дрейфус М., Ганглоф К. Практика программирования на Фортране), совершенно не похожих на прежние задачники. В них демонстрируется работа над небольшими программами с подробным обсуждением всех этапов работы. Книги оказались чрезвычайно полезными для начального обучения и в ряде вузов были немедленно использованы в учебном процессе. Но как далек еще путь от камерной пьесы к симфонии!
Книга Ч. Уэзерелла призвана заполнить еще одну «экологическую нишу» в учебной литературе по программированию. В книге в живой и увлекательной форме ставится 27 вполне реальных (или близких к реальным) задач-этюдов. Напомним, как определяется этюд в энциклопедическом словаре: «Этюд — музыкальная пьеса, основанная на определенном приеме исполнения и предназначенная для развития технического мастерства исполнителя. Создаются и высокохудожественные виртуозные сочинения этого жанра, предназначенные для концертного исполнения (фортепианные этюды Ф. Листа, Ф. Шопена, Р. Шумана и др.)». Действительно, почти каждый представленный здесь этюд несет в себе свою «изюминку»: структуры данных или управляющие структуры, обработку текстов или рекурсию… И почти каждый из них может служить заданием для курсовой работы. Есть, однако, столь «высокохудожественные» этюды (компилятор для алгебраического языка или интерпретатор-макропроцессор), что не всякий преподаватель осмелится предложить их даже в качестве дипломной работы.
Разумеется, не только студенты, но и опытные программисты с пользой и интересом прочтут книгу, обнаружив в ней немало советов, соображений, приемов. Я уже не говорю о том, что этюды будут хорошим подспорьем для преподавателей программирования. По манере изложения книгу можно было бы отнести к разряду научно-популярных. Эта особенность, несомненно, привлечет к ней внимание многих читателей, далеких от программирования. Рекомендуя книгу Ч. Уэзерелла для перевода, чл.-корр. АН СССР А. П. Ершов отметил еще один важный момент: «Перевод этой книги полезен и сам по себе, и как побудительное средство к дальнейшему составлению подобного рода сборников задач по программированию».
Неординарность книги создала определенные трудности при ее переводе. В каждой главе — своя тема, своя ситуация. Рассматривая ситуации, автор не связывает себя формальными рамками, да и самим ситуациям, заимствованным из американской жизни, не всегда находятся аналоги в нашей действительности. Переводчикам Н. И. Вьюковой, В. А. Галатенко, А. О. Лацису, А. Н. Полюдову и А. Б. Ходулеву помимо обычной переводческой деятельности пришлось заняться исполнительской практикой: некоторые этюды были проиграны, у некоторых проверены приведенные ответы. Там, где это необходимо, были даны примечания или добавлены партии переводчика, а библиография дополнена изданиями, доступными советскому читателю. Материал, добавленный при переводе, помечен знаком *.
Ю. Банковский
Февраль 1982 г.
- А вы ноктюрн сыграть могли бы? или Предисловие редактора перевода
- Предисловие
- 1. Что бы это значило? или Как читать книгу
- 2. Жизнь диктует свои законы, или Клеточные автоматы и машинная графика
- 3. Папочка, а почему море синее? или Раскрашивание карты методом исчерпывающего поиска
- 4. Печатник-подмастерье, или Автоматическое форматирование текста
- 5 Победителей судят, или Составление и оценка турнира
- 6 Финансовые воротилы, или Управление предприятиями и машинное моделирование
- 7. Крисс-кросс, или Эвристическое составление головоломки
- 8 Тезей, или Автоматическое построение лабиринтов
- 9. Познай самого себя, или Программа, печатающая собственный исходный текст
- 10. Не прячьте ваши денежки, или Расчет дохода от вложенного капитала
- 11. Меньше copy — меньше и вздору, или Избыточность текста и сжатие файла
- 12. В духе добрососедства, или Домашняя бухгалтерия
- 13. Тур до Тьюрингу, или Моделирование машины Тьюринга
- 14. Машинные забавы, или Стратегия компьютера при игре в калах
- 15. Проще простого, или Поиск узоров из простых чисел
- 16. Горючие слезы, или Учет расхода бензина
- 17. Тише едешь — дальше будешь, или Моделирование движения на автостраде
- 18. Читаем, пишем, считаем, или Конструирование интерпретатора форматов
- 19. Пиковое положение, или Статистика пасьянсов
- 20. Квадратный трехчлен, или Пакет Для Алгебраических Вычислений
- 21. Превратное обратное, или Ошибки при работе с плавающей точкой
- 22. ? эр Квадрат, или Арифметические вычисления с высокой точностью
- 23. Великий комбинатор, или Оптимальные стратегии для игры с угадыванием
- 24. Секрет фирмы или Математический подход к раскрытию шифров
- Сноски из книги
- Содержание книги
- Популярные страницы
- Предисловие
- Предисловие Кое-что новенькое – поговорим напрямую
- Предисловие от Автора.
- Предисловие автора
- 5.2. Основные приемы работы, элементы текстового редактора
- Как сделать, чтобы остальные могли печатать на моем принтере?
- 4.3. Особенности перевода меню ресторанов, кафе, баров
- Слова благодарности
- Состав сайта