@YanRauh
Начинающий программист

Как составить план обучения по C++?

Добрый день.
Подскажите, пожалуйста, последовательный план обучения C++, который даст знания не только для того, чтобы решать познавательные задачки, но применить себя в коммерческой практике.

Большинство курсов дают основы, план везде один. Прошел основы, типы данных, перегрузку, инкапсуляцию, полиформизм и т.д. и закончил теоретической частью использования шаблонов.

Хотелось бы видеть что то вроде плана обучение на hexlet , где подробно расписаны технологии для создания определенного приложения.

Нашел на курсах отус план, и по нему тоже хотелось бы узнать мнение:
  1. Система сборки: build, test and deploy
  2. Широкоиспользуемые фичи C++11 стандарта. auto. Замыкание - Лямбда-функции. Кортежи.
  3. Широкоиспользуемые фичи C++11 стандарта. rvalue и lvalue ссылки. Move semantic. Variadic Templates. POD. Лямбда-функции. Кортежи.
  4. Нововведения 14 стандарта.
  5. Вглубь реализации умных указателей.
    Подводные камни и оптимизации.
  6. Стандартный аллокатор и его недостатки. Различные методы управлением памятью.
  7. C++: макросы. Type traits в STL. SFINAE
  8. Принципы проектирования ПО
    UML. Принципы: SoC, DRY, YAGNI, KISS, TDA, LoD, SOLID
  9. GRASP
  10. Шаблоны GoF
  11. Антипаттерны
  12. STL
  13. Boost
  14. Многопоточность
    Потоки. Критические секции и методы синхронизации: мьютексы, семафор, условные переменные, барьеры. Пулы потоков.
  15. Concurrency pattern. Active Object, Balking, Barrier, Double-checked locking, Guarded suspension, Leaders/followers, Monitor Object, Reactor, Read write lock, Scheduler, Thread pool, Thread-local storage.
  16. Асинхронное программирование
    Архитектура асинхронных сервисов. Низкоуровневая поддержка асинхронного выполнения кода.
  17. Lockfree DS
    Неблокирующие структуры данных и алгоритмы. BOOST Lockfree
  18. Сетевое взаимодействие
    Сокеты. Протоколы: TCP и UDP. Сериализация. HTTP. Json. Zmq. Protobuf.
  19. Асинхронный ввод/вывод
    Библиотеки и практики работы с неблокирующей передачей данных
  20. РСУБД
    Использование РСУБД. Подключение и работа с БД
  21. Key Value
    Идея NoSQL. Aerospike, redis, leveldb
  22. Map reduce
  23. ООП при работе с базами данных. Паттерны DAO и Repository
  24. Dlib. Кластеризация, тематическое моделирование. Регрессия. Классификация.


Там же присутствует матрица компетентности , но хотелось бы спроецировать это на C++

И еще пара вопросов:

1) Нужен ли ментор? Так ли его присутствие помогает прогрессировать?
2) Стоит ли сразу "прыгнуть из лодку, чтобы научиться плавать" и пытаться написать какой нибудь простой игровой движок, бота по туториалам, где гуглишь непонятные части и изучаешь темы?
  • Вопрос задан
  • 3021 просмотр
Решения вопроса 1
terrier
@terrier
У отуса - это план обучения джуна с каким-то уже коммерческим опытом до миддла. А идея запихнуть себе в голову весь C++ еще до начала коммерческого опыта - не очень осмысленная.
Пожалуй, лучше бы освоить основы языка в объеме книги Страуструпа ( но не обязательно именно по ней ), плюс добавить git, почитать какие-нибудь статьи по производительности и типичным ошибкам и идти устраиваться джуном. И уже тогда набивать шишки, изучать паттерны/антипаттерны и т.д.

1) Нужен ли ментор? Так ли его присутствие помогает прогрессировать?

Полезно, конечно, если найдете хорошего.
2) Стоит ли сразу "прыгнуть из лодку, чтобы научиться плавать" и пытаться написать какой нибудь простой игровой движок, бота по туториалам, где гуглишь непонятные части и изучаешь темы?

Написать бота - нормальная идея, к тому же вам нужен будет какой-то код, чтобы показать на собеседовании. Писать что-то большое не надо, по первости это будет лапша из плохого кода, на котором особо не научитесь.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Лучше пиши код, теория это конечно хорошо и нужно, но без практики бесполезно.
Ответ написан
Комментировать
ubukulov
@ubukulov
Веб-разработчик
Попробуйте посмотреть этот видеоурок. Думаю будет полезно.

тут
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы