вторник, Сентябрь 19, 2006

Хорошие книги по С++ для начинающих

Это продолжение рассказа о книгах по C++. Начало можно найти тут: Хорошие книги по C++

Я начала изучать С++ на семинарских занятиях. Потом, помню, очень мне понравилась книжка "Turbo C++: язык и его применение" Цимбала и Моисеева. Но сейчас это не очень актуально. Существуют две книги, которые чаще всего рекомендуют новичкам. Это Thinking in C++ и C++ Primer. Когда я начинала изучать С++, я о них ничего не знала, увы.




"Thinking in C++" - это сборник из двух томов, Автор Bruce Eckel.

На каком-то форуме видела следующий отзыв об этих книгах: "I fell in love with C++ reading those books". Несмотря на то, что читать я ее не читала, я внимательно просмотрела ее наискосок. Там как-то мягко и ненавязчиво разъясняются вещи, сначала простые, а потом постепенно все сложнее и сложнее. Там и множественное наследование есть, и вложенные шаблоны... Что особенно приятно, она совершенно легально выложена онлайн, но на английском. Есть несколько переводов этой книги, русского я не видела ни в онлайне, ни в книжных магазинах.
Update 20.09.2006: на русском не нашла, потому что не смогла угадать как ее перевели. В русском переводе она называется "Философия C++."
"Философия C++. Введение в стандартный C++." (это первый том) на Bolero.ru
"Философия C++. Практическое программирование." (это второй том) на Bolero.ru
"Философия C++. Введение в стандартный C++." (это первый том) на Ozon.ru
"Философия C++. Практическое программирование." (это второй том) на Ozon.ru




"Язык программирования C++. Вводный курс", Стенли Липпман, Жози Лажойе

В русском переводе название не очень запоминающееся, но это тот самый C++ Primer. Рекомендуется как очень полная вводная книга. Я так понимаю, несколько загрузочная.

"Язык программирования C++. Вводный курс" на Bolero.ru
"Язык программирования C++. Вводный курс" на Ozon.ru




"Основы программирования на С++. Том 1", Стенли Липпман

Я не знаю, почему в наших интернет-магазинах к названию приписывают Том 1. И где тогда остальные тома? Изначальное название этой книги Essential C++ и на amazon.com о томах нет ни слова.
Рекомендуется как краткий и сравнительно легкий курс введения в С++. Иногда ее предлагают прочесть перед C++ Primer.

"Основы программирования на С++. Том 1" на Bolero.ru
"Основы программирования на С++. Том 1" на Ozon.ru

24 коммент.:

Alexey Filippov комментирует...

Философия C++. Практическое программирование
Эккель, Эллисон
http://www.books.ru/shop/books/206028

Alexey Filippov комментирует...

И, видимо, первый том:
Философия С++. Введение в стандартный C++. 2-е издание. Том 1: введение в стандартный С++
Б. Эккель
http://www.books.ru/shop/books/156970

Анонимный комментирует...

Для начинающих хорошей книгой будет "C++ базовый курс", автор Герберт Шилдт

night beast комментирует...

А что уважаемая думает об
"Accelerated C++: Practical Programming by Example" by Andrew Koenig?

Divetoh комментирует...

Эккеля сейчас читаю, очень хорошая книжка на мой взляд.
На великом и могучем выложена здесь:
Том 1
Том 2

В случае проблем с сайтом прямые ссылки на рапидшару:
Том 1
Том 2

_ppr комментирует...

Про Эккеля - действительно то что нужно для новичков и не только!!! Хоршиая книга после прочтения 1го тома с монитора купил оба на бумаге !

Alena комментирует...

Философия C++. Практическое программирование

Угу, это Thinking in C++. На русском я его не нашла, потому что не смогла угадать как его перевели...

А что уважаемая думает об
"Accelerated C++: Practical Programming by Example" by Andrew Koenig?


Не читала, но эта книга есть у меня в списке "надо прочесть".

poletaev комментирует...

Я когда-то Java учил по книжке Эккеля "Thinking in Java". Так что со всей ответственностью заявляю, что автор на самом деле хорош. Правда "Thinking in C++" не читал, хотя и знаю о её существовании. Липпмана читал - для новичков самое то. А вот Шилдта я бы не советовал, уж слишком у него всё поверхностно. Он мне чем-то напоминает детективщика Чейза - штампует полукачественные книжки ради тиражей. Но это очень субъективно.

Dmitry Kormalev комментирует...

"Основы программирования на С++. Том 1", Стенли Липпман
Я не знаю, почему в наших интернет-магазинах к названию приписывают Том 1.


Тогда начала выходить на русском серия C++ In-Depth. Первый том - Липпман, второй - Кениг и Му ("Accelerated C++" - "Эффективное программирование на С++"). Кстати, к названию иногда приписывают "Том 2". Потом тома перестали нумеровать явно, но в выходных данных осталось (по крайней мере, в издании 2002 года): Александреску получил номер 3, а Саттер - 4.

Новые книги серии уже идут без номеров: "Новые сложные задачи на C++" Саттера; "Стандарты программирования на C++" Саттера и Александреску. А "C++ Boost Graph Library" вообще вышла в издательстве "Питер".

Aectann комментирует...

Замечательная книга по С++ для новичков - "Объектно-ориентированное программирование в С++" Роберта Лафоре. Написана понятнвм для новичка языком, читается легко. В конце каждый главы есть упражнения - довольно большой плюс(было бы побольше практических заданий - было б вообще замечательно, но что есть, тому и рады..)))

Анонимный комментирует...

Могу прислать Липпман первый том Основы программирования на С++. 10 мб!

Анонимный комментирует...

azemel dog gmail dot com

Анонимный комментирует...

А я щас читаю "Язык программирования C++.Лекции и упражнения.Стивен Прата".Очень не плохая книна.Кто-нибудь слышал?
http://www.williamspublishing.com/Books/5-8459-1127-3.html

Lazin комментирует...

Некоторые полезные для начинающих вещи есть в книге Джефа Элджера - "Библиотека программиста" (первые 3 главы - синтаксис языка, шаблоны, исключения).

chezz комментирует...

Анонимный пишет...

Могу прислать Липпман первый том Основы программирования на С++. 10 мб!


Больше года с момента поста прошло, однако может у кого есть... Поделитесь пожалуйста?! Обыскал весь инет..

Анонимный комментирует...

>Поделитесь пожалуйста?! Обыскал весь инет..

http://anatolix.naumen.ru/Books/EssentialCPP?v=yuq

Анонимный комментирует...

Сейчас читаю "Философия С++. Введение в стандартный C++". Начал изучать с++ с нуля, до этого программировал на VB.
Незнаю как те кто здесь пишут про нее что она очень хорошая книга для новичков, возможно это люди уже имеющие опыт общения с с или с++, но для меня как для новичка она от главы к главе все больше запудривает мне мозги. (Приведу пример: автор в одном из примеров вводит структуру, хотя до этого он о них еще ничего не говорил; мало того после примера он даже не говорит что понятие структуры будет объяснятся далее в следующих подглавах. Хорошо объяснил укахатели переменных, но почти ничего не сказал про указатели на массивы, структуры и т.д.) Вообщем сейчас сижу в 4 главе и почти ничего не понимаю. Возможно автор далее начнет излагать ладно, но пока что-то не очень.

KEHT комментирует...

По-моему там в самом начале книге говориться, что читатель должен иметь хотя бы начальное представление о Си

Алёна комментирует...

2Анонимный:
Незнаю как те кто здесь пишут про нее что она очень хорошая книга для новичков, возможно это люди уже имеющие опыт общения с с или с++, но для меня как для новичка она от главы к главе все больше запудривает мне мозги.
(Приведу пример: автор в одном из примеров вводит структуру, хотя до этого он о них еще ничего не говорил; мало того после примера он даже не говорит что понятие структуры будет объяснятся далее в следующих подглавах. Хорошо объяснил укахатели переменных, но почти ничего не сказал про указатели на массивы, структуры и т.д.)


Попробуйте "C++ базовый курс" Герберта Шилдта, раз "Философия" плохо пошла. Я общалась с ребятами, которые учили С++ с нуля, они его хвалили.

Анонимный комментирует...

Во-первых огромное спасибо Алёне замечательный блог. Я влюбился в него с первого взгляда.
А по делу: Шилд - действительно хорош для начинающих как в ООП, так и в программировании в целом. Доступно, понятно и в то же время подробно.
Thinking C++ я не читал, но в свое время знакомился с Джавой по Thinking Java. Мне она не показалась сложной. Вся суть в том, что изучая язык, важно все примеры перепечатывать вручную, а потом еще и "поиграть" с ними, поэксперементировать, дополнить чем-то свом. Если что-то на данном этапе не понятно, а в книге написано: "к этому мы еще вернемся", то нужно поверить автору на слово. Авторы не всесильны и им приходится часто опускать кое-какие аспекты до лучших времен, но не упомянуть о них им тоже нельзя.
А еще нужно понимать, что язык не выучишь, прочитав одну книгу (я не говорю об опытных программистах). Все приходит с практикой, а книг, перечисленый Аленой и в коментариях хватит с головой для первого знакомста.
С уважением, Infeus.

Анонимный комментирует...

Не смог скачать по этим ссылкам
"Философия C++. Введение в стандартный C++."
Может, есть другие рабочие бесплатные? Можно на pics@bk.ru

Анонимный комментирует...

Алёна, а что вы можете посоветовать для начинающего программиста Direct3D?

Алёна комментирует...

2Анонимный:

Алёна, а что вы можете посоветовать для начинающего программиста Direct3D?

Пожалуй "Программирование трехмерных игр для Windows. Советы профессионала по трехмерной графике и растеризации". И DirectX SDK. (это не шутка, там много полезного)

Вообще у меня был пост по книгам по программированию игр, вот он:
Хорошие книги по программированию игр

Антон комментирует...

Спасибо.