1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /309, 1999 г./ | Бонус | Поиск  

Джефф Элджер. C++: библиотека программиста.

СЕРГЕЙ КОЗЛОВ,
Опубликовано: 10.8.1999


© 2003, Журнал «Компьютерра» | http://www.computerra.ru/offline
Этот материал вы сможете найти в Интернете по адресу: http://www.computerra.ru/offline/1999/309/3151/

width=141Большинство людей, выучив в детстве буквы, научившись составлять слова и предложения, на этом и останавливается, считая, что язык они знают. И лишь немногие продолжают этот путь, являя миру таинственную магию поэзии.

Современная специализация в программировании разделяет программистов на С++ на две неравные группы - строителей классов (компонентов) и строителей программ (использующих эти классы и компоненты). И если большинство прикладных программистов, имея в своем распоряжении грамотно спроектированную систему классов, редко погружаются в дебри языка, то разработчики классов сталкиваются со сложностями C++ лицом к лицу. Гибкость языка превращается в главный источник ошибок. Он элегантен в одних руках и опасен в других, прост и сложен одновременно.

Мастерству владения языком хорошо учиться по хорошим книгам. Таких книг обычно немного, и, к счастью для языка программирования C++, одна из этих немногих появилась - вышедшая в издательстве "Питер" книга программиста с 20-летним стажем Джеффа Элджера. Оригинальное название "C++ for real programmer" представляется более удачным ("C++ для настоящих программистов" - программистов, решающих реальные, настоящие проблемы).

Это книга не для начинающих, и язык C++ описан в ней не как в учебниках. Здесь язык представлен как целая субкультура со своими идиомами, приемами и стандартными архитектурными решениями, которые не следуют очевидным образом из формального описания языка. Это концентрированный опыт мастеров языка.

Три основные темы - косвенные обращения, гомоморфные иерархии классов и пространства памяти. За этими таинственными названиями скрываются "умные", "мудрые" и "гениальные" указатели - результат переопределения оператора ->; иерархии классов, имеющие одного общего предка; управление памятью путем перегрузки операторов new и delete, и связанная с этим проблема сборки мусора.

Как видно, рассматриваются фундаментальные основы языка. И автору удалось очень удачно организовать материал, избежав шелухи описаний конкретных реализаций компиляторов, работы со структурами данных или принципов проектирования программ. Книга посвящена действительно изучению языка C++ и его идиомам, а описав идиомы, автор рассматривает их практическое применение.

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

"Один из мистических принципов C++ - вы должны понять не то, как язык справляется с конкретной проблемой, а то, как он обеспечивает построение полноценной, надежной программы".

Я убежден, что книга Джеффа Элджера займет достойное и почетное место под рукой разработчика-профессионала.




1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /309, 1999 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru