Сколько времени нужно, чтобы стать C++-разработчиком?
Дольше, чем для большинства языков: реалистичный срок от нуля до junior-собеседования по C++ составляет от девяти до восемнадцати месяцев примерно по часу в день. Сам курс C++ в таком темпе занимает около двух месяцев, и его объектно-ориентированный раздел, с управлением памятью, шаблонами и семантикой перемещения, стоит проходить не спеша; командная строка, Git и SQL добавляют около месяца, структуры данных и сортировки ещё два-три. Затем специализированные роли добавляют свою предметную область: движок, торговый стек, микроконтроллер.
Подходит ли C++ как первый язык для разработчика ПО?
Это требовательный выбор. Вы узнаёте, как на самом деле работают память, типы и компиляция, отчего каждый следующий язык даётся легче, а платите за это более медленным прогрессом и более жёсткими ошибками в начале. Если вы уже знаете, что хотите заниматься играми, системным программированием или встраиваемыми системами, начинать с C++ разумно; если не уверены, многие сначала учат Python, а к C++ приходят вторым, и страница пути разработчика ПО и есть эта дорожная карта на Python.
Что ещё, кроме C++, нужно знать C++-разработчику?
Командную строку, Git и SQL, которые охватывает эта дорожная карта, а затем инструментарий вокруг языка: систему сборки, обычно CMake; отладчик вроде GDB или LLDB; санитайзеры, которые ловят ошибки памяти во время выполнения; и менеджер пакетов вроде vcpkg или Conan. После этого наступает черёд предметной области, в которую вы целитесь, будь то игровой движок, внутреннее устройство операционных систем, сети или встраиваемое железо.
C++ или Rust для карьеры в системном программировании?
C++ ради размера существующего рынка вакансий, Rust ради растущей доли новых проектов. Игровые движки, торговые системы, браузеры и компиляторы в основном представляют собой долгоживущие кодовые базы на C++, а Rust набирает позиции в новой инфраструктуре и коде, чувствительном к безопасности, потому что его компилятор исключает целые классы ошибок памяти. Если сначала выучить C++, правила Rust покажутся знакомыми, а эта дорожная карта есть и на Rust.
Какой курс этой дорожной карты не преподаётся на C++?
Один: курс по чистому коду пока преподаётся только на Python, поэтому он указан после шагов, а не на седьмом шаге. Его предмет (именование, небольшие функции и чёткое распределение ответственности) не зависит от языка, а когда вы пройдёте курс, C++ Core Guidelines покажут то же мышление применительно к C++. Все шаги, включая объектно-ориентированный проект и задачи по программированию, проходят на C++.
Эта дорожная карта по C++ бесплатная?
Да. Все курсы на ней бесплатны: уроки, компилятор C++ и терминал Linux в браузере, задачи с проверкой по тестам, подсказки Bugsy и сертификаты. Pro снимает дневной лимит энергии и даёт безлимитную помощь ИИ, но ничего на этой дорожной карте его не требует.