👨🎓️ 44 ресурса для изучения C и C++: от новичка до профессионала
Опытные программисты на C и C++ не испытывают проблем с поиском работы, но для изучения этих непростых языков вам понадобится огромное желание, терпение, усидчивость и подборка ресурсов от «Библиотеки программиста».
Курсы:
- Искусство разработки на современном C++ на Coursera. В эту специализацию входит пять курсов на русском языке от Московского физико-технического института, Яндекса и E-Learning Development Fund. Стоимость по запросу.
- Coding for Everyone: C and C++ на Coursera. Специализация состоит из четырех курсов на английском языке от Калифорнийского университета. Стоимость по запросу.
- C Programming For Beginners the C Language на Udemy. Подробный курс по С на английском языке для новичков. Стоимость – $11.69.
- Основы программирования на C/C++. Курс Оксаны Еськовой посвящён основам программирования C/C++ и задачам. Стоимость – $10.
Официальная документация:
- Документация по языку C++. Набор учебных материалов Microsoft, от введения в программирование до создания первых программ.
- C++ Programming Language. Знакомство с переменными, функциями, массивами, циклами и другими базовыми элементами программирования в C++.
- The C++ Programming Language. Руководства и описание языка C++ от его создателя – Бьярна Страуструпа.
Другие мануалы и учебные пособия:
- Уроки программирования на языке С++. Уроки по основам языка на ravesli.com.
- Основы программирования на С++ для начинающих. Сайт PureCodeCpp предлагает описание основных концепций языка C++ и решение задач.
- Основы программирования на языках C и C++ для начинающих на русском языке от CppStudo.com.
- Руководство по языку программирования C на сайте Metanit.com.
- Руководство по языку программирования C++ на сайте Metanit.com.
Обучающие видеоролики на Youtube:
- Основы C++. Программирование для начинающих от SimpleCode – 143 ролика, описывающих основные аспекты работы с этим языком программирования.
- C++ Programming Language Tutorials – видеоуроки на английском языке от GeeksforGeeks.
- Изучение языка Си для начинающих – несколько уроков по основам C на канале Гоши Дударя.
- С++ программирование / Уроки C++ – 26 видеороликов по C++ на канале Гоши Дударя.
- C++ for Beginners (SavvyNik) – 34 урока на английском языке.
Статьи, подкасты, телеграм-каналы, комьюнити:
- Всё о С++ – раздел на Хабре, освещающий принципы разработки на C/C++.
- Pro.Cxx – чат в Telegram для разработчиков C++.
- C++/17 – статья на Хабре.
- Онлайн справочник программиста на C и C++ на русском языке.
- Вопросы с меткой [c++] на русском языке в Stackoverflow.
- Reddit C++ label – вопросы по C++ на Reddit.com.
Полезные ссылки на Github:
- Modern C++ Tutorial: C++11/14/17/20 – хороший набор руководств на GitHub.
- C++ projects for beginners – список проектов для начинающих.
- begin(c++): Resources for C++ Beginners – список ресурсов и проектов, позволяющих расширенно освоить язык.
- C/C++ projects – примеры проектов на C++.
- 83 topics projects – ссылки на репозитории.
Настольные книги по C/C++:
Литературы для изучения C/C++ предостаточно, но качественных и практических изданий не так уж и много – иногда они доступны только на английском языке. В нашей подборке такие тоже встречаются.
1. Программирование на C++ в примерах и задачах (2017)
Автор: Алексей Васильев.
Книга содержит полный набор сведений о языке С++, необходимых для успешного написания кода. Материал излагается последовательно и дополняется большим количеством примеров, практических задач и детальным разбором их решений. К каждому разделу прилагается обширный список задач для самостоятельного решения.
Язык: русский.
2. Язык программирования C++. Специальное издание (2017)
Автор: Бьерн Страуструп.
Книга написана создателем C++ и является каноническим изложением возможностей языка. Помимо подробного описания синтаксиса, на страницах издания вы найдете доказавшие эффективность подходы к решению разнообразных задач проектирования и программирования.
Язык: русский.
3. Объектно-ориентированное программирование в С++ (2004)
Автор: Роберт Лафоре.
Книга грамотно и полно излагает принципы объектно-ориентированного программирования в C++. Кроме теории она предлагает читателю сделать около 100 различных упражнений, которые позволят отточить навыки владения языком. Отлично подходит для начинающих программистов.
Язык: русский.
4. Язык программирования C++. Базовый курс (2018)
Авторы: Липпман Стенли Б., Лажойе Жози, Му Барбара Э.
Подробное введение в C++, которое детально покрывает буквально все аспекты языка в доступном формате. С самого начала книги читателя знакомят со стандартной библиотекой C++, её популярными функциями и средствами, что позволяет в скором времени приступить к написанию программ, даже если не были изучены некоторые нюансы языка. В книге используется стандарт С++11.
Язык: русский
5. C++ Pocket Reference 1st Edition (2003)
Автор: Kyle Loudon.
В книге описаны реальные проблемы и решения, а не только особенности языка. Издание охватывает язык и стандартную библиотеку.
Язык: английский.
6. C++: A Detailed Approach to Practical Coding (2017)
Автор: Nathan Clark.
Эта книга охватывает базовые разделы C++: типы данных, область действия переменных, константы и литералы, операторы типов модификаторов, числа, строки, классы и объекты, указатели на массивы, структура данных, дата и время и т. д.
Язык: английский.
Если вы знаете не вошедшие в статью интересные ресурсы, порекомендуйте их в комментариях. Надеюсь, наша статья показалась вам полезной. Успехов в обучении!
Хочу освоить алгоритмы и структуры данных, но сложно разобраться самостоятельно. Что делать?
Алгоритмы и структуры данных действительно непростая тема для самостоятельного изучения: не у кого спросить и что-то уточнить. Поэтому мы запустили курс «Алгоритмы и структуры данных», на котором в формате еженедельных вебинаров вы:
- изучите сленг, на котором говорят все разработчики независимо от языка программирования: язык алгоритмов и структур данных;
- научитесь применять алгоритмы и структуры данных при разработке программ;
- подготовитесь к техническому собеседованию и продвинутой разработке.
Курс подходит как junior, так и middle-разработчикам.