C++: библиотека программиста
|
| |
| Иллюстрация |
 |
|
| |
|
 |
| |
|
Обложка книги.
|
Первая глава этой книги так и называется: "Зачем нужна
еще одна книга о C++?" и начинается со следующих
слов:
| | Цитата |
 |
|
| |
По последним данным на рынке продается по крайней мере 2 768 942
книги о C++, не говоря уже о всевозможных курсах, обучающих программах,
журналах и семинарах с коктейлями. И все же в этом
изобилии наблюдается удручающее однообразие. Просматривать
полку книг о C++ в книжном магазине ничуть не интереснее,
чем литературу по бухгалтерии. В сущности,
все книги пересказывают одно и то же и отличаются разве
что по весу и количеству цветов в диаграммах и таблицах.
По моим подсчетам, 2 768 940 из них предназначены для новичков,
ориентированы на конкретный компилятор или представляют собой справочники
по синтаксису C++.
|
Честно говоря, не знаю, почему я купил в свое время эту книгу... все дело
в том, что год или два назад, листая несколько книг по C++
в книжном магазине, я решил больше не покупать литературы по
этому языку программирования, если только среди авторов нет Бьерна
Страуструпа ;) И все-таки книга Джеффа Элджера
привлекла мое внимание прежде всего тем, что ее оформление напоминало
купленную незадолго до того "Perl cookbook", которая мне очень понравилась. Первым
делом я натолкнулся на текст, процитированный выше, а потом по содержанию с удивлением
понял, что эту книгу я куплю, несмотря на громадное количество бумажного хлама, находящегося
на моих книжных полках.
Половина книги посвящена рассмотрению различных видов указателей --- от "умных",
до "гениальных"; целая часть под названием "Управление памятью"
рассказывает о том, как эффективно бороться с различными проблемами,
возникающими при работе с "кучей", даны алгоритмы сборки мусора и уплотнения памяти.
В общем, вся книга посвящена реальному использованию C++ для написания
красивых программ. В принципе, это единственная книга на русском языке,
в которой рассматриваются такие проблемы.
Книга написана чрезвычайно живым языком, причем не таким "живым", как
"Основы CORBA", а действительно легким и непринужденным.
Читается практически как интересный приключенческий роман ("про мушкетеров" ;) ).
Очень много фактов, относящихся к проблемам, связанным с традиционными
ошибками программистов (единственная книга, в которой описана ошибка,
возникающая при преобразовании указателя на потомка к указателю на предка через
void*).
Практически вся книга --- источник превосходнейших цитат. Но мне хочется
процитировать начало завершающей главы:
| | Цитата |
 |
|
| |
Вы открыли последнюю главу книги. Если до сих пор вы ее не отбросили ---
примите мои восхищение и сочувствие. Вероятно, я на всю жизнь
отбил у вас вкус к любым реальным проектам, кроме программ управления ядерными
реакторами и полетов на Марс.
|
Я сомневаюсь, что найдется программист на C++, кому эта книга окажется совсем
уж бесполезной. Мне кажется, что даже начинающим программистам стоит заглянуть в нее,
хотя бы для того, что бы краем глаза посмотреть на действительно профессиональный
подход к программированию на C++. Из некоторых недостатков стоит отметить то, что в книге
рассматривается диалект языка в его "достандартном" состоянии, но это нисколько
не умаляет достоинств. Сделать соответствующую поправку совсем несложно.
Резюме
Если раньше, когда меня спрашивали, что надо прочитать по C++,
я рекомендовал только "Язык программирования C++", то теперь обязательно
добавляю, что после его прочтения и реального применения C++ в
своих проектах, следует обязательно ознакомится с этой книгой. Фактически,
среди книг по C++ на русском языке, книга Джеффа Элджера не имеет
аналогов и конкурентов. Настоятельно рекомендую купить --- не пожалеете
даже в том случае, если все приемы, описанные в книге, для вас не новы..
Кстати сказать, в одной из конференций видел примерно следующую фразу,
относящуюся к книге Элджера: "автор попытался сделать из C++ Smalltalk".
В принципе, в этом есть некоторая доля истины.
Версия для печати
| | Ссылки по теме: |
 |
| Бъерн Страуструп |
| |
Язык программирования C++, 3 издание.
|
|
| | Рядом в разделе: |
 |
| Java 2: руководство разработчика (22.08.00) |
| |
Я решил, что мне нужна книга по Java тогда, когда появилось требование что-то написать на этом языке более серьезное, чем рисование... >>>>
|
| Алгоритмы: построение и анализ (11.08.00) |
| |
Эту книгу ждали, по-моему, пару лет. При этом ее никто не рекламировал, не предлагал заказать в интернет-магазине до выхода как новое... >>>>
|
|
 |
| | Рядом по дате: |
 |
| Серпико / Serpico, 1973 (17.08.00) |
| |
Фильм основан на книге Питера Мааса, которая, в свою очередь, описывает реальные события из жизни полицейского. Экслер, например, в своих "субъективных... >>>>
|
| Функция gets() (15.08.00) |
| |
Функция gets(), входящая в состав стандартной библиотеки C, имеет следующий прототип: char* gets(char* s); Это определение содержится в . Функция предназначена... >>>>
|
|
| | Содержание: |
 |
|
|
| | В этом разделе: |
 |
| High Perfomance Computing, second edition. (05.07.01) |
| |
Название книги можно перевести как "Высокопроизводительные вычисления" и эта тематика в русскоязычной литературе не освещена совсем. Традиционно считается, что самой важной... >>>>
|
| Плагиат (19.06.01) |
| |
В последнее время мне стало казаться, что с моим сайтом что-то не в порядке. Вроде, текст есть, живые люди тоже иногда... >>>>
|
| TCP/IP Illustrated, volume I. The Protocols (22.04.01) |
| |
И опять, книга, о которой мне хочется рассказать, насколько мне известно, отсутствует в русском переводе. Тем не менее, в разделе сетевого... >>>>
|
| Decline and Fall of the American Programmer (28.02.01) |
| |
Эдвард Йордон является одним из самых известных специалистов в области создания больших программных систем. Широко известна его нотация, предназначенная для структурного... >>>>
|
| Unix internals: the new frontiers (03.12.00) |
| |
Хочу сразу же предупредить, что эта книга, насколько мне известно, в переводе на русский язык не существует, поэтому прошу прощения, если... >>>>
|
| Операционная система Unix (31.10.00) |
| |
Unix получил очень широкое распространение в современном компьютерном мире. При этом, даже если большая часть домашних компьютеров работает под управлением операционной... >>>>
|
| Язык UML, рукводство пользователя (29.09.00) |
| |
UML (Unified Modeling Language, унифицированный язык моделирования) является еще одной популярной аббревиатурой, которой очень часто пользуются, не понимая того, что за... >>>>
|
| Содержание раздела полностью... |
| |
Примерно в тоже время |
 |
| Серпико / Serpico, 1973 (17.08.00) |
| |
Фильм основан на книге Питера Мааса, которая, в свою очередь, описывает реальные события из жизни полицейского. Экслер, например, в своих "субъективных... >>>>
|
| Функция gets() (15.08.00) |
| |
Функция gets(), входящая в состав стандартной библиотеки C, имеет следующий прототип: char* gets(char* s); Это определение содержится в . Функция предназначена... >>>>
|
| Хронология полностью... |
| |
Содержание |
 |
| Заглавная страница |
| Мой блог |
| Мое резюме |
| Дайджест |
| Программирование |
| |
C&C++
Сети
Unix
Алгоритмы
Оптимизация
Соревнования
Отвлеченно
XML
|
| TeX |
| Туризм |
| |
Байки
Фотографии
|
| Комментарии |
| |
Книги
Web-ресурсы
Фильмы
Интернет
Программное обеспечение
Жизнь
|
| Студенческое |
| Просто так |
| Благодарности |
| Форум |
| Хронология |
|