Какая книга по С++ будет лучше всего для тотального новичка?
Пробовал изучать плюсы по нескольким книгам (по очереди, не одновременно). Иногда выбор книг был неправильный.
И все (почти) сводится к тому, что в книге объясняют какую-то тему, и вроде бы все понятно, но в заданиях затем идет лютая дичь (по крайней мере, так кажется).
Я раньше с программированием почти не сталкивался.
Просьба моя такая: посоветуйте книгу, где будет описываться довольно подробно, что делает каждая строчка в примере, как можно использовать то или это и все в таком духе. Максимально подробно.
Толстый Лорри, Дело не в сложности. Утрируя можно сказать что Си является подмножеством плюсов. Поэтому изучение Си перед плюсами ничуть не менее естественно, чем просто постепенное изучение языка.
И нет, несмотря на то что планка сложности у каждого своя, объективно плюсы сложнее чем Си, как раз потому что плюсы это надмножество над Си. Там больше концептов.
Иван Корюков, в любом учебнике по С++, где это подмножество освещается.
Но учебники ориентированы на читателей с различной подготовкой, о чем, собственно, я и спрашиваю.
Толстый Лорри, сначала пытался по Страуструпу "Язык программирования С++". Потом понял, что это не для новичков.
Еще раньше пробовал пару книг, их не помню. Последней книгой является "Программирование. Принципы и практика" того же Страуструпа. Она сначала показалась очень легкой, все описывалось, но чуть дальше я и задания перестал понимать, и т.д.
arlazey, Страуструп просто плохо пишет, увы. Его "Язык программирования С++" стоит перечитать позже, когда сможете как-то ориентироваться в его потоках сознания. Просто попробуйте поискать другого автора.
Люди, которые советуют сначала учить просто C, вы не правы. C и C++ -- это два разных ЯП, и С++ это даже не супермножество С (т.к. очевидно, что не любая программа, валидная для С, будет валидна и для C++). У этих двух языков отличается подход к управлению ресурсами, обработке ошибок, работе с типами и т.п. Я считаю, что иметь опыт промышленной разработке на C даже вредно при изучении плюсов.
Robot Chappie, Ок, допустим найдётся книга по плюсам, где помимо того что плюсы добавляют к Си, описаны основы. Эта книга будет объяснять такие базовые вещи как условия, циклы, работу с указателями, стэк, работу с памятью. Эмм... первая половина этой книги будет описывать самый настоящий Си.
Поэтому нет разницы - прочитать две книги - одну по си, а другую по плюсам, или же прочитать одну толстую книгу.
Иван Корюков, Если человек новичок, то не стоит начинать с толстой книжки. Сначало нужно понять основы, а потом уже человек сам решит что ему стоит читать дальше. а толстая книга его только отпугнет.
Я считаю, что нужно думать не про объём знаний, а про простоту их использования, и С++ в этом плане легче(зачем новичку с самого начала загружать себя указателями, когда есть более дружелюбные ссылки,
зачем уметь создавать динамический многомерный массив, если есть vector, а про строки я вообще молчу). C++ - это отдельный ЯП, а не простая надстройка над C, и нужно помнить, что различий между ними немало(от стандартного ввода вывода, до поддержки ООП).
Почему никто не предлагает изучать вместо JAVA C++, ведь они похожи?
Я когда книгу по С++ подбирал для покупки, то сначала читал скан этой книги, чтобы подобрать автора. Понравилась "Язык программирования С++. Лекции и упражения. 6-е издание" Стивен Прата, 2015 г., 1248 стр. Но некоторые вещи, к примеру по typedef, я дополнительно смотрел в книге по языку С того же автора.
Мне была полезна "Дизайн и эволюция языка C++" Страусртуппа. Она, конечно, устаревшая, но там описаны мотивации тех или иных фич языка, без знания которых его сложно понять. После нее уже можно искать что-то по современным стандартам.
Но я не уверен, что C++ подходящий язык для новичка.