Всем добрый вечер. Я тут увлекся C++ и захотел выбраться из консоли. Но тут возникла проблема-не могу найти нормальных уроков и литературу. Что собственно я ищу: графика ,создание и использование динамических библиотек, оконные приложения. Наверняка , я говорю что-то не так, но это лишь из-за нехватки информации и быдловатости меня. На хабре был, на тпрогере был , в гугле лазил. Может кто подсказать куда бежать? может я что-то не то ищу? Буду очень благодарен , если кто подкинет годных источников или объяснит что к чему.
(для людей не в теме котик внутри)
(для людей не в теме котик внутри)
Еще на тему
Если тебе чисто поиграться - качни QT и не заморачивайся.
А если тебе утонченных извращений типа WinAPI или MFC... бросай это, чувак. Эта дрянь сведет тебя с ума.
Все уроки которые я находил либо довольно старые и не актуальны, либо без основной базы, либо на английском . И это я именно про те темы из вопроса.
желающие, да посмотрят к какому именно леопарду приводит С++ - https://lurkmore.so/images/4/4f/C%2B%2Bprogs.jpg
если графика - то Юрий Щупак - Win32 API Эффективная разработка приложений
выше рекомендовали qt фреймворк, но его, или MFC, лучше юзать уже после того, как поймешь как оно все на самом деле работает
начни отсюда http://lazyfoo.net/tutorials/SDL/
sdl2 - один из самых портируемых фреймворков, и хорошо помогает понять как вещи работают. правда, придется поработать ручками.
если хочешь ковырять пальцем в жопе можешь взять кути.
а то развелось блядских хипстеров, которые кучу всяких фреймворков-хуерков знают, а без них ни на что неспособны
ну вот расскажу историю, у меня на работе пришли пацаны которые сделали очень успешную игру на стим, и сели пилить порт под ps4. представь как им весело, учитывая что весь рендеринг как раз сделан на винапи и dxsdk коллах, вот они угорают нынче.
очевидно, что к топик стартеру это не относится. однако, если начинаешь с конкретной платформы то прирастаешь к ней, потом платформа головного мозга получается. встречал я парня, который мне доказывал что dll это кроссплатформенная библиотека.
Если сделать карьеру, то C++ и десктопные приложения - это тупиковый путь.
Если в качестве хобби, то тоже (если ты не некрофил)
Напиши, чего ты хочешь от программирования, а мы посоветуем тебе нормальный стэк технологий.
Геймдев не рекомендую: достаточно высокий порог вхождения при сравнительно небольших зарплатах, потому что слишком много людей с детства мечтали именно писать игрушки. Но если ты готов сидеть на овертаймах поедая доширак за идею, то рекомендую начать с игрушек на готовых движках, рекомендую Unity.
Рынок десктопных приложений сейчас практически не существует. Если и найдёшь работу, то это будет либо что-то из области некрофилии, либо 1С. Приличная компания, если ей вдруг зачем-то нужно десктопное приложение, посадит за это дело веб-разработчика, который сделает его в Electron в 5 раз быстрее чем нативный разработчик на С++ (при этом приложение на Электроне ещё и будет кроссплатформенным).
Не согласен с декстопными приложения. Рынок существует и он большой, но он не такой явный. Это просто дофигища закрытого корпоративного софта, который работает с таким же корпоративным железом. Плюс сейчас подтягивается Интернет Вещей - туда Node.js никто портировать не собирается, да и глупо.
С++, которым ты, ТС, интересуешься, интересен ещё и совместимостью с ANSI C, на котором очень много либ и драйверов написано.
Веб - большая конкуренция за не столь большие деньги. Если брать количеством и скорость, то может сгодиться.
Именно это и имелось в виду под словом "некрофилия".
> Интернет Вещей - туда Node.js никто портировать
Ты будешь удивлён, но... просто погугли. Хотя я согласен с тем, что ему там делать нечего.
> Веб - большая конкуренция за не столь большие деньги
Нужно просто выбирать правильный сегмент рынка. Сайты-визитки и магазины на вордпрессе - небольшие. А написание с нуля одностранчных веб-приложений - большие.
А чем обусловлена цена одностраничных сайтов? Там скорее дизайн хороший нужен.
Цена определяется объективной сложностью:
- Веб изначально не был задуман как платформа для приложений
- Постоянно движутся вперёд стандарты и браузеры
- Чехарда фреймворков (хотя, мне кажется, она уже подошла к концу и React будет лидировать ещё лет 5)
GUI (окошки) только на первый взгляд интересные. На практике - однообразная рутина и куча костылей. Для разработки GUI как-раз C++ немного менее удобен, чем те же C# и Java.
Мощь C++ в другом.
Передай данные по сети, напиши парсер любимого сайта, подключись к принтеру по последовательному порту (RS-232 Serial Interface), да хоть "Hello World" напиши модулем ядра.
Почему Linux/OSX - потому, что Windows от тебя много рутины скрывает и не на каждый вопрос "Как это работает?" можно получить ответ, т.к. проприетарное.
Далее покупаешь Raspberry Pi и вперёд подключить светодиоды, датчики, камеры и т.д.
И, кстати, если ты думаешь, что пора из консоли перебираться, то попробуй детальнее разобраться с STL (как он устроен) - сразу поймёшь, что тебе ещё много учить.