Что делать после изучения С++?
================================

 Всем доброго времени суток!  

Закончил изучение C++ по книге ("C++: базовый курс" Герберт Шилдт) и сейчас изучаю DirectX, но когда попадаю на форумы, я понимаю, что много чего не знаю о C++.   

И тут возникают вопросы:  

 1. Как быть в курсе событий относительно C++, да и программировании в целом?   

 2. Какие библиотеки и инструменты стоит изучать?  

 3. Стоит ли использовать PVS-Studio?  

 4. Изучая С++ я писал программы на Visual Studio Express 2012, и вот мне интересно ваше мнение: стоит ли переходить ли на версию 2015 года или вообще переходить на Code::Blocks?  

P.S. На данном этапе интересуют направления 3D-графики и в малой степени игрового движка (стандартный набор "школьника", который хочет делать ультра крутые игры за 1 месяц, но меня больше тянет в область графики, и я понимаю, что времени мне понадобится очень много). 

 1) Читать спец. форумы. Постоянно "быть в тонусе" - разрабатывать что то.  

2) Зависит от ваших целей. Надо обязательно посмотреть stl, boost, qt. Плюс попробовать разные компиляторы.  

3) Как хотите.   

4) На 2015 - стоит. На Code::Blocks - по желанию. Студия все таки очень удобна.  
  

По вашим желаниям - начните не с низкого уровня. Возьмите хотя бы SDL. Был еще когда то классный HGE, но по моему сейчас он не поддерживается. И выберите ПРОСТУЮ цель. Классика жанра - змейка, тетрис. Напишите их, с ООП, настройкой через конфиги и прочим. 

 1. По своему, не так уж чтобы очень богатому, но тем не менее опыту скажу, что простое чтение книг или форумов, просмотр видеоуроков и т.д. глубокого понимания не дает. Важна еще практика. Лучший способ, который я открыл для себя - придумываешь интересную для себя задачу, начинаешь ее реализовывать. Если что то не знаешь - смотришь или читаешь уроки по теме, которая тебя интересует. Не стремись сразу написать что то большое и чтобы все было чисто и красиво, пусть будет криво и убого, главное чтобы работало, ты понимал как это работает и было желание и идеи как это улучшить. Почему такой способ хорош - ты сразу качаешь навыки и в проектировании и в программировании и в планировании задач для себя, так как выучить синтаксис языка это на самом деле основы, есть много других важных тем, в которых важно разбираться, если хочешь писать хороший софт - это и методологии разработки и системы контроля версиями и тестирование и проектирование и многое другое. В начале будет довольно трудно, будет куча нюансов, которые придется решать, но со временем, если не будешь сачковать ты заметишь как вырос твой уровень. Если интересует программирование графики - садись писать свой движок. Собственно, я сам сейчас этим занимаюсь, это была тема моей курсовой и сейчас дипломной работы.   

2. Их много и большинство зависит от задач и здесь важнее общее понимание как работать с чужим кодом, как найти что то по докам и т.д. А по поводу конкретных библиотек - если пишешь на плюсах, то по любому, как уже написали, стоит обратить внимание на STL и желательно еще на Boost.  

3. Только если ты понимаешь какие плюсы ты от этого получишь.  

4. Обновлять софт вообще очень стоит. Про Code::Blocks ничего сказать ничего не могу, но не думаю, что стоит переходить со студии. А вообще, я тебе советую поэксперементировать и попробовать компилировать код без IDE, чтобы понять как происходит процесс компиляции и линковки, это тебе очень поможет (но в реальных проектах лучше выбирать самое быстрое рабочее решение) 

> 1. Как быть в курсе событий относительно C++ , да и программировании в целом ? 

 Уделять этому не менее 9 часов времени в день (включая работу).  
  

> 2. Какие библиотеки и инструменты стоит изучать ?

 Те, которые требуются для класса задач, которые ты хочешь решать.  

Но обязательно стоит изучить основы алгоритмов, ООП, основные паттерны, git.  
  

> 3 Стоит ли использовать PVS-Studio ?

 Пока что нет. У него мощные инспекции, но тебе хватит и встроенных в VS.  
  

> 4. Изучая С++ я писал программы на Visual Studio Express 2012 и вот мне интересно ваше мнение стоит ли переходить ли на версию 2015 года

 Да. Как минимум из-за того, что она полноценная и бесплатная.  
  

> или вообще переходить на Code::Blocks?

 Плохая шутка. 

 Значит до теортетической физики дело пока не дошло? Примерно третий этап?  
![ZjdlZm.png](http://apikabu.ru/img/ZjdlZm.png) 

![9648456309884dd781e5f1c35c06bd74.jpg](https://habrastorage.org/files/964/845/630/9648456309884dd781e5f1c35c06bd74.jpg)  

Нельзя просто так взять и закончить изучение С++ 

 Qt 5, параллельно добивая С++ 

 1. Изучать дальше, писать больше.  

2. stl, boost. qt извратит ваш разум.   

3. нет  

4. Чем моложе версия, тем лучше. 

 После изучения C++ саое оно заняться изучением Rust! 

 Искать работу всё оставшееся время...