Всем добрый вечер. Я тут увлекся C++ и захотел выбраться из консоли. Но тут возникла проблема-не могу найти нормальных уроков и литературу. Что собственно я ищу: графика ,создание и использование динамических библиотек, оконные приложения. Наверняка , я говорю что-то не так, но это лишь из-за нехватки информации и быдловатости меня. На хабре был, на тпрогере был , в гугле лазил. Может кто подсказать куда бежать? может я что-то не то ищу? Буду очень благодарен , если кто подкинет годных источников или объяснит что к чему.
(для людей не в теме котик внутри)
Qt фреймворк юзай)
Два указателя на функцию этому кодеру.
Если тебе чисто поиграться - качни QT и не заморачивайся.
А если тебе утонченных извращений типа WinAPI или MFC... бросай это, чувак. Эта дрянь сведет тебя с ума.
Если тебе чисто поиграться - качни QT и не заморачивайся.
А если тебе утонченных извращений типа WinAPI или MFC... бросай это, чувак. Эта дрянь сведет тебя с ума.
воистину. Или переходи на богомерзкий C#
Полностью поддерживаю идею.
Qt хорош также тем, что имеет Python API. Так что разобравшись в основах можно легко и быстро плюсовый код перегонять в питоний (имхо, на интерпретируемом языке прототипирование интерфейсов проходит в разы быстрее).
Если ты не нашел уроков по С++ то программирование это явно не твое...
Поддерживаю. Переходи на ПХП или на 1С.
Но вселенная писалась на C++, не хочешь конкурентов?
На С же...
Ничего, щас на расте перепишет.
Иди нахер, Иисус - мне и так такое приходится иногда читать...
Все же я продолжу, я хочу страдать!
Все уроки которые я находил либо довольно старые и не актуальны, либо без основной базы, либо на английском . И это я именно про те темы из вопроса.
Все уроки которые я находил либо довольно старые и не актуальны, либо без основной базы, либо на английском . И это я именно про те темы из вопроса.
> либо на английском
да, знаю, но я одумался только совсем не давно, до этого был верен deutschland
чувак, завязывай с C++. это путь к леопарду!
желающие, да посмотрят к какому именно леопарду приводит С++ - https://lurkmore.so/images/4/4f/C%2B%2Bprogs.jpg
желающие, да посмотрят к какому именно леопарду приводит С++ - https://lurkmore.so/images/4/4f/C%2B%2Bprogs.jpg
Уверен, что С++ тут не причём, на полке рядом стоит книга про PHP, это всё она!
Это та фотка фанатов lazarus-а, что ли? Так то последствия отравления паскалем.
Не нужно вылезать из консоли, нужно погружаться глубже в нее. По сабжу - http://doc.qt.io/qt-5/gettingstarted.html
почему? можно поподробней?
Путь в С++ неблизкий, с вариантами найти работу или в геймдеве (а работать в геймдеве разработчиком это натурально галера) или в разработке серверных приблуд под linux/unix. В последнем варианте без консоли никуда.
Лучше садись за С# на ВизуалСтудию, если захотелось объектно-ориентированного
рассматриваю данную измену, но пока все же хотелось бы разобраться на примере c++
Тогда шикарный толстенный том Страуструпа тебе в помощь
уже почитываю его)
если именно по win API - то мне понравилась "Александр Побегайло - СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ WINDOWS"
если графика - то Юрий Щупак - Win32 API Эффективная разработка приложений
выше рекомендовали qt фреймворк, но его, или MFC, лучше юзать уже после того, как поймешь как оно все на самом деле работает
если графика - то Юрий Щупак - Win32 API Эффективная разработка приложений
выше рекомендовали qt фреймворк, но его, или MFC, лучше юзать уже после того, как поймешь как оно все на самом деле работает
возьми sdl2.
начни отсюда http://lazyfoo.net/tutorials/SDL/
sdl2 - один из самых портируемых фреймворков, и хорошо помогает понять как вещи работают. правда, придется поработать ручками.
если хочешь ковырять пальцем в жопе можешь взять кути.
начни отсюда http://lazyfoo.net/tutorials/SDL/
sdl2 - один из самых портируемых фреймворков, и хорошо помогает понять как вещи работают. правда, придется поработать ручками.
если хочешь ковырять пальцем в жопе можешь взять кути.
з.ы. винапи и вообще платформенная привязка - путь в ад.
человек пытается программирование учить, а не создавать кросплатформенный проект для продакшена
а то развелось блядских хипстеров, которые кучу всяких фреймворков-хуерков знают, а без них ни на что неспособны
а то развелось блядских хипстеров, которые кучу всяких фреймворков-хуерков знают, а без них ни на что неспособны
sdl - серьезная вещь. ты сам его смотрел, мистер неблядский хипстер?
нет, не смотрел. сорри, что так резко, просто меня покоробило что винапи это путь в ад. для проекта - наверно, но на этапе обучения покопать это надо обязательно, чтоб знать хоть в общих чертах
я говорил про привязку к платформе. очевидно, что винапи хороший и добрый (наверное, я принципиально не пользуюсь по необъективным причинам)
ну вот расскажу историю, у меня на работе пришли пацаны которые сделали очень успешную игру на стим, и сели пилить порт под ps4. представь как им весело, учитывая что весь рендеринг как раз сделан на винапи и dxsdk коллах, вот они угорают нынче.
очевидно, что к топик стартеру это не относится. однако, если начинаешь с конкретной платформы то прирастаешь к ней, потом платформа головного мозга получается. встречал я парня, который мне доказывал что dll это кроссплатформенная библиотека.
ну вот расскажу историю, у меня на работе пришли пацаны которые сделали очень успешную игру на стим, и сели пилить порт под ps4. представь как им весело, учитывая что весь рендеринг как раз сделан на винапи и dxsdk коллах, вот они угорают нынче.
очевидно, что к топик стартеру это не относится. однако, если начинаешь с конкретной платформы то прирастаешь к ней, потом платформа головного мозга получается. встречал я парня, который мне доказывал что dll это кроссплатформенная библиотека.
B тут моя главная проблема, я начал учить английский месяц назад .___., но за совет спасибо
без языка в кодировании никуда. лучше тогда начни с того что подтяни английский, потом садись за чтение литературы. в переводах к сожалению во многих аспектах можно наблюдать минусы - от неактуальности до переноса терминологии вплоть до перепутывания. допустим, наследование и расширение. говорят - наследует класс, расширяет интерфейс. а на самом деле extends(расширяет) class и implements (реализует) interface.
У тебя какие планы на программирование?
Если сделать карьеру, то C++ и десктопные приложения - это тупиковый путь.
Если в качестве хобби, то тоже (если ты не некрофил)
Напиши, чего ты хочешь от программирования, а мы посоветуем тебе нормальный стэк технологий.
Если сделать карьеру, то C++ и десктопные приложения - это тупиковый путь.
Если в качестве хобби, то тоже (если ты не некрофил)
Напиши, чего ты хочешь от программирования, а мы посоветуем тебе нормальный стэк технологий.
Думаю все же карьера, но кто его знает. Про цели : хочу научиться делать хотя бы простенькие игрушки(wndows, android ), ну и программы(аналогично) аля редактор видео, аудио итд . От программирования я хочу видеть, как работает мой говнокод, выложить его и наслаждаться гневными комментариями про говноразработчика.
На Android - точно С++ не вариант. Да, там есть NDK, но он там совсем для другого.
Но тем не менее на культях народ таки пишет. Так что может и не настолько не вариант7
Как я написал - для своих задач. Типичная ситуация - взападло/дорого/некогда или просто Dalvik медленно считает.
Для карьеры в данный момент рекомендую веб или мобильную разработку - определись что тебе ближе, и если мобильная разработка, то какая платформа (iOS/Android).
Геймдев не рекомендую: достаточно высокий порог вхождения при сравнительно небольших зарплатах, потому что слишком много людей с детства мечтали именно писать игрушки. Но если ты готов сидеть на овертаймах поедая доширак за идею, то рекомендую начать с игрушек на готовых движках, рекомендую Unity.
Рынок десктопных приложений сейчас практически не существует. Если и найдёшь работу, то это будет либо что-то из области некрофилии, либо 1С. Приличная компания, если ей вдруг зачем-то нужно десктопное приложение, посадит за это дело веб-разработчика, который сделает его в Electron в 5 раз быстрее чем нативный разработчик на С++ (при этом приложение на Электроне ещё и будет кроссплатформенным).
Геймдев не рекомендую: достаточно высокий порог вхождения при сравнительно небольших зарплатах, потому что слишком много людей с детства мечтали именно писать игрушки. Но если ты готов сидеть на овертаймах поедая доширак за идею, то рекомендую начать с игрушек на готовых движках, рекомендую Unity.
Рынок десктопных приложений сейчас практически не существует. Если и найдёшь работу, то это будет либо что-то из области некрофилии, либо 1С. Приличная компания, если ей вдруг зачем-то нужно десктопное приложение, посадит за это дело веб-разработчика, который сделает его в Electron в 5 раз быстрее чем нативный разработчик на С++ (при этом приложение на Электроне ещё и будет кроссплатформенным).
Отчасти правда. В реальном мире быстрее быстро сделать что-либо для смартфона, получить деньги и идти дальше.
Не согласен с декстопными приложения. Рынок существует и он большой, но он не такой явный. Это просто дофигища закрытого корпоративного софта, который работает с таким же корпоративным железом. Плюс сейчас подтягивается Интернет Вещей - туда Node.js никто портировать не собирается, да и глупо.
С++, которым ты, ТС, интересуешься, интересен ещё и совместимостью с ANSI C, на котором очень много либ и драйверов написано.
Веб - большая конкуренция за не столь большие деньги. Если брать количеством и скорость, то может сгодиться.
Не согласен с декстопными приложения. Рынок существует и он большой, но он не такой явный. Это просто дофигища закрытого корпоративного софта, который работает с таким же корпоративным железом. Плюс сейчас подтягивается Интернет Вещей - туда Node.js никто портировать не собирается, да и глупо.
С++, которым ты, ТС, интересуешься, интересен ещё и совместимостью с ANSI C, на котором очень много либ и драйверов написано.
Веб - большая конкуренция за не столь большие деньги. Если брать количеством и скорость, то может сгодиться.
> дофигища закрытого корпоративного софта, который работает с таким же корпоративным железом
Именно это и имелось в виду под словом "некрофилия".
> Интернет Вещей - туда Node.js никто портировать
Ты будешь удивлён, но... просто погугли. Хотя я согласен с тем, что ему там делать нечего.
> Веб - большая конкуренция за не столь большие деньги
Нужно просто выбирать правильный сегмент рынка. Сайты-визитки и магазины на вордпрессе - небольшие. А написание с нуля одностранчных веб-приложений - большие.
Именно это и имелось в виду под словом "некрофилия".
> Интернет Вещей - туда Node.js никто портировать
Ты будешь удивлён, но... просто погугли. Хотя я согласен с тем, что ему там делать нечего.
> Веб - большая конкуренция за не столь большие деньги
Нужно просто выбирать правильный сегмент рынка. Сайты-визитки и магазины на вордпрессе - небольшие. А написание с нуля одностранчных веб-приложений - большие.
Про Node.js действительно интересно. Хоть ожидаем - популярен сейчас.
А чем обусловлена цена одностраничных сайтов? Там скорее дизайн хороший нужен.
А чем обусловлена цена одностраничных сайтов? Там скорее дизайн хороший нужен.
Дизайн там особо не нужен, скорее нужна юзабилити.
Цена определяется объективной сложностью:
- Веб изначально не был задуман как платформа для приложений
- Постоянно движутся вперёд стандарты и браузеры
- Чехарда фреймворков (хотя, мне кажется, она уже подошла к концу и React будет лидировать ещё лет 5)
Цена определяется объективной сложностью:
- Веб изначально не был задуман как платформа для приложений
- Постоянно движутся вперёд стандарты и браузеры
- Чехарда фреймворков (хотя, мне кажется, она уже подошла к концу и React будет лидировать ещё лет 5)
подумай хорошо - выше сказали уже, в геймдеве мало платят. так что туда - только по зову сердца. и да, плюсы под андроид можно, но геморно.
Поставь Linux. Множество POSIX библиотек, позволяющих делать сложные вещи достаточно просто.
GUI (окошки) только на первый взгляд интересные. На практике - однообразная рутина и куча костылей. Для разработки GUI как-раз C++ немного менее удобен, чем те же C# и Java.
Мощь C++ в другом.
Передай данные по сети, напиши парсер любимого сайта, подключись к принтеру по последовательному порту (RS-232 Serial Interface), да хоть "Hello World" напиши модулем ядра.
Почему Linux/OSX - потому, что Windows от тебя много рутины скрывает и не на каждый вопрос "Как это работает?" можно получить ответ, т.к. проприетарное.
Далее покупаешь Raspberry Pi и вперёд подключить светодиоды, датчики, камеры и т.д.
И, кстати, если ты думаешь, что пора из консоли перебираться, то попробуй детальнее разобраться с STL (как он устроен) - сразу поймёшь, что тебе ещё много учить.
GUI (окошки) только на первый взгляд интересные. На практике - однообразная рутина и куча костылей. Для разработки GUI как-раз C++ немного менее удобен, чем те же C# и Java.
Мощь C++ в другом.
Передай данные по сети, напиши парсер любимого сайта, подключись к принтеру по последовательному порту (RS-232 Serial Interface), да хоть "Hello World" напиши модулем ядра.
Почему Linux/OSX - потому, что Windows от тебя много рутины скрывает и не на каждый вопрос "Как это работает?" можно получить ответ, т.к. проприетарное.
Далее покупаешь Raspberry Pi и вперёд подключить светодиоды, датчики, камеры и т.д.
И, кстати, если ты думаешь, что пора из консоли перебираться, то попробуй детальнее разобраться с STL (как он устроен) - сразу поймёшь, что тебе ещё много учить.
если интересно графическое программирование, например - то все строго наоборот (правда все еще все можно делать на любименьких прыщах)
Да. Разработка GUI таки интересна - но изначальная. Когда надо немного переделать, там добавить галочку, тут Retinа дисплей поддерживать, и вообще - нужна новая анимация, то уже не особо интересно и достаточно муторно. И лично мне C#+WPF или JavaFX в разы удобнее С++ + [встатить библитеку] для разработки GUI.
я не про разработку гуи а про графичесское программирование. разработка гуи довольно тоскливая вещь (имо)
Чтобы написать коммент, необходимо залогиниться