Я знаю, что тут не принято вот просто так создавать треды, но уж простите. Я быстренько. Вопрос вполне понятен. Меня интересует не строчка из википедии, а реальное прикладное применение, реальные инструменты. Вот есть другие языки, мне вполне понятно, зачем они нужны и какие инструменты используют. А с плюсами небольшое замешательство: вот есть Qt и еще какие-то некро-библиотеки времен моего деда. И все? А зачем cpp нужен в реальной разработке и какие фрейворки для него используют?
>>1990138 (OP) >мне вполне понятно, зачем они нужны Чтобы не было безработицы. Чтобы занять быдло видимостью полезной деятельности.
>вот есть Qt Такое себе.
>времен моего деда. Соску давно отобрали? Зубы прорезались уже?
>какие фрейворки для него используют? Дурилка, он и есть инструмент для написания кала, который ты называешь "фрейворки".
С++ это тот же Си, только с классами, шаблонами и синтаксическим сахаром. Ах да, ещё с исключениями. И ещё с RTTI, но как по мне, использование RTTI это клеймо.
>>1990208 >единственное что его держит - геймдев Десять лет работаю в околофинансах (банкинг/трейдинг) - глобальный рынок с кучей вакансий для крестоносца! Большие зарплаты и сочные бонусы!
Правда, стресса тоже много, но думаю сравнимо с гейдевом!
>>1990138 (OP) > вот есть Qt и еще какие-то некро-библиотеки времен моего деда. И все? Так про любой язык можно сказать, если не разбираться в вопросе. - В питоне джанга, и всё. - В JS реакт, и всё - В жабе спринг, и всё - В шарпе асп.нет, и всё.
За реальными примерами иди на хедхантер, вбивай в поиске "C++" и смотри вакансии. Там тебе напишут и либы, и тулзы, и конкретные задачи.
>>1990607 По моим ощущениям «отбивает» - слишком сильно сказано. Да, есть стартапы, выбирающие раст. Но банки и более-менее известные HFT фирмы - это все же плюсы. Посмотрим, что будет через пять лет, но на текущий момент позиции коестов очень сильны. Если есть инфа, кто в трейдинге активно пишет на расте - будет интересно узнать!
>>1990138 (OP) >зачем cpp нужен в реальной разработке Системное программирование. Те же Java и .NET Framework написаны именно на C++
Всяческие прошивки для Embedded тоже часто пишут на C++. Вот у меня есть фотоаппарат-зеркалка, в которой процессор и софт. Софт, я думаю, на C++ написан. Туда никто Java, Python, C# ставить не будет. Аналогично, какой-нибудь софт для бортовых компов всяких там космических аппаратов.
>>1990637 > Но банки и более-менее известные HFT фирмы - это все же плюсы. Это заблуждение. В банках прочно засели жабисты с шарперами, а в HFT пишут на чём угодно, даже на ocaml, и кресты в нём часто такое же легаси, как и везде.
>>1991465 Есть подозрение, что сишники-эмбеддеры не умеют писать большие программы. Несколько раз слышал, что в автомобилях типичный софт для всяких контроллеров - сишный исходник в десятки тысяч строк с сотнями глобальных переменных.
>>1991465 Плюсы, совершенно понятно, дают в миллион раз больше возможностей. Очень полезно, когда пишешь сложный навороченный софт. Ну вот если брать зеркалку. Там и интерфейс есть, и работа с SD-карточкой (файловая система), и кодирование jpeg файлов, и обработка исходных данных с сенсора, наложение фильтров, и много чего ещё. На C запаришься всё это писать.
Вот мне, кстати, интересно - есть ли в зеркалках Ось, и если есть, то какая?
Ещё знаю, вот была такая Ось Symbian для мобильных телефонов. Тоже на C++ написана.
>>1991605 > Ну вот если брать зеркалку. Там и интерфейс есть, и работа с SD-карточкой (файловая система), и кодирование jpeg файлов, и обработка исходных данных с сенсора, наложение фильтров, и много чего ещё. >На C запаришься всё это писать.
Как это завязано на язык? На сишке вполне нормально пишутся АПИ.
>>1991613 Ну погоди, Линус наоборот, специально не разрешает писать ядро линуха на С++, так как С++ привлекает говнокодеров, словно мух - дерьмо(ровно так и писал)
Тебе С++ позволяет достаточно долго васянить "абстракции", чтобы ты потом в них же сам запутался и жидко обосрался. По АПИ на сишечке же почти сразу понятно, правильно ли спроектирован интерфейс и дата лейаут.
>>1991615 На Линусе свет клином не сошёлся. Говорю же - Symbian на C++ писана. А ещё - куча десктопного софта. Photoshop, MS Office, 3D Studio, Maya, Opera. Даже Chrome - тоже на C++.
Нормальные люди хотят писать на б-гугодной сишечке, но в команде всегда найдётся кто скажет, что:"С++ это почти сишечка, только лучше". Дурное дело нехитрое.
>>1991485 >жабисты с шарперами Мы не говорим про энтерпрайзный банковский софт. Банки тоже торгуют на рынках, как пресловутые HFT, и тоже пишут лоу-лейтенси на плюсах.
>>1991485 >кресты в нём часто такое же легаси, как и везде Это заблуждение.
>>1990637 >>1990607 Банки и большие корпорации это достаточно инертные структуры. Не знаю, как у нас, но вот на Западе такая проблема нарисовалась, что ядро компьютерной инфраструктуры банков было написано на Коболе в районе 70-х, и те кто этим занимался уже на пенсии и потихоньку уже помирают от старости, а молодежь не хочет связываться с Кобол, а заново переписывать и внедрять все это на новых технологиях стоит дикое количество триллионов долларов.
>>1992655 Перегрузка операторов. Вы пишете код 3D математики. Там сплошь и рядом матетические операции над 3D векторами, матрицами.
Совершенно понятно, что куда удобнее и проще на C++ писать код вида matrix x matrix или vector x matrix, нежели чем multiply_matrices(a, b, result) multiply_vector_matrix(v, m, result)
особенно, когда этих вычислений там целая гора. и что ещё более важно, что суть происходящего видна на C++ с первого взгляда, а в случае с C, тебе ещё и повозиться придётся, чтобы допетрить, что же тут творится, что с чем перемножается, и что в результате получается
наследование, очевидно, киллер-фича тебе и впрямь часто оно очень помогает. в C, чтобы такое сделать, придётся повозиться. и код получится уродливым. а значит, опять, чтобы его написать безбажно, и понимать, нужны усилия
friend-ы - это не для того, чтобы не запариться. эта фишка, которая полезна в условиях инкапсуляции данных. когда в классе часть членов приватная, и нужно чтобы некоторые операции всё-таки имели к ним доступ.
>>1992776 У них есть IDE для плюсов, а их IDE славятся продвинутыми кодогенерацией, подсказками и поиском потенциальных ошибок, чтобы все это обеспечить, наверняка, они держат в штате команды крутых специалистов по каждому языку, для которого выпускают IDE
>>1992775 Хуйня вообще твои аргументы, matrix_ - просто и понятно, наследование нахуй не нужно, у вас там в ООП мире уже композиция во все поля, а friend-классы вообще параша.
>>1990806 я вот недавно узнал, что даже для всяких ретро-платформ типа спектрума люди игрульки всякие вполне себе пишут на C#, и оно даже довольно шустро (для ретро-платформ) на них работает.
>>1992844 >Хуйня вообще твои аргументы Во! Прям эксперт сказал. Знает толк в дискуссиях. Ты б поскромнее свою имбецильность демонстрировал. Может и впрямь за умного сойдёшь.
>>1992775 > multiply_matrices(a, b, result) > multiply_vector_matrix(v, m, result) > тебе ещё и повозиться придётся, чтобы допетрить, что же тут творится, что с чем перемножается, и что в результате получается Используй сишную конвенцию -, что результат - первый аргумент функции, сделай умножение матриц функцией, возвращающей значение.
>>1990806 >Те же Java и .NET Framework написаны именно на C++ ява написана на ява, на си написан кусочек jre дотнет написан на шарпике в основном, на с++ написан clr классическая раскрутка компилятора в общем
>>1991605 >Ну вот если брать зеркалку. Там и интерфейс есть, и работа с SD-карточкой (файловая система), и кодирование jpeg файлов, и обработка исходных данных с сенсора, наложение фильтров, и много чего ещё. все это береться (воруется) готовое из опенсорсных библиотек, не обязательно со свободными лицензиями даже просто воруется потом ляпается на коленке, собирается
Как бы вы объяснили ньюфагу, в чем охуенность указателей? Предполагается, когда я начну сам кодить, то автоматом заценю профиты? Но нахуя мне даже начинать их использовать, если в своих хелловордах я могу легко без них? В моем учебнике этой теме отводится столько внимания, как будто мне действительно надо это знать, но я так и не понял почему.
>>1992775 > >friend-ы - это не для того, чтобы не запариться. эта фишка, которая полезна в условиях инкапсуляции данных. Для закрытия дыры в абстракции под названием ООП
>>1996517 >Как бы вы объяснили ньюфагу, в чем охуенность указателей? Предполагается, когда я начну сам кодить, то автоматом заценю профиты? Но нахуя мне даже начинать их использовать, если в своих хелловордах я могу легко без них? В моем учебнике этой теме отводится столько внимания, как будто мне действительно надо это знать, но я так и не понял почему.
Указатели поддерживаются процессором аппаратно. Там буквально есть инструкции вида "инкрементировать значение по адресу, который указан в этом регистре".
Соответственно, если ты игнорируешь указатели то значит где-то компилятор их воткнёт неявно за тебя и ты получишь лишние операции копирования. То есть, твой код будет работать медленнее.
Но обрати внимание также и на ссылки - это тоже указатели, только безопасные, с ними не проебёшься. Юзай их везде где можешь вместо указателей. Очень часто удастся обойтись вообще без указателей в результате.
Гайс, почему QPolygonF.containsPoint() неправильно возвращает false? На пикче белым - это те точки, где он вернул true, а красным - те точки, где он ошибочно считает, что точки не внутри полигона.
>>1997384 Qt::WindingFill очень капризен к способу построения полигона - емнип, он должен строиться строго по часовой стрелке. Попробуй более медленный Qt::OddEvenFill.
Привет анон. Проникся тут хранением конфигурации в constexpr контейнере (использую frozen), но вот не могу найти простые либы по компил-тайм парсингу строк.
Я хотел на этапе компиляции подключать к проекту текстовый файл с записанной инфой (массив полей, идеально подходит json), но почему-то не вижу библиотек. Можешь что-нибудь подсказать или посоветовать?
>>1990138 (OP) Почти все что ты видишь на своем мониторе/экране смартфона внутри написано на C++, реже на си. Опять таки бд в которых хранишь свой ссаные json на плюсах. Протобуфы/трифты в которых пересылаешь тоже. Компиляторы интерпретаторы и все возможные нативные либы твоего языка частично тоже. Распредленных системы гуглов и других пидоров
>>1992803 Там вообще довольно больно же лол. Бтв у них довольно часто спикеры бывают с докладами на спп конференциях, на тему модулей концептов, очевидно им сложно и нужно заранее встраивать поддержку. Уметь видеть проблемы в реальных проектах в иде.
Какой пет может написать вкатун ?(2,5 лет уже учу). Из имеющегося - трассировщик лучей, игра по типу кораблика, который летает и уничтожает астероиды, небольшой клиент-сервер(чатик), прогал обработку изображений типа машинное зрение, определение лиц на фото/видео в реальном времени, винапи, qt, (даже Ява кор изучил, скучно стало, лол), сейчас разбираюсь с динамическим программированием, алгоритмами и структурами (деревья, графы). Всё правильно делаю? Времени осталось около года на изучение и начинаю поиск работы.
>>2003048 Да уже давно мог найти работу на джуна наверно. Смысла ждать особо нет. Трассировщик на цпу? Многопоток добавил тогда? Или на гпу, на компьюте? Или на vulkan_khr_acceleration_structure, ray_tracing_pipeline ну ты понял?
>>2003048 >Времени осталось около года на изучение и начинаю поиск работы
Вообще найти работу можно спустя полгода после начала изучения. Вообще конечно хорошо, что у тебя есть желание делать свои проекты, но на собеседовании их скорее всего даже не посмотрят.
>>2004073 А если мне ничего не интересно и я ни в чем не нуждаюсь? Все, чем я занимаюсь, так это иногда поднимаю жопу чтобы доехать до вуза и сдать лабы. В свободное время решаю литкод и скроллю двач. На этом вся моя деятельность ограничена.
>>2004468 >весь проприетарный софт на с++ Ну и какой софт? Я вот ничем кроме браузера не пользуюсь. IDE написаны на джаве, все веб приложения на джаваскрипте, ворд на сишарпе. Есть конечно автокады, 3дс макс, блендер, еще что-то, но таких вещей очень мало и делаются они не в СНГ. Видеоигры вообще мертвое направление, лол, и туда скорее юнити нужно, если рассматривать российские реалии.
>>2004695 >А на чём твой браузер написан знаешь? Так я и имел в виду что браузер написан на плюсах. А больше я по сути ничем не пользуюсь. Учитывая, что свой браузер пилят 1.5 конторы, то смысла учить плюсики нет.
>>2004699 И сколько из них хорошо продается? Так или иначе большая часть - это кал говна, который только убытки принесет. И вообще, геймдев в РФ очень жалкое явление.
ИМХО, если вы не фанат компьютерной графики, то смысла изучать С++ нет никакого. В Украине и Беларуси работы на плюсах вовсе нет, в РФ единичные конторы вроде Яндекса, Мейла, Хуавея и каких-нибудь мелких контор. Это я говорю про работу, где не будет байтоебства на Си с классами для микроконтроллеров, не учитываю НИИ и заводы, и также не учитываю вакансии, где будут просить рисовать формочки на Qt. Я говорю про работу, где будут компиляторы/графика/распределенные системы хуйлоад
>>2004680 >>2004876 Вы прикалываетесь что ли? Вот надо музыку или звук делать, то что звучит и используется повсеместно. Все дав и vst и синты на плюсах. Надо что-то построить? Архитектурная проприетарка на плюсах. Создать что угодно графически? Опять же софт с плюсами. Игры сложнее мобилки опять же надо нормальные движки делать. Короче плюсы это как раз реальная профессиональная область, если человек хочет не просто быдлокодером быть, а создавать что-то красивое и полезное, за что платят огромные деньги.
>>2005572 >музыку или звук Какая музыка или звук? Кодеки, безусловно, где-то пишутся в далеких землях. У нас таких вакансий наверное штук 30 от силы на все СНГ, и то, там нужны исключительно сеньоры, которые хорошо знают не только за звук, но и вообще за видео и мультимедиа, сигналы, алгоритмы сжатия, и т. д.
>Надо что-то построить Что построить? Ты про CAD для строителей? Нет у нас такого. САПР вообще мертвая тема в РФ, максимум Аскон и T-FLEX, которые пишут попильную хуйню для военных заводов с поддержкой ГОСТов. Как человек, который в процессе обучения в ВУЗе был немного связан со всей этой CAD/CAM движухой скажу, что у нас кроме пары контор уровня Align Technologies, которые пишут сапр для стоматологов, работы нормальной нет вообще. Мертвая отрасль.
>Создать что угодно графически Графика вообще очень узкая отрасль, где не хватает работы даже скилловым ребятам. Ровным счетом кроме гейдева, полудохлых сапр, графику у нас нигде не пишут.
>Игры Хуйня с ужасными условиями работы.
>что-то красивое и полезное, за что платят огромные деньги Деньги платят за то, что нужно бизнесу. Если у тебя есть навыки, которые позволят создать продукт, востребованный на рынке, ты сможешь заработать. Вопрос только в том, востребованы ли плюсы вообще? Да, есть хуйлоад и совсем немного работы с сетью, железками, графикой, и т. д, что нужно далеко не каждому бизнесу. Все остальное - формочки на Qt под десктопики, где заказчиками выступают гос предприятия и заводы, где интернета вообще может не быть, либо он запрещен секреткой.
>>1992775 > Совершенно понятно, что куда удобнее и проще на C++ писать код вида matrix x matrix или vector x matrix, нежели чем В C есть дженерики, ничто не мешает упихать оба эти вызова в multiply(a, b) multiply(v, m)
> суть происходящего видна на C++ с первого взгляда, а в случае с C, тебе ещё и повозиться придётся, чтобы допетрить, что же тут творится Ровно наоборот: в C a ⚹ b - это всегда умножение чисел а и b. В плюсах поди проссы особенно с auto какой там у этих а и бе тип и как там переопределен operator ⚹.
> наследование, очевидно, киллер-фича > тебе и впрямь часто оно очень помогает Ага, наверное, именно поэтому в каждом первом best practices OOP guide пишут первым же пунктом prefer composition over inheritance.
Как же заебись, что молодежь не учит плюсы! Мне гарантированно хватит работы до самой смерти без особой конкуренции. Ковыряешь плюсовый код палеонтологической давности, чаржишь за это как за два модных фреймворка! Красота!
>>2006132 HFT еще некоторые на джаве пилят, но не суть. Все равно чтобы попасть в хфт нужно либо очень сильно задрачиваться и въебывать, либо просто вкатиться на удаче. Среднестатистический анон с высшим образованием никогда не сможет попасть в хфт.
>>2003270 Я тебя понял уведомление об ответе не пришло Я читал лекции по компьютерной графике, потом вдохновился и написал на чистом с++. Многопотока нет >Да уже давно мог найти работу на джуна наверно Спасибо, но у меня отработка по спецухе год, поэтому остаётся только учиться
>>2006803 > Среднестатистический анон с высшим образованием никогда не сможет попасть в хфт. Было бы желание - любой сможет найти путь в индустрию. Другое дело, что на мой взгляд сложнее остаться в этой области, чем попасть в нее. Довольно много стресса, суеты, конкуренции. Высокие шансы быстро выгореть.
>>2006809 > как вообще работу в HFT искать? Через банки вкатываться? Вариантов масса, не обязательно через финансовые конторы. Хорошо в опыте иметь что-то на тему low-latency, например. Кстати, рекомендую попробовать в лондонский Bloomberg - они довольно много народу нанимают. Если получится - переедешь в Лондон и откроешь себе дорогу в мир финансов.
>>2007747 Если понравилось советую книжку pbr и попробовать написать на компьюте. Учитывай что на opencl проще чем на вулкане, но на вулкане полезнее. А вообще рендер классно, одна из лучших областей, рекомендую, здесь есть как и интересные алгоритмы, так и низкоуровневые оптимизации, ещё и многопоток, а еще нужно о гпу думать.
>>2004876 На мое текущее место в рендер полгода искали, и нашли меня почти случайно, сейчас вот ещё одну такую же откроют, не геймдев. Проблема в том что реально скиловых мало. Но обычно скиловые люди это те кому интересно и у них не стоит вопрос изучать плюсы или жс Ну и в компиляторах, распредленных системах, ситуация очень похожая. По тому что мне предлагали, и моим знакомым.
Ну да в qt каком-нибудь дофига народу, но это уныло, про совсем байтоебов (микроконтроллеры) не в курсе.
>>2009606 Спасибо анон, уже гуглю. Кстати я сейчас копаюсь в книге Эккеля "Философия С++, Практическое програмирование". Очень интересно объясняется подкапотная часть языка, шаблоны, потоки, контейнеры, принципы защитного программирования и RTTI, многопоток и всё остальное. Явно книга не для новичков, но в последующем скилл прокачивает.