English version  
НовостиОб издательствеАвторыО нас пишутРекламный отделПриглашаем авторовВакансииКонтактыПартнеры
Ваш кабинет
Если вы уже зарегистрированы, введите ваши данные:
Логин  
Пароль
Подлинные перлы
Опубликовано "Открытые системы", январь 2003

Появление второго издания книги Джона Бентли представляется очень своевременным: работа во множестве сред и с различных систем обедняет современную пользовательскую культуру написания текстов на языках программирования. Это связано, прежде всего, с тем, что деятельность современного программиста в основном сводится к подготовке текстов, описывающих отдельные фрагменты решения задач, вроде написания интерфейса, преобразования формата данных и т.п. Книга «Жемчужины программирования» родилась в недрах Bell Laboratories; в ней отражен очень важный аспект дисциплины программирования, лежащий между теорией и практикой и позволяющий при создании программы видеть не только необходимость написания текста, но доказательство, по крайней мере, самому себе, что это сделано наилучшим образом. Последнее обстоятельство и требует теоретического анализа созданного кода.

Книга опирается на цикл статей автора в журнале Communications of ACM, что, с одной стороны, определило ее высокий профессиональный уровень, а с другой — позволило обсудить материал с аудиторией весьма требовательных читателей. Первое издание книги, вышедшее в 1988 году, было переведено в издательстве «Мир». Второе, по утверждению Бентли, при тех же целях, что и у первого, «имеет более широкий контекст», связанный с развитием ИТ и продвижением в программировании для баз данных, пользовательских интерфейсов и сетей. Поэтому некоторые разделы старого издания книги выросли в главы, а другие превратились в разделы, также появились новые.

Сохранено деление книги на три части. В «Предварительных сведениях» автор говорит не столько о жемчужных зернах программирования, сколько о раковине, где обитает жемчужина. Здесь речь идет, по существу, о постановке задачи для программирования, которая обычно делается на естественном языке и требует уточнения. Затем автор показывает, как внимательное отношение к алгоритму решения задачи может привести к написанию эффективного кода программы. Далее в этой части книги он демонстрирует, насколько важно правильно структурировать данные задачи, чтобы программное обеспечение полнее отвечало требованиям, предъявляемым к нему пользователем. Кроме того, обсуждается вопрос о том, как убедиться, что код правильный — автор рассматривает проблему верификации программы. Наконец, читатель сможет познакомиться с реализацией на языке Си рассмотренных в предыдущих главах алгоритмов. По мнению Бентли, первая часть книги является ключевой, так как «иллюстрирует главную мысль: глубокие раздумья над обыденными жизненными ситуациями могут оказаться простой забавой, но могут принести и реальные практические выгоды».

«Производительность» — название второй части книги, в которой внимание читателей сосредоточено на эффективности программ. Естественно, автор рассматривает в первую очередь способы повышения производительности. К ним он относит выбор подходящего алгоритма, реорганизацию структуры данных, оптимизацию кода и использование наиболее выгодной аппаратной платформы. Автор, посвящая этому целую главу, советует читателю развивать навыки предварительных оценок производительности, которые сам с успехом демонстрирует на методах разработки алгоритмов, на оптимизации кода программ и используемой при их выполнении памяти.

Завершающая часть книги («Программный продукт») состоит из глав, которые посвящены программированию практически важных задач: сортировка, построение выборки на основе генерируемой последовательности случайных чисел, поиск в линейных и древовидных структурах, а также обработка «куч» и структур упорядоченных данных, используемых при сортировке массивов и анализе очередей с приоритетами. Наконец, последняя глава части книги знакомит читателя с программированием задач, связанных с обработкой разнообразных строк символов, поэтому автор и назвал ее «Жемчужная строка». Здесь читатель найдет описание задач со строками, полезные структуры данных для хранения строк, хэширование, сбалансированные деревья, массивы остатков и библиотеки для работы со строками.

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

Книга не только снабжает знаниями, но и побуждает творчески относиться к программированию, а уверенное балансирование между теоретическим представлениями (абстракциями) и большим числом практических примеров доставит читателю огромное удовольствие. Среди тех, кому данная книга окажется полезной, можно с уверенностью назвать студентов и преподавателей, а также творческих программистов-практиков. Преполавателям будет особенно интересен опыт, которым Джон Бентли щедро делится на страницах этой книги. Ну, а от прочтения эпилогов к изданиям книги, для которых автор выбрал форму интервью с самим собой, получит большое удовольствие даже искушенный гуманитарий.

Несколько замечаний. Первое много «новаций» в именах и фамилиях авторов цитируемых работ. В отечественных традициях Дьердя Полья именуют Полна или Пойа, а его книга издана под названием «Как решать задачу?». Поэтому даже вездесущий «Яндекс» испытает проблемы с поиском «Полья», а в след за ним и студент не получит в библиотеке этой увлекательной книги при запросе ни по автору, ни по названию. Редактору также следовало посмотреть в учебник математического анализа, чтобы не давать ошибочных толкований символов О() и o().

Геля Рузайкин

январь 2003. Открытые системы

ПОМОЩЬ

Оплата и доставка
Вопросы и ответы
Карта сайта
Обратная связь



ПОДПИСКА

Хотите быть в курсе событий?
Подпишитесь на еженедельную рассылку Издательского дома «Питер» о новинках, акциях, скидках. подробнее


ЗАКАЗ КНИГ
ПО ТЕЛЕФОНУ

Доставка по России и всему миру:
        почтой — (812) 703-73-74

Доставка по Москве:
    курьером — (495) 234-38-15

Доставка по Петербургу:
    курьером — (812) 703-73-74



ГЛАС ЧИТАТЕЛЯ
отзыв на книгу:
Больше денег от вашего бизнеса: скрытые методы увеличения прибыли
книга вне эмоций! это интересно читать, легко объяснить, доступно в применении уже вчера, а принесло результат сегодня. Огромное спасибо! Жду Ваших новых творений! СПАСИБО!
оксана

 

    Новости | Об издательстве | Авторы | О нас пишут | Рекламный отдел | Приглашаем авторов | Вакансии

Авторские права охраняются.
Воспроизведение материалов или их частей в любом виде без письменного разрешения запрещено!
© 1997-2008, Издательский дом «Питер»

Rambler's Top100   Яндекс цитирования     Rambler's TopShop    
Санкт-Петербург
Б. Сампсониевский пр., 29а
тел.: (812) 703-73-74,
(812) 703-73-73
e-mail: postbook@piter.com
sales@piter.com
http://www.piter.com