На данный вопрос уже ответили:
Всем привет!
Есть вопрос: с чего начать изучение C++?
Я знаю, что это сложный язык, потому спрашиваю у вас. У каждого языка программирования есть основа, без которой просто никуда. Что вы посоветуете пройти для начала?
Заранее спасибо.
1) извините, но Шилдта очень ругают, да и книги старые очень. Не советую.
2) создатель языка С++ Бьярн Страуструп крайне не советует начинать изучение C++ с языка C
3) личный опыт: лучше хорошая c++ либа, чем хорошая c-либа.
4) что читать: The C++ Programming Language, CppCoreGuidelines, книга "Скользкие места C++" очень хороша.
5) читать хорошие блоги и сайт комитета по стандартизации C++
Ох, ну сейчас я накидаю список.
Язык Си
Поскольку язык С++ включает в себя язык Си, который намного проще изучить, я бы советовал начинать с него. В частности с Шилдта - "Полный справочник по Си". Это единственная книга, в которой я не встретил просто кучу устаревшей информации с ошибкой в каждом втором примере(привет книге K&R).
Однако, изучение Си не обязательно, хотя я и рекомендую.
Что же касается самого с++
Роберт Лафоре - "Объектно-ориентированное программирование в С++"
Замечательная книга по С++ для новичков. Написана простым, лаконичным и понятным языком, материал разбирается детально и подробно. Рекомендую как самую первую по С++. Есть примеры для решения. Читать, одно удовольствие. Единственный минус, которыя я отметил - автор сильно и часто перехваливает достоинства языка по тексту книги.
Герберт Шилдт - Полный справочник по C++
Прочитав Лафоре, можно углуюлять в детали языка и посмотреть своеобразный справочник-учебник по С++. Здесь будет сказано все то, чего не было сказано в первой книге.
Далее идет список, который я не читал, но книги из него рекомендуют так же на многих ресурсах как самые лучшие.
Отлично, это был С++, но так же есть его библиотека STL, которой посвящены так же отдельные книги и Boost. А так же разбор продвинутых техник программирования на С++.
Обязательно ознакомьтесь потом с BOOST, книг к сожалению не знаю.
Андрей Александреску, Герб Саттер - "Стандарты программирования на С++. 101 правило и рекомендация"
Не забудьте прочитать книгу четырех о шаблонах проектирования.
Страуструп
Если Вы прочитали множество приведенных книг и получили достаточно опыта, то самое время переходить к трудам Страуструпа. Книги его написаны академическим языком и читаются достаточно сложно. Некоторые рекомендуют начинать с него, но только от того, что сами с него начинали, когда на рынке больше никакой годной литературы не было. ОДнозначно не берите его первым, но он обязателен для хорошего программиста С++.
Еще не надоело клепать скучные консольные приложения? Самое время перейти к изучению QT. Или же изучения программированию под Windows.
QT
Немного Windows мозгодробилки, но вместо WinAPI можно почитать что-то более высокоуровневое, всякие там MFC, WTL. Да, первые две книги для windows 95, но с тех пор WinAPI вообще не менялся, книги являются отличным пособием.
Ну в общем-то сюда еще можно добавлять всякие нужные книги, прямо не связанные с С++, но думаю вы и сами на них натолкнетесь в процессе изучения. Так же всякие DirectX, OpenGL, базы данных и т.д и т.п. Что-то можно высмотреть еще тут: хорошие книги по С++
А еще, если вы windows ориентированный разработчик, лучше использовать для проектирования интерфейса GUI язык C#, а на С++ писать для него библиотеки. Но это уже потом.
Удачи, если вы захотели стать профессионалом в области С++.
И помните про статью: Научитесь программировать за десять лет (Питер Норвиг).
Если опыта в программировании большого нет, то вместо С++ можно попробовать гораздо более простые "системные" языки с меньшим багажом, такие как Go, Rust.
Если всё таки C++ необходим, то для адекватного изучения С++ придётся книгу ~1000 страниц изучать, например, C++ Primer (издание, обновлённое для c++11). Если опыт программирования уже есть, то рекомендуют "Accelerated C++".
Завершение небольших проектов -- хороший способов изучения новых языков: 1000+ Beginner Programming Projects.
Научитесь программировать за десять лет (Питер Норвиг).
Начните с Си. И обязательно в *nix (сейчас, очевидно Linux).
Для начала просто откройте K&R, читайте и пишите примеры.
Это даст Вам правильное понимание основ
(возможно потом (и с приобретением опыта реального программирования) желание использовать C++ уже пропадет, хотя изучать его все равно придется, поскольку слишком много кода все же написано на нем).
Ответьте себе на вопросы: "Зачем мне C++?", "Что я хочу получить, используя его?". Поставьте интересную и нужную для Вас цель: игру, программу, что угодно, и идите к ней, учите инструментарий.
Что-то из Страуструпа можно почитать
Я обычно начинаю все языки учить с видеороликов на YouTube. Попробуйте это, потом когда более-менее основу будете знать, переходите на книги, читайте Хабр, там очень много полезного есть, а потом всё будет изучаться по принципу снежного кома. Удачи :)
Мой одногруппник очень нахваливал Г.Шилдта. У него много разных учебников, в том числе и по С++
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Зачем и когда употреблять нужно их? Можно на примере кода C/C++ (не asm)?