Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Литература по C++, сабж 
:(
    Опции темы
Guest
Дата 7.11.2005, 22:43 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











круче АРМа Страуструпа ничего не читал! smile
  Вверх
Chaos A.D.
Дата 14.11.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 16.1.2005
Где: 09 RUS

Репутация: 6
Всего: 7



Дочитал недавно -

Эффективное использование STL (Effective STL)
Скотт Мейерс.


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

Предназначена для человека, который уже знает STL, но никак не может отделаться от чувства, что использует только небольшую его часть, или юзает её не эффективно (так и сказано в начале книги).
Большее количество практических советов из книги обязательно осядет у вас в голове. Например про идиому erase-remove, фокус с перестановкой, COAP (Containers Of Auto Pointers), обязан знать каждый.

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

____________________________

Поехали далее...


Современное проектирование на С++.
Андрей Александреску


Ну эту книгу наверное знают многие из вас, отчасти благодаря тому, что она доступна в электронном формате (pdf, anatolix.naumen.ru, ~4 mb), отчасти потому, что она написана скорее для умудренных опытом разработчиков программного обеспечения. Я применил последний термин не случайно...

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

В книге детально описана настолько искуссная техника применения шаблонов, что, я подозреваю, мало кто оценит её по достоинству. Не то что бы всё это было настолько сложно - нет там ничего сложного, спросите тех, кто читал. Дело в том, что те примеры и наработки, которые привел и описал Александреску, позволяют в самом реальном смысле этого слова генерировать код. Приведу цитату из книги :

Цитата

Представьте себе такую картину. Вы приходите с производственного совещания, неся в руках груду диаграмм, на которых нацарапаны ваши комментарии. Окей, говорите вы, тип события, передаваемый от одного объекта другому, в любом случае, не char. Это - тип int. Интеллектуальный указатель на объект класса Widget работает слишком медленно. Его следует сделать неконтроллируемым. И вы изменяете еще одну строку. Фабрика объектов должна поддерживать новый объект Gadget, добавленный соседним отделом. И вы снова изменяете одну строку.
Вы закончили разработку своей программы. Компилируете. Связываете. Готово.
Отлично! Не кажется ли вам, что в этом сценарии что-то не так. Намного правдоподобней выглядит следующее развитие событий. Вы приходите с производственного совещания взмыленный, поскольку вам предстоит выполнить кучу работы. Вы запускаете глобальный поиск. Удаляете фрагмент. Добавляете фрагмент. Делаете ошибки. Исправляете ошибки... В этом и заключается работа программиста, не так ли? Хотя эта книга не гарантирует исполнение первого сценария, она поможет вам проделать несколько шагов в этом направлении. Здесь предпринята попытка представить язык С++ в новом качестве - языка для разработки архитектуры программного обеспечения.


Я прочел эту книгу примерно в июне-июле 2005 года. С тех пор я использовал в своих проектах из этой книги только функторы и реализацию паттерна Singleton. Это натакливает меня на мысль о том, что я был не готов к этой книге. Когда я в очередной раз страдаю от того, что в коде нужно сделать какое-то изменение, кардинально поменять принцип поведения моих классов, я думаю - надо бы перечитать эту книгу. Но все никак руки не дойдут.

Книга однозначно не для beginners и не для intermediate. Я думаю, подавляющее большинство advanced-ов после её прочтения с месяц будут пользоваться библиотекой Loki, и потом забудут практически все из этой книги. А зря.

____________________________


Ну и под конец поста...


Шаблоны С++. Справочник разработчика.
Николай Джосаттис,
Дэвид Вандервуд


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

В книге ну очень подробно расписано практически все о шаблонах. Если вам нужно сдавать какой-нибудь тест на досканальное знание шаблонов, это то, что вам нужно. Кроме того, авторы приводят реализацию обобщенного паттерна Command и Smart Pointer-ов. Все это реализуется иначе, чем у Александреску, и, имхо, хуже. По крайней мере, код читается намного сложнее. Ну а что касается практических ограничений - разницы практически нет.

Кроме того, книгу стоит приобрести не только для того, чтобы сдать какой-нибудь тест по самым недокументированным местам шаблонов. Она нет-нет, да затрагивает какую-нибудь щипетильную тему, вроде поиска Кёнинга, или принципа SFINAE (subsitution-failure-not-an-error, если память мне не изменяет). Прочитать стоит, но после Александресковской книги вас вряд-ли уже что-нибудь удивит smile


____________________________

Так же стоит купить все книги Герба Саттера (Herb Sutter).

Это все по чистому С++.

Цитата(Guest @ 7.11.2005, 22:43)
круче АРМа Страуструпа ничего не читал!


А есть где-нибудь в электронном варианте на русском?

Это сообщение отредактировал(а) Chaos A.D. - 14.11.2005, 11:19
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest
PM MAIL   Вверх
Mayk
Дата 17.11.2005, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Кстати о Саттере.
Из книг "Решение сложных задач на С++" и "Новые сложные задачи на С++" мне гораздо больше понравилась вторая.
В обеих книгах рассматриваются интересные особенности языка, но во второй более лаконични и имхо интересно. В "новых..." кол-во так называемых мини серий (когда одна задача разбивается на n подзадач, каждая из которых всё равно считается как отдельной задачей, но не перечитав предыдущие много можно упустить) гораздо меньше - даже страницу "содержание" читать приятнее. Ну во всяком случае в "новых..." вы не найдете
"6. Управление памятью
Задача 6 1 Управление памятью Часть 1
Задача 6 2 Управление памятью Часть 2
Задача 6 3 Применение auto_ptr Часть 1
Задача 6 4 Применение auto_ptr Часть 2
Задача 6 5 Интеллектуальные указатели-члены Часть 1
Задача 6 6 Интеллектуальные указатели-члены Часть 2
"
Лично мне такое содержание не нравится.

К тому же в "Решении..." была задачка про макросы, но про чудесное слово #undef написано не было. Очень досадное упущение.

Но всё равно must read.




--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
Chaos A.D.
Дата 23.11.2005, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 16.1.2005
Где: 09 RUS

Репутация: 6
Всего: 7



2 Mayk
Согласен, первая книга меня сильно утомила, особенно серия задач по безопасности исключений, которых в этой серии аж десять - двенадцать штук подряд.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest
PM MAIL   Вверх
SergeCpp
Дата 25.11.2005, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



Есть комментарии к Саттеру

Написаны Сергеем Деревяго

Весьма неплохо написаны


Это сообщение отредактировал(а) SergeCpp - 5.1.2007, 20:33
PM MAIL WWW ICQ   Вверх
DeadSoul
Дата 25.11.2005, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



SergeCpp, цитирую оттуда
Цитата
Порнография вида copy(istream_iterator ...) и copy(... ostream_iterator) крайне не рекомендуется к практическому использованию, т.к. любой практически полезный ввод/вывод должен уметь правильно обращаться со всеми возникающими ошибками, плюс должна быть возможность для (относительно) безболезненного изменения формата входных/выходных данных. Как не трудно видеть, копирование посредством i/ostream итераторов данными свойствами не обладает

Дальше второго абзаца не читал.

Какого уровня человек имеет право комментировать Саттера?
Мое мнение:
эту ссылку http://ders.angen.net/cpp3/xcppcomm/xcppcomm.html#intro в МУСОР


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Dray
Дата 26.11.2005, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: 2
Всего: 6



Роберт Седжвик "Фундаментальные алгоритмы на C++"

Книга о самых основных вещах в программировании не только на C++. Алгоритмы и структуры данных. Книга состоит из нескольких частей. 1 - Анализ, 2 - Структуры данных, 3 - Сортировка, 4 - Поиск. В первой части описывается анализ алгоритмов, при этом не так много математики, которая имеет свойство перегружать читателя. Основная прелесть во второй части. Там описываются такие вечные вещи как списки, деревья и другие фундаментальные структуры данных. Эти вещи должен знать каждый программист, тем более те алгоритмы, которые описаны 3, 4 частях. А именно сортировки: "пузырьком", "вставками"... ...сортировка связных списков, подробно анализируется каждый алгоритм, его скорость, плюсы и минусы. Описывается метод "разделяй и влавствуй", который является основой для многих частоиспользуемых алгоритмов. В книге всё основанно на C++ это её особенно выделяет среди остальных книг по алгоритмам.

Это сообщение отредактировал(а) Dray - 26.11.2005, 01:18


--------------------
忍者

user posted image
PM MAIL   Вверх
Дмитрий Т
Дата 26.11.2005, 11:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: 4
Всего: 4



 
Начинающим изучать C++


1.1. "Как программировать на C++" (Х.М. Дейтел, П.Дж. Дейтел) - просто и доступно, удобно именно начать, но для знающего может оказаться черезчур подробной книжкой и отсутствуют сложные темы. Но если опыт программирования небольшой или отсутствует вовсе, то это именно то что надо.

1.2. Если есть базовые знания по программированию, то можно попробовать начать с "Эффективное программирование на C++" (Э. Кёниг, Б. Му) - размер книжки меньше раза в три, но очень хорошее начало пути, рекомендую. Это из серии "C++ In-Depth" Страуструпа которую желательно в будущем прочесть всю. 

2. Когда уже есть базовые знания по C++, то надо браться за "Эффективное использование C++" (С. Мэйерс) - книга читается очень легко и перед серьёзным программированием её обязательно надо прочесть, чтоб потом получать от программирования на C++  удовольствие, а не головную боль. Собственно это набор первоочередных советов по программированию в C++ и даже если в некоторых вопросах автор черезчур перестраховвывается и вы с ним не согласны, то в целом не пожалеете потраченного времени. Как минус надо отметить не малое количество опечаток (издательство "ДМК Пресс" 2006).

3.1. А всё в одном (и учебник и справочник и лёгкое и тяжёлое и советы), так сказать следующий этап, это сам Б. Страуструп "Язык программирования C++", но если не пойдёт, то не отчаиваться - без этой книги вполне можно хорошо программировать.

3.2. Как справочник рекомендую "Полный справочник по С++" (Герберт Шилдт) имеет обидные опечатки, но это действительно самый полный справочник.

Дальше надо углубленно изучать шаблоны.

Это сообщение отредактировал(а) Дмитрий Т - 24.11.2006, 15:33
PM MAIL WWW ICQ Skype   Вверх
kleks
Дата 15.12.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 6.10.2005

Репутация: нет
Всего: нет



Уильям Топп, Уильям Форд "Структуры данных в C++" может кто-нибудь знает где её можно скачать в электронном виде???
PM MAIL   Вверх
Василий
Дата 27.12.2005, 23:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Сейчас читаю книгу "Visual Studio .NET" из серии "Эффективная работа". Издательство Питер. Авторы: Крис Паппас, Уильям Мюррей. (У меня 2002 года выпуска).

Очень доволен этой книгой, считаю ее лучшей из того, что есть у меня по С/С++. Советую эту книгу для начинающих - все очень понятно и корректно излагается.

Пару книг есть на http://vas-unn.narod.ru
  Вверх
koljan
Дата 15.1.2006, 04:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


VIP
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 18.12.2005
Где: г.Архангельск

Репутация: нет
Всего: 1



купил я страуструпа за 560 руб. но мне почти ничего не понятно можно сказать совсем ничего не понятно


--------------------
PM MAIL ICQ   Вверх
DeadSoul
Дата 15.1.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1217
Регистрация: 25.9.2005
Где: Москва

Репутация: 2
Всего: 11



Цитата(koljan @ 15.1.2006, 04:21 Найти цитируемый пост)

купил я страуструпа за 560 руб. но мне почти ничего не понятно можно сказать совсем ничего не понятно

Для новичка эта книга слишкам тяжела


--------------------
 Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". 

Бьем спамеров их же оружием. Пусть весь спам сыпется им
[email protected] 
PM   Вверх
Дмитрий Т
Дата 18.1.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 93
Регистрация: 16.3.2005
Где: Самара

Репутация: 4
Всего: 4



Цитата(koljan @ 15.1.2006, 05:21)
купил я страуструпа за 560 руб. но мне почти ничего не понятно можно сказать совсем ничего не понятно

Посмотри мою заметку "Начинающим изучать C++". Она чуть раньше в этой теме.

Выбери другую книгу и не отчаивайся. Страуструпа читают лучшие профессионалы, поэтому не зазорно подойти к ней позже - у тебя ещё будет время на эту книгу.

Или можно начать последовательно выполнять упражнения которые там есть - поможет вникнуть.

Или читать от начала до конца всю книгу, попрограммировать, а потом опять прочитать - наши мозги не быстро переваривают новое большого объёма и это надо учитывать.

А книга куплена в любом случае не зря - там отличный индекс и советы, поэтому как справочник будет незаменима.
PM MAIL WWW ICQ Skype   Вверх
blackofe
Дата 19.1.2006, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 173
Регистрация: 29.11.2005

Репутация: 4
Всего: 4



Цитата(koljan @ 15.1.2006, 04:21)
купил я страуструпа за 560 руб. но мне почти ничего не понятно можно сказать совсем ничего не понятно

а ты спрашивай, если чего непонятно. для того и форум.
PM MAIL   Вверх
koljan
Дата 19.1.2006, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


VIP
**


Профиль
Группа: Участник
Сообщений: 430
Регистрация: 18.12.2005
Где: г.Архангельск

Репутация: нет
Всего: 1



Цитата

а ты спрашивай, если чего непонятно. для того и форум.




так мне понятны только первые примеры с "cout<<'hello world!\n" не буду же я всю книгу спрашивать


--------------------
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1730 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.