askdev.ru — социальный сайт вопросов и ответов для IT-специалистов: программистов, веб-дизайнеров, системных администраторов

вторник, Сентябрь 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++." (это первый том) на Ozon.ru
"Философия C++. Практическое программирование." (это второй том) на Ozon.ru




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

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


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




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

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


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

50 коммент.:

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. (это не шутка, там много полезного)

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

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

Спасибо.

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

Сейчас читаю "Как программировать на С++" Дейтел Х.М.. Дейтел П.Дж.
Очень нравится, очень советую!

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

Р.Лафоре "ООП в С++" - лучшее для начинающих, что я читал сам. Шилдт как писатель ничего, но программист...

По 3D - Ламот действительно неплохо описал основы в "Советах профессионала...". Но много лишнего и не очень структурировано ИМХО.

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

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

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

акуеть.. до сих пор был уверен что умные девушки красивыми не бывают.. О_о

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

Я начинал с Архангельского "C++ Builder 6"...
Ну а молюсь и поклоняюсь "Язык программирования С++.Специальное Издание" Бьерна Страуструпа

C начинал изучать с "Язык программирования С(2-е издание Кернигана----Ритчи)"



umbrella (umbrella.lab@bk.ru)

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

а мне понравилась книга Роберта Лафоре "Объектно-ориентированное программирование в c++". автор довольно таки хорошо все разжевывает

Green Chest комментирует...

Да, я тоже прочитал Лафоре и прорешал все задачи, которые предоставлялись в книге - вполне хорошая книга.

Иероглиф комментирует...

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

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

Для абсолютных новичков в С++ самая лучшая книга это "Язык С++. Курс объектно-ориентированного программирования" Уолтер Савитч

Сергей Зорин.
P.S. Пост про КодЛайт тоже мой.

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

Уважаемая, Алёна. Уберите, пожалуйста ссылки на магазин Bolero.ru, хотя бы временно, пока ситуация с магазином не прояснится.
Дело в том, что в последние 2 месяца на магазин поступает много жалоб, что они не доставляют заказы и не отвечают на е-мейлы (Да, я в курсе, что магазин крупный и давно работает. Я сам ни раз заказывал там книги. Но вот мою книгу, заказанную в январе этого года, они так и не выслали до сих пор).
Подано более 70 претензий на магазин в Арбитраж Вэб-мани.
Так что Болеро теперь входит в "топ 20 WMID по числу претензий", и находится в одном списке с разными сетевыми мошенниками.
Очень надеюсь, что магаин исправится и не пропадёт с деньгами клиентов под шумок кризиса.

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

2al:

Уважаемая, Алёна. Уберите, пожалуйста ссылки на магазин Bolero.ru, хотя бы временно, пока ситуация с магазином не прояснится.

Угу, убрала, спасибо.

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

мне очень понравился Шилде
"Полный справочник по С++"
и "С++ методики программирования Шилдта"

genes1s-tt комментирует...

Спасибо за очень информативную статью, Алёна, давно искал такой обзор по книгам, а то хочется начать программирование, в частности С++, а книг море, и не знаешь, с чего начать...
К сожалению, во многих книгах, которые указаны тут, требуется изначальное знание основ в C или в других языках программирования, сейчас нашел книгу С++Ж руководство для начинающих Г. Шилдта, стоит ли с нее начинать свое знакомство с языком? Заранее спасибо, Алексей.

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

2genes1s-tt:Спасибо за очень информативную статью, Алёна
Пожалуйста!

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

сейчас нашел книгу С++Ж руководство для начинающих Г. Шилдта, стоит ли с нее начинать свое знакомство с языком?
Я сама ее не читала, но народ хвалит.

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

а почему же никто не вспомнил классику -
Керниган Б.В. , Ричи Д.М. "Язык Си"

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

Вы это, кончайте уже. Читать - вредно. Читать нужно не книжки, а код.

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

Очччччень хорошая книга:

A Complete Guide to Programming in C++
by Ulla Kirch-Prinz and Peter Prinz ISBN: 0763718173
Jones and Bartlett Publishers © 2002 (825 pages)
------
В интернете можно найти .chm

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

Два слова в догонку о
A Complete Guide to Programming in C++
by Ulla Kirch-Prinz and Peter Prinz

- учебник;
- знание С не предполагается;
- тем не менее, содержит нетривиальный материал, включая темплеты и подробное обсуждение множ. наследования;
- текст ИДЕАЛЬНО структурирован - каждая тема-параграф представлена одной страницей кода (пример(ы)) и одной страницей теории (поясняет код примера(ов))
- По читабельности превосходит даже знаменитый C++ Primer By S. Lippman, кот. тоже - очччень хороший учебник.
- в Complete Guide - всего 825 страниц, в C++ Primer (Fourth Edition) - 912, в Thinking in C++ - 1470.

Хороших книг по С++ много, но Complete Guide и C++ Primer считаю лучшими учебниками.
---

И еще:

"а почему же никто не вспомнил классику -
Керниган Б.В. , Ричи Д.М. "Язык Си""

потому, что нет времени изучать все в "хронологическом" порядке. КР - действительно классика и очень элегантное (наверное, лучшее) введение в С. Но не в С++. А учить С перед С++ вовсе не обязательно.

"Вы это, кончайте уже. Читать - вредно. Читать нужно не книжки, а код."

Это Вы кончайте! Насмотрелся я на программеров, не читающих книжки ... Начинающему НУЖЕН хороший учебник. А про читает книжки всю жизнь. Даже интернет этого не отменил.

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

Ребята, эти книги есть в электронном виде!

Философия С++. Введение в стандартный С++

http://www.dbebooks.ru/4/1830-filosofija-s.-vvedenie-v-standartnyjj-s.html


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

http://www.dbebooks.ru/4/jazyki-programmirovanija/4709-filosofija-c.-prakticheskoe-programmirovanie.html

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

Начинал изучать С++ в далеком 1999, но препод был не ахти и собственно из-за этого все на месте и застопорилось. Но недавно проснулось желание все-таки освоить то, что мне нравилось, что меня интересовало и интересует. Перерыл много литературы, но остановил свой выбор на "Савич У. Программирование на C++" (Питер-БХВ 2004).
Очень доступно объясняется материал, интеерсный метод изложения, да и порядок тоже. Снабжена книга огромным кол-вом примеров и в конце каждой главы ряд практических заданий с помощью которых отлично отрабатывается материал данной и предыдущих глав.

P.S> Искал новые издания этого автора, но сейчас он пишет книги по Java.

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

Я рекомендую самого создателя С++, книгу Бъерна Страуструпа. Лежит тут. У него есть ещё одна книга, справочник по С++, лежит где-то там же. Разъясняет всё по полочкам, просто и ясно. Правда, начиная с середины, перегибает палку (ну он же профи).

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

Может не для начинающих это, но можете посоветовать хорошие книги по Рефакторингу в С++???

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

Dragon:

Может не для начинающих это, но можете посоветовать хорошие книги по Рефакторингу в С++???

Мартин Фаулер, "Рефакторинг"

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

У кого-нибудь есть книга "C++ базовый курс", автор Герберт Шилдт в электронном виде?

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

Попробуйте новую книгу Страуструпа "Язык программирования C++: принципы и практика" (ориг. "Programming: Principles and Practice Using C++, Bjarne Stroustrup")

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

Здравствуйте мой адрес электронной почты kolia88@gmail.com, интересует издание "C++ базовый курс", автор Герберт Шилдт в электронном виде, прошу пришлите кому не составит труда или ткните где её скачать можно буду вам очень признателен...