Всем привет, второй пост, выложу список литературы по программированию (конкретно по С++ и некотором около технологиям и фреймворкам). Не очень люблю всякие онлайн курсы, ибо как мне кажется довольно поверхностное повествование.
С++ - прекрасный язык, но в голом виде мало кому нужен, как правило необходимо знание какого-нибудь GUI/Game engine фреймворка, БД, сети, работа с видео-кодеками. Крайне не рекомендуют изучать С++ с изучения Си. Литература:
1) cplusplus.com - справочник по языку, так же можно найти статьи по WinAPI итд.
1) Эккель "Философия С++ Vol 1&2" - вводная книга по языку, правда старая и не включает стандарт С++11(новый стандарт)
2) Липпман "С++ базовый курс" - вводная книга по языку, включает С++11.
3) Джосаттис "Стандартная библиотека" (2ое издание по стандарту С++11) - можно использовать как справочник.
4) Серия книг Герба Саттера "Решения сложных задач на С++" "Решение новых сложных задач на С++" с Александреску "Стандарты программирования С++" - Интересные вещи разбираются, читать выборочно т.к. например умные указатели(smart pointers, а разбираемый auto_ptr - считается depricated) уже вошли в стандарт С++11.
5) Серия книг Скотта Мейерса "Эффективный С++" примерно тоже самое серия Саттера, единственное у Саттера нет книги по новому стандарту, у Мейерса есть - шикарная штука.
6) Уильямс "Парарллельное программирование на С++ в действии" - многопоточность стала поддерживаться на уровне стандарта(раньше была реализация от сторонних вендоров) и чтиво по мьютексам, атомарным переперченным.
7) Стивенc "UNIX разработка сетевых приложений" "Unix взаимодействие процессов" - первая книга по сетям, подробный разбор как работают такие протоколы как TCP UDP написание своих клиентов и серверов, вторая - по IPC. Книга по UNIX, подойдут так и для Windows, в реальных проектах не думаю что придется писать свой клиент с нуля.
8) Стивенс "Unix. Профессиональное программирование" - хорошая(лучшая?) книга по POSIX.
9) Рихтер "Windows для профессионалов" - WinAPI
10) Бланшет "QT 4: программирование GUI на С++" - хорошая вводная хоть по Qt хоть и по 4 версии, Саммерфильд "Qt Профессиональное программирование" - в догонку, бесплатная книга по QML (необходимы базовые знания JS), самая лучшая онлайн документация с кучей примеров, готовых решений, уроков на ютубе
11) "Примеры объектно-ориентированного проектирования" (Gang of Four) или Александреску "Современное проектирование на С++" - книги по паттернам, вторая чуть сложнее
12) Седжвик "Алгоритмы на С++" - жестокое чтиво по алгоритмам графам и все такое, с доказательством с задачами.
13) ::boost - открытая библиотека по С++, можно сказать пре-стандарт
C++11 - стандарт 11 года, который внес много нововведений, С++14 - текущий стандарт, по сути доработка над С+11, С++17 - будущий стандарт.
PS Старался охватить основные темы и привести лучших авторов(хоть все книги есть на русском - рекомендую оригинал). Не стал включать книги по смежным темам - SQL, HTML, JS итд.
Почему включил Qt, а XXX не включил?- имхо Qt самый востребованный фреймворк по С++.
PPS Для работы возможно потребуется знание таких технологий как git, svn, tfs, cmake, qmake, qbs