12 KiB
Книги и материалы
Pre-Junior
-
Чарльз Петцольд - Код. Тайный язык информатики
Прежде чем начать изучения языка, рекомендуем начать с данной книги. Она расскажет простым языком о том как устроен компьютер, как он работает на физическом уровне. Здесь отсутствуют какие-либо сложные технические или академические детали. Книга содержит в себе основы основ, которые вряд ли в скором времени потеряют свою актуальность. Это поможет вам лучше понять фундаментальные идеи языка C++ позднее.
-
Если вы начинаете изучать язык самостоятельно, то рекомендуем вести разработку первых программ или выполнять упражнения в IDE: Microsoft Visual Studio (Community Edition). На сегодняшний день, это маскимально дружелюбная IDE к новичкам, как в установке, так и в использовании (и при этом абсолютно бесплатно!). Это позволит максимально сконцентрироваться на изучении языка, а не на борьбе с рабочим окружением. На сайте вы найдете небольшой учебник, который расскажет: как установить Visual Studio, создать первый консольный проект и написать первое приложение:
-
Стивен Прата - Язык программирования C++. Лекции и упражнения (шестое издание)
Наиболее актуальная для новичков, с которой стоит начать свой путь изучения C++. Не требует наличия каких-то специфичных знаний, а также имеет набор упражнений к каждой главе. Они помогут вам отработать и понять фундаментальные возможности языка.
-
Липпман Стенли - Язык программирования C++. Базовый курс
Отличное дополнение к книге Стивена Праты. К ней хорошо обращаться параллельно с предыдущей. Рекомендуем вам сами найти баланс между двумя книгами, т.к. информация подается по-разному, и шанс понять ту или иную тему у вас повысится.
-
Адитья Бхаргава - Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих
Отличное вводное пособие в мир алгоритмов. Написано легким языком, который поймет большинство новичков. Также есть немного практических задач, чтобы попробовать написать свои первые алгоритмы.
-
В дополнение к учебнику можно порекомендовать следующие видео от лекторов МФТИ:
- Илья Мещерин
- Тимофей Хирьянов
Junior
-
Роберт Мартин - Чистый код. Создание, анализ и рефакторинг
Сегодня вокруг этой книги витает все больше и больше критики. Тем не менее мы всё ещё считаем, что она принесет новичкам больше пользы нежели чем вреда. Эта книга даст вам список рабочих рекомендаций, которые помогут вам писать более структурированный и понимаемый код. Но как и с любым другим знанием, не надо слепо превращать это карго-культ. Используйте знания с умом. Применяйте техники, которые считаете разумными.
-
Отличный сборник практических рекомендаций по использованию различных языковых средств C++. Данная книга написана во времена стандарта C++03, но ценность информации по-прежнему остается актуальной. Все рекомендации, техники и советы, описанные в книге, масштабируются и активно переиспользуются в новых стандартаъ языка.
-
Александреску Андрей, Саттер Герб - Стандарты программирования на С++
Небольшая книга, которая описывать общепринятые практики и правила написания кода в коммерческих проектах. Данная книга - это агрегация правил из многих компаний. Данная работа стала прообразом сайта: C++ Core Guidelines. Тем не менее рекомендуем прочитать данную книгу, т.к. она довольно короткая и даст вам общее представление, какие правила написания кода распространены во многих проектах.
-
Фримен Эрик, Робсон Элизабет - Head First. Паттерны проектирования
Отличная книга для начала изучения паттернов проектирования. Неплохой альтернативой можем также предложить сайт refactoring.guru, но в данной книге также имеется масса практических заданий, которые помогут вам лучше усвоить идеи паттернов и в каких случаях их применять.
-
Стив Макконнелл - Совершенный код. Мастер-класс
Не смотря на почтенный возраст книги, её можно считать библией разработчика. Она системно описывает устройство индустрии разработки, а также дает массу советов каким образом расти и развиваться, чтобы стать эффективным спеиалистом.
-
Томас Кормен - Алгоритмы. Вводный курс
Хорошее продолжение после "Грокаем алгоритмы". Книга знакомит с базовыми распространенными алгоритмами сортировок, работы со списками и т.д., но на более глубоком уровне. Все ещё написана довольно простым языке, потому она может помочь подготовиться к глубокому погружению в алгоритмы.
-
Андрей Созыкин - Компьютерные сети. Базовый курс
Прекрасный курс видеолекций по компьютерным сетям. За основу взяты книги Таненбаума и других классиков по теме. В большинстве проектов этих знаний будет достаточно, чтобы не совершать очевидных ошибок при работе с сетями. Для более глубокого погружения в тему вы можете ознакомиться с книгами Таненбаума или других авторов.
Middle
-
Скотт Мейерс - Эффективный и современный С++. 42 рекомендации по использованию C++11 и C++14
-
Параллельное программирование на С++ в действии. Практика разработки многопоточных программ
-
Н. И. Поликарпова, А. А. Шалыто - Автоматное программирование
Senior
- Преисполняться в познании индустрии