Кто-то реально прям вычитывает, что там добавляют в стандартах и, высунув язык, бежит скорее это использовать? Всё время вижу в вакухах C++17, 20 и прочую шляпу и не пойму, это для галки пишут или для чего.
10 лет говнокодил на Qt как GUI, там и сервисы по сбору и перекладыванию данных, по плюсам мануалы читать требовалось примерно никогда. Сокеты, БДшки, контейнеры, умные указатели за всё это время никак не поменялись, как и прочие библиотечные инструменты. Проекты собираются с 17-м стандартом, но это только потому, что мне 1 (одна) хуйня оттуда глянулась, не помню уже какая, и я его включил в опциях сборки. Всё нахуй.
Сейчас хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки (тыров 150 мне хватит, ради того, чтобы в эти ёбаные офисы больше не кататься, даже на такую мелочь согласен). И чё-т не пойму, есть смысл что-либо по плюсам дрочить (а если дрочить, то что?) или хуй забить и тупа откликаться на вакухи с малым опытом.
>>3686098 Тебе делать нехуй? Почему вообще среди любителей юниксов так много подобных ебанутых? Виндовс юзер просто берет и пишет код, получает результат, продукт. Эти же начинают какой-то пространной поебенью заниматься.
>>3683726 >хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки чел, ты где такие вакухи видел вобще?
> нах нужно что то кроме c++17 > 10 лет говнокодил на Qt как GUI почему я не удивлен
> есть смысл что-либо по плюсам дрочить я бы удивился если бы у кабана с 10 летним опытом что то про язык спрашивали лучше легенду продумай чем ты интересным на работе занимался кроме qt формошлепства
пасяны такая тема, решил учить сети - начал с сокетов Беркли и чето вообше нихуя не понятно, теория вроде бы простая но когда пытаешься самостоятельно что то написать то получается какая то хуйня, мб просто забить и ларпить на высокоуровневой елде от Qt или boost::asio
>>3683726 >Сейчас хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки Давай, другалек. Не забудь уволиться сначало! С твоим опытом ты на изи себе 150к на удаленке сделаешь! Удачи!
>>3690074 Скорее всего дефолтные типа Маерса. Он и принцип объяснил. Юзаешь голые поинтеры, не полагаешься на RAII, то ты далбаеб и место тебе у параши, комитить в ядро Линукса.
>>3690454 Этого недостаточно. 1) Кривой компилятор msvc без параметра /utf-8 всё равно будет генерировать кракозябры. 2) При нажатии F5 в кривой вижле каким-то кривым образом передаются параметры дочернему процессу, поэтому нужно прямо в код писать порнографию вида: SetConsoleCP(65001); SetConsoleOutputCP(65001); И только после таких танцев с бубном наконец-то можно выводить русские букавы.
В MinGW64 таких проблем нет, потому что там и компилятор нормальный и консоль своя.
>>3690481 Нет, gcc был переписан специально в 3 версии, чтобы поддерживать все фишки С++ по-честному. А компилятор майков всё ещё использует всякие хаки и эвристики, потому что криворукие индусы не могут нормально переписать его.
>>3690486 Кстати да, посмотрел по 23 стандарту ГЦЦ опрежает Майков, но я помню еще std::print только Майки поддерживали, учту. Хороший повод не запускать тормознутую Студию, а использовать няшный ВСКоде.
Как освоить CMake? Смотрю на него и ничего не понимаю. С виду всё запутано и ничего не понятно. Надо ещё файлы вручную прописывать. Это как-то тупо, когда проекты могут состоять из тысячи файлов и кучей подпапок. Неужели нельзя все это собирать как-то попроще? За столько лет ничего более удобного не сделали?
>>3691042 С чатиком. Сделай себе тестовый проект, где будут статические и динамические либы, несколько директорий с исходниками и разные таргеты сборки и по-тихоньку разбирайся как смак написать для него.
>>3691042 >Это как-то тупо, когда проекты могут состоять из тысячи файлов и кучей подпапок. Неужели нельзя все это собирать как-то попроще? CMake может файлы по маске добавлять из директории. Или ты сам можешь однострочник написать на баше, который список нужных файлов сделает.
>За столько лет ничего более удобного не сделали? Для простых вещей он и так простой. Для сложных - ни одна билд система простой не будет.
>>3691725 >значение знаешь? Компилятор транслирует программу из ЯП в машинный код. LLVM именно это и делает. То, что пишут поверх него - это трансляторы из ЯВУ в язык SSA LLVM.
>>3691767 Не трясись, на формальных языках тебе препод расскажет и что такое компиляторы, и что такое LLVM и как не запутаться в столь сложных понятиях
Ну или у нейронки поинтересуйся что слова значат перед тем как постить глупости
Пасяны такие дела, знаю плюсы(многопоток, асинхронность(частично)), что то могу накалякать в qt, неплохо знаю сети(сокеты Беркли), но при этом же знаю пыху, в каком направлении посоветуете двигаться что бы получить работу?
>>3693392 >в каком направлении посоветуете двигаться что бы получить работу Пройти курсы электромонтера, в некоторых городах есть бесплатные. Либо учиться класть плитку, трубы чинить, унитазы потекшие ремонтировать.
>>3694197 Жирных тормозных ИДЕ, которым надо от 16 гигов для работы, и так хватает. А вот современного софта, который при этом мало ресурсов потребляет, очень мало.
>>3694270 >Тащем то Виндовз ИксПи полноценная ВижуалСиудио есть Только кросс-компиляция, и то со старым тулчейном и стандартами. Запустить под хрюшей можно только 2010 вроде.
>>3693956 Установил. Плюсы: очень приятно выглядит, легкая Минусы: -Нужно вручную сохранять хедер, иначе .спп файл не будет видеть объявления функций и сыпать ошибками, что ты петушок ничего не объявил. -Нельзя, как в студии, кликнуть по объявлению и попросить сделать заголовок определения, всё ручками. -Ущербный дебаггер. Сделай поинтер на объект, дебаггер покажет лишь сам поинтер. Студия позволяет посмотреть внутренности объекта, на который указывает поинтер. -Ущербная подсветка листа инициализации. Например у тебя в классе есть переменная int x, в конструкторе есть class(..., int x, ...), если ты напишешь : x(x) он не пометит цветом, где член класса, а где аргумент функции. -Генерирует доисторические header-guards, вместо pragma once
Впринципе для обучения и мелкопроектов пойдёт. Но что-то крупное я бы даже не пытался делать в этой идеешке.
>>3694290 >А зачем тебе под ИксПи что то запускать? Из ностальгических соображений. У меня стоит старый комп с фолаутами, героями, дельфи 7 и макромедия флешем. Еще один c первой вуду на Win 98.
>Почему не под Виндов 3.11? Под третью винду кодить очень муторно - она в ДОС выкидывает при ошибках памяти.
>>3695328 >Напиши в комитет по стандартизации тредов. Это прошлый век. Надо написать новый язык, в котором своевременный перекат тредов с правильной шапкой будет заложен на уровне типов.
они реально вьебали сотни правил форматирования, каждый релиз их дерагают меняют, но при этом у правил нет опции ПОХУЙ? то есть тебе придется указывать все сотни правил для своего код стайла, и каждый релиз с горящей жопой править что там разрабы подправили
>>3697778 Ты этой опцией выключаешь весь форматтер, а не какие то правила Ну вот условно я захочу чтобы форматер мне только растановку { отформатировал, а остальной код не трогал, я указываю одно правило в конфиге, а у меня форматтер начинает применять остальные 999 правил со значениями по умолчанию, и их применение выключить невозможно
>>3691042 cmake делает это элементарно, и кастомные таргеты с вводом/вывоводом/сторонними вызовами/генерацие прототипов и тд всевозможные тоже. Кроме того у него хорошая документация и примеры использования того или другого гуглятся на раз два. В общем если ты прошел дальше хэлоуворда проблем быть не должно.
>>3694298 Короче поюзал чуть подольше. >Ущербный дебаггер Отменяется. То куда указывает поинтер можно смотреть, не справа в Locals, а слева в Watch. В общем вполне юзабельная идеешка. Минус остается постояно тыкать C+S.
>>3700593 Говно ебаное. Без генератора проектов от какого-то васяна даже соваться нечего. Это значит разработчикам пользователи не нужны раз сами не делают чтобы люди пользовались, значит такое говно лепят непонятно зачем, наверное распил или просто шиза от нехуй делать. В любом случае бесполезное говно, как любой пердульный кал.
>>3700816 >wxProjectCreator >Генератор новых проектов с wxWidgets для DialogBlocks, RedPanda-CPP, Visual Studio 2026, Visual Studio Code >После генерации получается папка с готовым рабочим шаблонным проектом со всеми нужными настройками
Google провёл эксперимент: разные команды переписывали одинаковые сервисы. Rust и Go завершили задачу за одинаковое время, C++ потребовалось вдвое больше (Ardan Labs) .
Изучил базу плюсов 11го стандарта чисто по фану где-то за 4 месяца + луа и склайт. Думал прямо сложно будет, но оказалось что язык как язык. Вот-вот, надо только потерпеть, и докачусь до актуальных стандартов и многопоточки. Только вот не знаю что с этим всем делать, тк больше получаю удовольствие от процесса изучения. Что в итоге делать с этими знаниями можно, пилить минималистичные десктоп-аппликухи? Или опенсурсу какому требуются макаки?
>>3709850 >Думал прямо сложно будет, но оказалось что язык как язык. Да, я тоже поначалу не вкатывался, потому что наслушался насчет невыносимой сложности языка, а оказалось - ничего суперсложного, если в темплейтные дебри не лезть. Тупые люди, видимо, самые громкие, поэтому их мнение всегда на слуху.
>>3709850 >не знаю что с этим всем делать Кликхаус и уткадб написаны на плюсах, можно в них ковыряться. Всё, что с играми связано - движки, логика, патчи для поддержки новых систем, эмуляторы - тоже на плюсах чаще всего.
>>3709901 >Ещё никогда в истории не случалось такого В 90-х именно так и говорили. Безопасная замена сишки да еще с невероятно модным тогда ООП. Си в итоге никуда не делся.
>>3709934 В играх чаще всего С с классами. Только на самом верху, в геймплей коде, будут "современные" плюсы, стандарта так 14. Но все подсистемы С с классами.
>>3709850 Да ебать, вкатывайся в аутстафф. Будешь легаси ковырять. Ну либо пили какую-нибудб монументальную программу, что бы позлить растомакак, ведь новый софт пилится не расте! Какой ужос!
>>3710058 Писать-то я могу, а вот вливаться во что-то существующее - не пробовал, хотя мб на луа можно. Вникать в чужое это, кажется, совсем отдельным скиллом. Есть идея переписывать некоторые библиотеки руби с него на плюсы. Как раз с этой экосистемы совершил перекат. >>3709948 Как я спалился с тем, что у меня шиза?
>>3710145 Слушай, а как плюсы учил? До этого рубистом работал или что? Я всё прыгаю со страуструпа на прату, с праты на learncpp и никак определиться не могу.
>>3711212 По Прате, да. Слог отличный, информативно, самодостаточно. Для базы ничего другого и не нужно, как по мне. Все объясняет доступно с примерами. Если откровенно, то лучше туториала в виде книги я не встречал, так что бери его. Ну и если что-то не понятно то можно попросить разобрать нейронку на альтернативном примере и покрыть комментариями. Сейчас буду читать пикрилы, а после проведу переразбор конспектов по алгосам и паттернам со скриптопараши на плюсы. >До этого рубистом работал или что? Изучал рельсу под фриланс и саас, но соснул в связи со слишком нездоровой ситуацией в вебе на данный момент, а предпрениматель из меня так себе оказался. Но руби хорошо меня натаскал и подготовил. Без этого бэкграунда бы было мучительнее. В частности ООП, DRY, чистоте кода я научился именно на нем.
>>3711254 Я пытаюсь в прату, но тяжело идёт, тяжелее Бьярне. Видимо придётся его дочитывать, хоть и видел успешные кейсы вката после него. Упры все делал у Праты? Конспектировал чё-нить?
>>3711291 Не читал Бьярне, только видел отзывы, мол, он там часто на отвлеченные темы пишет и про то, какой он охуенный язык сделал. С Пратой же был немного знаком с его книги по Сишке. Не дочитал последнюю, но он охватывал в тч близлижайшие темы к низкоуровневым задачам. Мне, как челу без вышки и базы, такая информация нужна, так что выбрал его чтобы все-в-одном месте. >Упры все делал у Праты Избирательно. Прорабатывал то, что не очевидно и не понимал сразу. В основном пытался писать свое, используя последний материал по аналогии с практическим заданием. >Конспектировал чё-нить? Да, вплоть до каждого новго оператора. Вообще каждая глава у меня описана в отдельном срр-файле в виде исходника с комментами. Так вроде пишешь и запоминается + подсмотреть оперативно можно.
Я, затворник пайтона, начал изучать с++. И нихуя не понимаю, зачем вам строгая типизация, биг инт, шорт инт, дабл когда есть флоат, и это я только 1 вечер смотрел. Че за хуйня у вас тут происходит
>>3675801 (OP) Сижу 4 год в embedded, пишу прошивки для соков, подзаебло уже. Было интересно создавать свои костыли драйвера для периферии, c++ API для взаимодействия с FreeRTOS и регистрами со всеми плюшками шаблонов, RAII, полиморфизма, стараться писать код максимально эффективно без динамического выделения памяти, исключений. Но сейчас понял, что перегорел и главное зарплата перестала устраивать. Работаю над проектами я один практически и уже начинает голова раскалываться, что надо и UI и backend везде проектировать и отлаживать одновременно. Последний месяц уже просто хуи пинаю изредка что-то Claude скармливаю. Паралельно ещё трогал кути за всякое через питон, ещё немного на плюсах, но там все +- то же самое писал свои биндинги для shiboken. На работу попал по знакомству случайно, изначально без вообще каких-либо знаний программирования, без трудовой. Есть ли шанс попасть на собеседование с каким-то дядькой бородатым прошаренным из треда отзовись, а не с девочкой из HR, чтоб мы с ним вместе посмеялись с текущего стандарта, UB, попиздели за жизнь и меня взяли на работу. Или мне придется вечно гнить в конторе? И вообще в какие направления стоит целиться? Мне пиздец, как нравится говнокодить API, библиотеки, драйвера. Было бы прикольно перекатиться в написание дров для полноценных ОС по типу Линукса, написание прошивок без фронтенда, роутеры, свитчи какие-нибудь, может быть гей дев, да даже Qt без гуи подойдёт. Короче любой бэк на плюсах
>>3719539 щас найм умер совсем. короче твоя текущая работа последняя в твоей айти карьере. сменить работу уже никогда не сможешь. надо держаться зубами за свое текущее место пока не уволят принудительно.
>>3719595 > надо держаться зубами за свое текущее место пока не уволят принудительно Да я сделал себя практически незаменимым уже. Уволят только если фирма рухнет, я думаю. >>3719653 > Т.е. у тебя был лёгкий вкат, работа ненапряжная, Изначально было очень тяжело, когда ещё знаний не было, приходилось рвать жопу, после работы ещё учится, смотреть лекции различные по плюсам, шерстить доки. Да и сейчас иногда ухожу поздно, разбитый, если надо какую-то проблему решать срочно.
>есть время на ср, но ты ноешь? Ты заржался, челибончик. Я же написал, что зарплата перестала устраивать, возможности для роста пока нет в ближайшее время.
>>3719539 С твоим послужным списком будет тяжело куда нибудь перекатиться кроме того же эмбедеда
Сидишь один на проекте, опыта работы с командой нет > Мне пиздец, как нравится говнокодить API, библиотеки, драйвера в 99% работа ты этого делать не будешь, API уже есть, библиотеки написаны, только чини и расширяй старый функционал
> Есть ли шанс попасть на собеседование с каким-то дядькой бородатым прошаренным из треда отзовись, а не с девочкой из HR Нет, и ты заинтересован со встречей конкретно с девочкой из HR которой ты напиздеть сможешь
Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается
>>3719539 Расскажи как работаешь? Ну например нужно сделать стенд для проверки развала схождения тачки. Ты вобще все один делаешь? И датчики оцифровываешь и схему разводишь, и на ПК еще ГУЙ отрисовываешь? ----- P.S Я тоже работаю по сути один, но я работаю с тем что мне приходит, заранее со схемотехником(или хуй знает кем) обговариваем че как должно быть и делаем. Если железки прогать + гуй для них рисовать никакого времени не хватит, ну если конечно проект это не метиостанция от Алекса Гавера, лол.
>>3719715 >Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается Они сейчас вроде всех гребут, не разбирая. У них рекрутер тупо смотрит, что у тебя палец есть кнопку нажать, значит дальше идешь, а основной отсев уже на кодинге-алго.
>>3719715 > С твоим послужным списком будет тяжело куда нибудь перекатиться кроме того же эмбедеда Можешь привести пример достойного списка? > Сидишь один на проекте, опыта работы с командой нет Всегда можно научиться > в 99% работа ты этого делать не будешь, API уже есть, библиотеки написаны, только чини и расширяй старый функционал Ты какое направление имеешь ввиду? В embedded огромный зоопарк, если не клепаешь ширпотреб на ардуино. Например драйвера к цифровым датчикам, почти всегда пишешь сам, т.к производитель даёт тебе только спецификации регистров и команд, очень редко есть готовый API. У каждого производителя SOC, как правило свой SDK, со своими особенностями, которые могут быть заточены под разные RTOS или вообще bare metal. Возможно ситуация улучшилась с приходом Zephyr. Из графических библиотек, есть только LVGL, который не на каждый контроллер влезет по ресурсам. Поэтому многие пишут свои с нуля. И да, все это дело написано исключительно на C, а мне, как c++ enjoyerУ хочется все это дело завернуть в классы, как минимум, а как максимум сделать свой Qt со слотами, сигналами и прочем.
> Нет, и ты заинтересован со встречей конкретно с девочкой из HR которой ты напиздеть сможешь Какую лапшу конкретно надо вешать?
> Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается Меня работа в Яндекс вообще не интересует, кроме опциональной возможности для релокации
>>3719764 > Расскажи как работаешь? > Ну например нужно сделать стенд для проверки развала схождения тачки. Тема для меня далёкая, поэтому ничего конкретного сказать не могу. Нужен специалист, который в теории понимает, как это должно быть реализовано, т.е какие датчики используются, куда они должны быть подключены и т.д. Далее уже с инженером обсуждаем схему, что на какие ноги посадить, какая перефирия нужна (I2c, UART, sPI). Далее уже собираем на коленке или заказываем прототип платы, проверяем, что не дымиться при включении и начинаю потихоньку писать для нее прошивку. > Ты вобще все один делаешь? И датчики оцифровываешь и схему разводишь, и на ПК еще ГУЙ отрисовываешь? Очевидно схемы я не проектирую. Занимаюсь только написанием ПО. Да, под ПК, тоже приходится делать что-то иногда. При любых подозрениях на аппаратные проблемы иду плакаться главному инженеру
>>3719828 >Какую лапшу конкретно надо вешать? Какие ты ахуенные проекты ввёл, какой у тебя огромный опыт работы в команде, как много ты кампании профита принес > Всегда можно научиться Учитесь, мы вам перезвоним > Можешь привести пример достойного списка? Сам посмотри резюме открытые у топовых спецов, если просто о конторах говорить, то если до сво успел в интел\нвидии поработать то красава В целом если не рога и копыта уже плюс, яндексы сберы тинькофы ядро и тд
>Меня работа в Яндекс вообще не интересует Так ты представь если ДАЖЕ в яндексе такие требования, то какие ответы от других кабанов ты получить будешь
>>3719844 >Так ты представь если ДАЖЕ в яндексе такие требования В Яндексе такие требования, потому что у них на плюсах только бэкенд. Эмбед и Qt им в принципе не нужны, поэтому оно за опыт и не считается. В конторах, где нужны формошлепы, смотрят на Qt/QML. В эмбеде - опыт с STM32 или что там.
>>3719888 > у них на плюсах только бэкенд Не только, дохуя команд своими приколами занимаются, как собственно в том же сбере но туда с улицы не берут, это да
У Ядра то кстати не рассматривал вакансии? Там же как раз задвижки для дронов\ТСПУ делают
Пасяны что порекомендуете делать - знаю C++, учу Си, знаю qml, тыкаю виджеты, насколько трудно будет устроиться формошлепом qt? Или же лучше углубится в embedded(я боюсь паяльника)
>>3725425 На кассах визуал слишком хороший и с анимациями, на qt заебешься такой делать. Плюс цикл жизни такого приложения короткий. Скорее всего обычный браузер и фронтенд
>>3725502 >Не знаю зачем ещё тогда Qt там нужен. Внутренние тулзы, например. Если нужна куча табличек, деревьев, на Qt это удобнее делать, и работает гораздо быстрее HTML, где таблица с 1000 элементов уже браузер на колени ставит.
>>3725808 Просто в тред скидываю типичного представителя професии, чтобы новенькие сразу понимали как их коллеги будут выглядеть А также животрипещующая тема почему программистам микроконтроллеров мало платят и работают там какие то додики
Ананас посоветуй что-нибудь по алоритмам, чиста для души минут на 15-20 в день потыкаться, без фанатизма. На плюсах пишу пятый год за деньги, зашёл на литкод почти ничего решить не могу, лол.
>>3727902 Да ты хоть 10 книг прочитаешь литкод также решить не сможешь, ты базу и так уже должен знать, вектора списки деревья + сложность алгоритмов Смотришь на задачу, пытаешься решить ее за n минут, не получается читаешь принцип решения (не тупо копируешь код), поняв идею переписываешь свой код чтобы решить задачу. Если какой то неизвестный алгоритм\паттерн идешь его изучаешь заодно. Повторяешь цикл каждый день, через несколько десятков задач уже сам начнешь всё понимать
Ну еще полезно почитать какие в stl есть апи для работы с контейнерами, алгоритмами и тд, чтобы не писать как в сишке, а то постоянно смотришь код на литкоде, а его пишут как будто о плюсах знают только существование std::vector
>>3727902 >зашёл на литкод почти ничего решить не могу, лол На algo.monster, neetcode.io подробный разбор решения для многих задач с литкода написан. Читай, потом пробуй решить аналогичные задачи. Там принципы одинаковые, научишься решать задачи одного типа, будешь все подобные легко щелкать.
>>3727906 >а то постоянно смотришь код на литкоде, а его пишут как будто о плюсах знают только существование std::vector если будешь stl юзать для решения задачек на литкоде, то не набьешь руку для собеса, по большому счету лучше вообще на си задачи решать, чем на крестах
>>3727902 >плюсах пишу пятый год за деньги >зашёл на литкод почти ничего решить не могу гордись собой ибо благодаря таким как ты еще не запилен Скайнет и не настал Судный День
>>3728257 стл контейнеры просто облегчают жизнь и дают возможность не изобретать динамический массив в миллионный раз. Алго программингом лучше всего заниматься на плюсах или питоне - там главное идея, умение видеть паттерны и знание АиСД. Для питона как правило свои тайм-лимиты.
>>3728257 >не набьешь руку для собеса Как раз таки набьешь, и на собесе будешь лучше выглядеть если будешь использовать итераторы и нормальные алгосы вместое int index > по большому счету лучше вообще на си задачи решать, чем на крестах ну если планируешь дальше на си писать то да, а если ты с++ программист то только вредит
>>3728315 >будешь лучше выглядеть если будешь использовать итераторы и нормальные алгосы вместое int index Большинство задач обычно явно предполагают int index. Обычно ileft, iright. Итераторами обычно сложнее получается и хуже выглядит (кроме например, поиска в строке или хэшмепе, где они неизбежны). Алгоритмы вроде sort, reverse, обычно и так все используют, если это явно не запрещено. Полезно помнить синтаксис у priority_queue, потому что много задачек, где она используется, а в ИРЛ кодинге ее редко кто трогает.
>>3728360 >Большинство задач обычно явно предполагают int index. Чтобы что? Для обращения к элементу - итератор Для нахождения растояния между элементами std::distance
> Обычно ileft, iright Уж тем более лучше итераторы исползовать, чем такое В условном проде ты же не городишь ileft, iright, не бегаешь по массиву for (int i = 0; i < n; i +=1) а пишешь нормальный код
>>3728369 >Чтобы что? Чтобы писать просто i, a не std::distance( v.begin(), it ). Так проще и тебе писать, и интервьюверу твой код читать. >В условном проде ты же не городишь ileft, iright В условном проде тебе не надо искать палиндром наибольшей длины в строке.
>>3728374 > Чтобы писать просто i, a не std::distance( v.begin(), it ) Вместо лаконичного понятного действия просто вернуть что то с названием i
> В условном проде тебе не надо искать палиндром наибольшей длины в строке. Ты векторами, итераторами и алгоритмами только там пользуешься? В обычные рабочие дни чем занимаешься? Окошки на qt рисуешь или байтики по сокетам раскидываешь?
>>3728389 Чел ты хоть раз алгосекцию сам сдавал? Там всем насрать на итераторы, правда. Самое главное там - найти все свои ошибки без компилятора, методом пристального взгляда. Это бывает сложнее, чем само решение придумать. И тут чем короче и читаемее код, тем проще, поэтому итераторы никто и не использует.
У того же яндекса сейчас есть отдельный собес без алгоритмов, чисто по чистоте кода и знанию языка. Там вот итераторы к месту, а на алгоритмической секции главное, чтобы ты вообще к решению смог придти.
>>3728399 Да, и не вижу какие проблемы могут возникнуть с ними если ты будешь всегда писать нормально Понятное дело что написав код тяп ляп в литкодах ты привыкаешь аналогично всё писать, и у тебя алгосекция с написанием кода в блокноте вызовет нереальные трудности
Если ты с самого начала приучишь себя писать почеловечески то у тебя не будет никаких проблем в алгосекции
>>3728402 >У того же яндекса Два раза меня эти дибилы звали на собесы, оба раза опаздывали, а приходил чел собесить который плюсы впервые в жизни видит В итоге решаешь задачку за 10 минут и остальное время обьясняешь почему в стл итераторы не также как в джаве работают и так повторяется 3-4 цикла, по окончанию которых ты уже нашел работу в другом месте Причем зовут собесить как будто ну совсем додиков, одна тян собесер говорила какой я малаца что знаю reserve у вектора
>>3728415 >Два раза меня эти дибилы звали на собесы, оба раза опаздывали С Яндексом прикол, что они для собесов используют зум, а свой телемост - только если с зумом проблемы. Что говорит о качестве их продуктов и компании в целом.
>>3728415 >Причем зовут собесить как будто ну совсем додиков Так и есть. Сеньоры плетут интриги, им не до кода. Мидлы держат прод на плечах, как умеют. В итоге на собесы посылают совсем зеленых, кто не смог проебаться. Дедовщина и потогонка жи есть.
>>3730257 На заводе надоело лазать по ржавым трубам и грязным шкафам с мультиметром. Начал учить плюса по курсам со степика. Мне нравилось что там есть тренажёр с наборами тестов. На тот момент ИИ был не так развит, приходилось читал в книгах те места которые мне были не понятны. На первом собесе меня сильно приземлили, но по плюсам, без алгоритов. Первый собес я не прошёл, интервьюер был крутой он сказал подготовься и приходить через 3 месяца. Пока готовился мне предложили сделать одну работа name, которую не смог сделать какой-то опытный Вася. Собственно за неделю-две я её сделал(лютый был говнокод, но все работало), так и устроился. Сейчас имею 2 работы.
Я веб-макака с 8-летним опытом работы на Java. Хочу разрабатывать игры на C++ в России. Что мне делать для того, чтобы найти работу за деньги в геймдеве? Скачал себе книжки про разработку игр при помощи фреймворка SFML, очень интересно, но похоже SFML никому не нужен. Можно ли на C++ зарабатывать деньги в других сферах? Есть ли в России потребность в разработчиках драйверов под windows? Я тяготею к низкоуровневому программированию, мне нравятся микроконтроллеры и FPGA, но в соответствующих вакансиях требования просто пиздец, я не потяну.
>>3731823 Еще мне нравится математика. По вечерам я бывает изучаю дифференциальные уравнения и пишу солверы на C++, но можно ли это продать работодателю - непонятно. Меня тошнит от примитивной работы с тупыми задачками. Я походил по разным компаниям, везде одно и то же говно. Еще и конкуренция дикая, даже продать время своей короткой жизни работодателю очень трудно. На моей текущей работе мне сильно задерживают зарплату, поэтому я думаю, куда перекатиться. Ненавижу эту ебаную Россию, где невозможно просто работать и быть счастливым вместе со своей тянкой. Тут одни проблемы всегда. Хочу жить в Нидерландах, работать на обычной работе и просто жить нормально без ебаных войн и экономических кризисов. В Нидерландах можно работать 4 часа на одной работе, 4 часа на второй и получать достаточно для счастливой жизни.
>>3731823 Так если про зарабатывать деньги то это не к С++, это как раз к Яве. В играх пиздецкий график за копейки, нах тебе оно надо? Если где деньги и есть в С++ это в легаси. >Ненавижу эту ебаную Россию Вот это правилный подход
>>3731823 На плюсах в рф это в основном госка и всякие заводы. Не обязательно военка и дроны, если ты не хочешь быть связан с таким, то варианты есть и их много в дс/дс2. Зарплаты разные от 50к до 300к и выше, у самого чуть более 200к выходит, плюс как ни странно учитывая специфику сферы можно намошнить себе 2 работы и даже больше, я встречал и такое.
Нужно понимать что кроме самого языка там нужно знать всякие кишочки линуксов, протоколы, сеть, где-то обработку сигналов и всякий матан, чистая сишка конечно же тоже.
>>3732005 Вакансии может и висят, но туда либо конкуренция 5 тысяч человек на место, либо это просто фейковая вакуха. Работы очень мало стало. Сам с ноября сижу без работки. На последнем месте ковырял линух, кресты, qt, немного компьютер вижен всякий и opencv и сетевую дрочню. Короче всего понемногу делал. Но работы тупо нет.
При этом не совсем понятно как рынок изменился из-за LLM. Я слышал многие проекты на С/С++ сейчас через ллмки переводят на раст, увольняют 80 процентов штата разрабов и оставшиеся 20 процентов бедолаг выживших сидят через нейронки вайбят на расте.
>>3732009 > Я слышал многие проекты на С/С++ сейчас через ллмки переводят на раст Весь эмбед и системщина это ТОЛЬКО плюсы и сишка, никакого пидераста там не было, нет и не будет. Это язык без задач. Ты не понимаешь насколько сфера закостенелая и отсталая в плане перехода на какие-то новые технологии.
>Сам с ноября сижу без работки. > Но работы тупо нет. Как распознать ботохуету по ключевым фразам
Один из немногих плюсов >Архитектурный принцип: compliance перестаёт быть финальным гейтом — традиционным источником задержек перед выкаткой в продакшн — и становится сквозным свойством ИИ нативной разработки. Каждая агентная задача, затрагивающая данные, автоматически наследует применимые политики из библиотеки через Policy Hook. Инженер не должен помнить о 152-ФЗ — Policy Hook напомнит сам.
>>3732174 >фактологическая ложь Сильно зависит от области. Бэкенд сосет лапу. Но если умеешь скажем OpenCV и компьютерное зрение, SLAM, VIO - работу найдешь сразу. Причем не обязательно ВПК.
>>3732175 >Но если умеешь скажем OpenCV и компьютерное зрение >>3732009 >Сам с ноября сижу без работки. На последнем месте ковырял линух, кресты, qt, немного компьютер вижен всякий и opencv и сетевую дрочню. Короче всего понемногу делал. Но работы тупо нет.
Это ты так подтрунить решил над этим аноном?
А ну и да работу найдешь сразу != работы больше чем когда-либо было
>>3732180 >>3732291 >>3732303 ХХ.ру мертв впрочем как и рынок российского труда. Ща на кресты точно так же сложно или почти невозможно залезть как и на какой-нибудь питухон. И то на питухоне работки побольше будет потому что питухон это про ИИ агентов которые сейчас на хайпе, а на крестах вон только военка нынче и все. Хорошие С++ конторы свинтили из РФ еще в 2022 году если что. Сейчас с крестами еще можно пробовать тыкаться в яшку, ядро или касперский, но хз насколько вообще касперыч жив и нанимает людей. Кажется что не особо.
Ну и в целом как сказали выше разработка умирает как явление, код отчуждается от людей и отдается нейронкам, а людей на мороз выгоняют. Там вон методичка господина Меньшова из Сбера рассказывает как теперь надо работать (Spec Driven Development).
Кстати интересный факт движок Clickhouse делается полностью ИИ агентами сейчас. Там вообще полностью автономный процесс. Агенты создают тикеты, агенты их делают, тестят, ревьювят. Человек там почти никак не участвует уже. И количество контрибьюшенов выросло в 5-10 раз по сравнению с до-ИИшной эпохой. Минус только в том, что теперь никто не знает что там за код внутри движка кликхауса и как он работает. Код отчужден от человека. Мы теперь больше не инженеры, мы теперь оркестраторы агентов.
>>3732367 Ну вот на кликхаус посмотри. Это вполне себе наукоемкая хуйня, там куча всяких алгоритмов сжатия, алгоритмов поиска, алгоритмов эффективной записи на диски, работы с файловой системой, многопоточкой итд итп. При этом там критически важен перфоманс и сохранность данных.
И это уже ебут нейронки вовсю. Сейчас буквально нет никакой наукоемкой отрасли где нельзя все нейронкам отдать. Надо просто признать что интеллектуальные работы просто уничтожены нейронками и тут с этим ничего уже не поделать.
>>3732349 Ответ гугла. Сам движок ClickHouse продолжает разрабатываться инженерами-людьми на языке C++. Однако ИИ-агенты сейчас стали важнейшей частью экосистемы ClickHouse — они используются для интеграции базы данных в современные пайплайны и глубокого анализа информации.
>>3732379 >Кликхаус готовые сжатия использует, о чём речь? Ну тебе их еще надо имплементировать так чтобы оно работало очень быстро, как понос нахуй. Это нетривиальная задача.
Плюс в СУБД очень много других приколов, и это реально наукоемкая отрасль. Просто ее нейронки выебали и высушили прямо как разработку формочек и крудов.
>>3732380 Зайди в репозиторий и сам посмотри что там происходит и где там твои люди спойлер - у параши
>>3732382 Не знаю, поживём — увидим. Много раз пытался скормить какой-нибудь проект — получалось всегда кривое неподдерживаемое говно. В своих задачах использую для написания каких-то функций, которые знаю, как писать, но просто лень, и проще отрефакторить говнокод нейронки.
>>3732127 Задачи, прежде требовавшие 20 человеко-лет, выполняются командой из 4–6 разработчиков за 3 месяца.
Серьёзно?) Это он посчитал по количеству строк говнокода?))
В ядре линуха ~40кк строчек кода. Что-бы сделать линух нужно всего год времени и команда из 100 операторов ИИ. Работоспобность же отценивается количеством строк, судя по всему если наговнокодить 40кк - автоматически получишь свой линукс.
>>3732400 Да, он так посчитал. И ты с этим ничего не поделаешь потому что он барин, а ты холоп. Он знает как вести бизнес, а ты нет. Поэтому будешь тихо под шконкой сидеть нейрослоп генерировать. А будешь медленно генерировать - уволят нахуй.
Работников сейчас будут ебать в очко только так. Никакой пощады. Досуха будут ебать.
>>3732401 >Думаешь у CIO Сбера нет инфы сколько на проект уходила раньше и сколько сейчас? Это говорит только о качестве сберовских кодеров и их проектов. Можно год ебланить с нулевым выхлопом, хоть и будут номинальные 2к строк в недел..
>>3732377 >Надо просто признать что интеллектуальные работы просто уничтожены нейронками Значит это не особо интеллектуальные работы. Я ими регулярно пользуюсь, и там где надо что-то оригинальное придумать, где аналогов нет в инете, они жестко тупят даже в простейших задачах.
>>3732615 Во первых нейронки для такого не сделаны, все реальные вычисления нужно реально совершать Во вторых чатами никто не пользуется при разработке, сейчас всё на агенте, условный агнет смог бы написать простой питон скрипт для вычисления твоей задачи и выдать корректный ответ а если бы и стал самостоятельно что то вычислять то это твоя задача рассказать ему что такое делать не надо
>>3732677 ну так аноны задали вопрос про придумать новое! а так в запросе сделай мне гта6 хоть и с ошибками в какой-нибудь курсор или другую крутую систему для генерации слопа нейроболван все равно быстро обосрется, пока что вижу что максимум, это шлепать дефолтные формочки в стартапе
> сделай мне гта6 хоть и с ошибками в какой-нибудь курсор или другую крутую систему для генерации слопа нейроболван все равно быстро обосрется всё так, запрос говно, так с нейронками не работают
>>3732690 ну нет, придумать новое это создать новое, а не найти уже существующую информацию! С существующей инфой нейронки, конечно, справляются, но человечеству и мерзким кабанам нужны новые решения.
>>3732596 >Можешь примеры привести? Например, как сделать Х в актуальном анриле. Там постоянно что-то меняется, примеры, которые есть на форумах уже протухли, а по коду болван не понимает, как делать. Если примеров нет - вообще затуп и походы кругами вокруг неправильных решений. Приходится самому разбираться. И это не только анрил, так практически с любой большой и слабо документированной кодобазой. Очень сильно тупит с геометрическими задачками, там, где визуально надо представлять, что и как. С алгеброй часто бывает ошибается прямо как человек - минусы забывает, множители теряет.
>>3732705 > слабо документированной кодобазой > unreal engine )) Ты ему хотя бы сказал где доку смотреть в AGENTS.md или просто проект открыл и сказал - "делай гта 6 без ошибок"? Не говоря уж о том что ты через mcp можешь прямо к редактору его подключить и он самостоятельно сможет всё запустить и протестировать
>>3732615 Он мне миллисекунды в герцы на той неделе перевести не мог. Если в проекте файлов больше чем main.cpp он делает неподдерживаемую сложную говнину, зато строк кода много, как сбер любит, лол.
>>3732731 >Ты ему хотя бы сказал где доку смотреть А где доку смотреть? На dev.epicgames.com может? Там тупо доксиген и список статей уровня "чтобы сделать куб нажмите кнопку куб, двигайте ползунок, чтобы сравнить сцену с кубом и без куба".
>>3732741 И так знал, поэтому когда нейронка выдала мне хрень я ее сразу осадил. А теперь представь чела не владеющего контекстом. Он же все нейрохрючево на верочку примет, а потом будет разгребать эту лавину бреда.
>>3733224 >заебашили сингулярити ос за полтора года В ОС самое объемное - дрова. Само ядро не такое большое, и его вполне можно за год-два небольшой командой сделать.
>>3733553 >а теперь можно написать за месяц Как в анекдоте "могу печатать вслепую со скоростью 1000 знаков в минуту, только полная херня получается." Скорее поверю, что нейронка как раз дрова сможет писать по спецификации, чем ядро, где что-то хоть немного нетривиальное будет.
Насколько сложно вкатиться в 30+ лет? За плечами говносайтики на React/Typescript сделанные кое как. Ощущение что плюсы актуальны всегда и везде, в чем не прав? Стоит вообще морочиться?
>>3737266 > Насколько сложно вкатиться в 30+ лет? Невероятно сложно > в чем не прав В том что актуально всегда и везде > Стоит вообще морочиться? Решай сам
>>3737245 > auto main() -> int Двачую. Переписали весь нащ говномонолит с новыми фишечками std::forward &&, auto, for range - код стал работат ьв два раза быстрее. Мне повысыли зэпку
>>3739328 Агент - это такой скрипт, который за тебя гуглит и автоматически копирует ответ со стековерфлоу прямо в твой проект, не выходя из окна IDE. Очень удобно. Только теперь все почему-то думают, что автоматизация такого простого действия убьёт программирование.
А вот если, например, мой проект машинное зрение. Есть управляемая линза для камеры, на которой стоят два моторчика, которые настраивают фокус и закрывают-открывают линзу (iris). На заводе почему-то они все перепутаны: 1) команда, которая открывает линзу - на самом деле закрывает и наоборот 2) иногда на сборке путают проводочки до открытия
Сможет агент этот запрогать алгоритм автоматического определения какой проводочек реально на что подключен - на iris или фокус (в какую сторону крутятятся линзы при посылке команд), найти крайние значения, делать это желательно параллеольно и асинхронно на всех камерах подключенных к комплексу, корнер кейсы как работа в темноте (как в темноте определишь - открыта у тебя линза или закрыта)? Как она это будет программировать: бегать включить-выключить свет в помещениее для тестирования? Или чисто гугл тесты подключит и так норм будет?
>>3739329 > Я уже лет 10 с стэковерфлоу копирую. > Агент - это такой скрипт, который за тебя гуглит и автоматически копирует ответ со стековерфлоу прямо в твой проект > все почему-то думают, что автоматизация такого простого действия убьёт программирование Ну как бы тебе сказать, вот того анона заменит
>>3739345 >Как она это будет программировать: бегать включить-выключить свет в помещениее для тестирования? Ты будешь бегать дергать проводочки и включать свет по команде модели.
>>3739345 >Сможет агент этот запрогать Всё что может сделать человек агент сделает - и то что человек не сможет тоже вероятно сделает. А то что петровичи на распильном заводе что-то перепутали это никого не ебёт, там ноль вэлью изначально.
>>3739388 Окэй. Но нужность и важность этой задачи предвосхитить смогу только я - инжинер-мыслитель-архитектор. Дурачок не сможет. Отточить всякие вот такие противные вещи и довести их до совершества - не каждый человек будет. А иногда именно это определяет и роляет в жизни. Максимальная быстрота, удобство, адаптируемость софта.
Вот ещё даю вам пример: есть некий алгоритм трекинга объектов. Предположим алгоритм стал работать так хорошо, что при определённой и одинаковой ориентации многих камер на полигоне захватывает объект слишком далеко, когда буквально он точка. СТандлартный чел, вместо того, чтобы придумать какие-то параметры для алгоритма или отфильтровывать такие ситуаци ВНЕ алгоритма ЗНАЕТЕ ЧТО ДЕЛАЕТ? заходит внутрь алгоритма в самый гланую луповскую функцию так сказать tracker->process(image) и ТАМ ВНУТРИ ССУКА вставляет if image.y < 500 return discart_object;
привожу аналогию: ЭТО БУКВАЛЬНО как из-за опредлённых временных условий тестирования ОТВЁРТКОЙ НАХУЙ РАСКОВЫРЯТЬ ВИДЕО СЕНСОР КАМЕРЫ ПИКСЕЛИ, НА КОТОРЫЕ ПРОЦИРУЕТСЯ ОБЛАСТЬ, В КОТОРОЙ ОБЪЕКТ ВСЕГДА МАЛЕНЬКИЙ НУ ПОТОМУ ЧТО НЕ НУЖНО
понимаете? И этот человек закончил баумку. Он уважаем коллегами и всё такое
т.е.реальноо архитектруное мышление не свойственно даже мнгим уважаемым авторитетным коллегам. ПОнимаете?
>>3739398 Нейронка как раз понаставит кучу параметров и ненужных абстракций, как в проектах по которым ее тренировали. Хуяк-хуяк это слишком по-человечески.
>>3739417 Ну, без чётко сформулированных требований или под руководством человека без чувства прекрасного она вряд ли сможет параметризовать функции с нужной степенью детализации и корректно
>>3739440 >Нейронка еще и захочет тесты написать Лол, это ж не круды. Там тесты это оценка успешности детектирования и трекинга объектов, точность обвода объекта + в динамике это смена положения камеры. Там тестирование очень сложно
>>3739444 > оценка успешности детектирования и трекинга объектов, точность обвода объекта + в динамике И что, вы там дроны свои каждый раз для тестирования вручную запускаете после каждых изменений?
>>3739398 >ВНУТРИ ССУКА внутри то зачем, уж если и вставлять костыль на проверку дистанции то он же один раз все равно отработает.. значит можно перед главной функцией воткнуть..
>>3739385 >стэковерфлоу копирую всегда удивляло почему программисты так радостно делятся собственными вымученными знаниями вот я бы с вами к примеру с радостью пообсуждал метапрограммирование на с++98 ибо это абсолютно бесполезная абстрактная фигня никому никогда не принесшая деняг но вот зачем те же пхпшники так яростно отвечали на стекоферлоу - это загадка
>>3743280 Ну так я про то и говорю. Ну ладно, если у тебя какие-то условия, можно параметрезировать tracker->set_roi(x,y, width, height). Ну это, блять, пример. И вот таких людей в отрасли лет 15 назад было 90%, а сегодня нахуй 99% уже. Ну такие у меня ощущения
>>3739345 >Сможет агент пляши от того сможет ли железо камеры (те потянешь ли по финансам за цену изделия) держать обученную модель, если да, то вообще можешь не парится, быстро сделаешь на современных нейронках
>>3743281 >зачем те же пхпшники так яростно отвечали на стекоферлоу - это загадка Такова была корпоративная культура. Больше рейтинг на SO — лишняя строчка в резюме. Больше шанс, что возьмут на работу.
Может есть тут аноны кто пишет на си/плюсах вейленд-вулкан рендерер? Никак не могу побороть одну фигню: все работает, но если вынести полл и эвенты либо сабмиты вулкана в отдельный тред то при ресайзе появляется подергивание - это бесит. Ни веейленд ни вулкан ошибок не выдают.
>>3746511 Ну тут совсе для нубов. В общем посидел, поборол. Все стало силкисмуз как и в однопотоке. для иксов просто немыслемо. Использовал промежуточные значение, и признак, и сериал. Признак тригерю топлевелом, по нему в сюрфейс беру промежуточные значения и сериал, взвожу основной признак. По нему в мейн потоке пересоздаю буферы и аск конфигуре с коректным сериалом. Под мутексом делается только заказ дма буфыеров и аск конфигуре.
>>3748200 Я и в репозитории был, маленькие осмысленные коммиты, ИИ-соавторства нигде не увидел
>ты правда думаешь что нейронка плохо справляется с рефакторингом? Оно в принципе плохо с имеющейся сложной кодобазой работает и годится только для прототипирования новых простых проектов.
>>3743287 С ним, это с пойлом что у меня вышло, лол? Впрочем ругать не хочу, не так уж и плохо получилось. А за совет спасибо, только это и выручит, но хочу чтобы настоялось ещё. Выдержка в холодильнике все-таки многое для вкуса даёт, главное знать когда поставить. Алсо, заказал на озоне половник маленький для снятия пробы прямо с пола с банки, хехехе чтобы банки трёх и пятилитровую каждый раз не поднимать. До этого вообще пальцами лазил прямо в банку как героин в фильмах проверяют.
>>3748544 мяу, плюсы это полный пиздец с неопределенным поведением, перегруженный всякой хуйней, кучей ебанутых бессмысленных правил и мягко говоря не очень информативными сообщениями об ошибках компиляции, а если ошибок на этапе компиляции нет, то надо молиться, что на этапе рантайма никаких ошибок не будет, а если они будут ты узнаешь о них далеко не сразу
Есть варианты как под Красноглазиксом можно модули пощупать, а особенно import std? gcc, clang предкомпилируют и летают нормально, а глючная параша (C)make не заводится никак
>>3748544 Поставил конпелироваться энту библотечку, охуел от скрости конпеляции, сходил за пивком, пришёл и всё собралось. Какой же уёбищный и пидорский язык.
# обычно не тредуется и гцц сам подхватывает if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") set(STD_MODULES_SRC_DIR /usr/include/c++/${GCC_VERSION_MAJOR}/bits) set(STD_MODULE_FILE_NAME std.cc) set(STD_MODULE_COMPAT_NAME std.compat.cc) set(CMAKE_CXX_STDLIB_MODULES_JSON "/usr/lib/libstdc++.modules.json") endif()
>>3749269 спасибо анон, меня если честно напрягает эта строчка с experimental, потому что вроде как симейк поддерживает модули уже пару лет, но эту строчку тащит с собой и у каждого релиза симейка она разная
Можно ли вкатиться в разработку игр или вообще в коммерческую разработку на C++, проработав книги по разработке игр на фреймфорке SFML? Или SFML никому не нужен и на меня на собеседовании посмотрят как на говноеда?
>>3749423 Мне аноны с SFML всегда чем-то напоминали питонщиков с ботами для телеги. Вроде бы осилил пару туториалов и чувствуешь себя всесильным, даже не подозревая, какая пропасть разделяет анона и коммерческую разработку.
>>3749423 Работа в игорах это кал, недавно смотрел интервью с людьми, которые анчартед пилили, так там даже бедолаг музыкантов запрчгали работать 6 дней в неделю по 12 часов, кто то в офисе прям жил, после релиза игры многие ливнули с компании просто
>>3749423 >Можно ли вкатиться в разработку игр Там же ебаные рабские галлеры. У меня вот другой вопросик, есть одна сетевая штучка, я для прикола попробую её на петухоне написать и посмотрю, как она работает, потом думаю переписать, чтобы штучка вертелась уже на роуетере с попен врт - говно сразу нахуй, потому что на роутере оч. мало пзу, чтобы ебануть на си придётся ебашить автоматик/юзать прототреды всё на еполовом драйвере, как там в плюсах со статическими корутинами, которые вроде как завезли: a) удобно/неудобно б) сколько потом бинарь будет весить?
>>3749423 >Можно ли вкатиться в разработку игр Смотря во что (SFML везде не нужен, максимум как пет)
Есть геймплей разрабы, там ты можешь вобще плюсы никогда не увидеть, надо больше понимать работу современных движков, анриал, юнити и тд Есть разработчики графики, там тебе надо с графическими апи ебаться, Vulkan, DirectX и тд (ну и естественно знание плюсов будет необходимо) В тулзовики и им подобные по большей части нужно только плюсы знать + с движками работать
А вобще лучше не верь словам рандомов из интернета и сам глянь что требуется от разрабов в вакансиях Из крутых челов что свой движок держат в РФ знаю только сейберов (пару лет назад у них найм был заморожен, но сейчас может набирают новичков, вархаммер же у них вроде стрельнул нормально)
>>3739058 Переписываю чужое. Хожу по репозиториям с большим чёрным пакетом собираю весь любопытный говнокод погружаюсь в него и дрочу представляя как все правильно структурирую/объеденю и вокруг моего форка соберется большая толпа контрибуторов.
Но кончив 2-3и функции интерес как то пропадает, слишком много работы, да и никаких конрибьюторов не будет никогда.
>>3749487 >как там в плюсах со статическими корутинами в плюсах нет корутин, тебя наебали, есть некий скелетон с которым в теории что-то можно сделать, но на практике это говно неюзабельное, я ни разу не видел чтобы кто-то этим пользовался
>>3750127 В плюсы добавили ровно такие корутины, которые используются в интерпритируемых языках и в игровых движках. Не можешь в корутины - уйди отсюда, это не для тебя и не для таких как ты в Питоне примеры посмотри/потыкай может с ним легче будет въехать.
>>3750127 >есть некий скелетон с которым в теории что-то можно сделать Что ето значит? >>3750173 >В плюсы добавили ровно такие корутины, которые используются в интерпритируемых языках и в игровых движках. В последних, например в луа, то там противоположные корутины. Ты зачем это написал вообще, мальчик?
>>3750238 > В последних, например в луа, то там противоположные корутины. Ты зачем это написал вообще, мальчик? Что ты тут видишь противоположного, шиз? В документации к полюсам даже пример приводится зачем они нужны и как их использовать.
>>3750127 Два чая. Просто синтаксический сахарок, прячущий какую-то кривую ебень. Букально, хуйня без задач. >>3750173 Что там в них такого особенного? Ничто не мешает создать класс, закинуть его в кучу и дёргать его вызов, обновляя состояние.
>>3750238 > Что ето значит? Примерно такая же ситуация как и с растом, единого рантайма для корутин нет Написали сахарок для обертки вызовов co_await co_return co_yeild
Естественно никто все еще хоть какую то нормальную реализацию не написал, реализовывать этого монстра это пиздец
Многие люди просто хуй положили на это всё и написали свои варианты, где асинхронный код вобще от пользователя спрятан, можешь на userver от яндекса глянуть, там код выглядит как синхронный, но на самом деле нихуя
Что то там конечно пытались в с++26 запихнуть, но в реальном мире ты этот код лет через 10 может быть увидешь
>>3750347 > Что там в них такого особенного? > Ничто не мешает создать класс, закинуть его в кучу и дёргать его вызов, обновляя состояние. Особенного в них то что это часть парадигмы асинхронного программирования. Язык ее либо поддерживает либо ты (как сам предлагаешь) васянишь что-то что бы сдать курсач, либо берешь стороннюю готовую библиотеку корутин типа https://taisei-project.github.io/koishi/ Всё. Что тебе не понятно то? Непонятны корутины я тебе уже ответил в питоне посмотри, потому что в плюсах не просто какая то эталонная реализация, а максимально охватывающая все языки.
Это теперь стратегия развития плюсов такая, максимально удовлетворять чужие хотелки, да некрасиво, да громоздко, но зато все есть. Говорят в С++26 там уже статический анализатор ебанут(ли) как в расте и компиляцию без библиотеки для эмбедщиков.
>>3750410 Сама программа в которой ты их используешь, сишарпо-маня. Узнал тебя по упоминанию раста, ты за год плюсы так и не освоил что ли? Хотя бы деструкторы с конструкторами хоть понял почему вызываются, или ты умственно-отсталый?
Для корутин надо либо тащить свой стэк, тогда всё будет как в говне, прокладка вообще не будет знать про какую-то ассинхронность, потому что это будут просто вызовы функций через вызовы функций, без поддержки стэка для корутин придётся васянить хранение всей хуйни где-то в куче. Завоз корутин как в говне или упомятном луа в стдлибу в плюсы звучит как нечто невозможное.
>>3750514 > Рантайм я как понимаю у тебя где то отдельно от программы существует? А вот это как понимать у тебя: >> Примерно такая же ситуация как и с растом, единого рантайма для корутин нет Дурку включать бесполезно, все ходы записаны.
>>3750526 >А вот это как понимать у тебя: >> Примерно такая же ситуация как и с растом, единого рантайма для корутин нет Как написано так и понимай, в расте есть несколько рантаймов реализующих асинхронность Про гошный рантайм который горутинами управляет слышал? Так вот в расте их несколько
>>3750532 > Как написано так и понимай, в расте есть несколько рантаймов реализующих асинхронность Раст, плюсы, си это статические компилируемые языки, шизойд, у них нет рантаймов. А когда ты собрал, запустил то в рантайме программы нету никаких корутин, ООП, шаблонов и итд итп, это языковая семантика. Более того корутин даже в стандартной библиотеке нет, там есть только функции которые их реализуют на уровне OS.
>>3750555 Малой, иди в гугл поищи что такое рантайм
> в рантайме программы нету никаких корутин Заодно почитай про корутины Ты думаешь кто тебе их как минимум свитчит и планирует? ОС о твоих корутинах вобще ничего не знает
> статические компилируемые языки, шизойд, у них нет рантаймов Что думаешь о го рантайме? Или если я сборщик мусора прикручу к плюсам он перестанет быть рантаймом и неожиданно в компайл тайме разрешится?
>>3750555 Рантайм это любой код который присобачивается к твоему итоговому бинарнику помимо того что ты сам наговнякал.
Другое дело что для корутин рантайм не обязательно нужен, если у тебя кооперативная многозадачность на yield/resume то там просто нужно реализовать переключение контекста и стека, если многозадачность вытесняющая, то там уже шедулер нужен, это тоже без рантайма можно сделать.
>>3750584 > если многозадачность вытесняющая, то там уже шедулер нужен, это тоже без рантайма можно сделать Каким образом? Типо какой то супер тупой шедулер сделать который просто по таймеру не думая будет на следующую корутину переключать?
>>3750514 >Никто не мешает и стек и стеклесс корутины сделать вместе и чтобы они существовали одновременно в языке Из каробки же этого нет, ты предлагаешь делать, как раньше мы фибры васянили? >>3750532 Пидораст умеет конпелировать тебе фсм во фьючу, упомянутые подключаемы рантаймы - это лишь шедулеры/драйверы. >Про гошный рантайм который горутинами управляет слышал? Ты зря сюда го приплетаешь, ещё раз, малой, в го вообще точки прерывания задаются компилятором, там вообще всё очень на другом уровне.
>>3750698 > это лишь шедулеры/драйверы. > в го вообще точки прерывания задаются компилятором Ты это к чему вобще? Они от этого рантаймом быть перестали?
Для реализации плюсового рантайма тебе что то кардинально другое нужно будет реализовывать?
>>3750698 > Из каробки же этого нет Ну чисто теоретически это можно сделать
>>3750555 >Раст, плюсы, си это статические компилируемые языки, шизойд, у них нет рантаймов. Да, все вокруг шизоиды, один ты в белом пальто стоишь красивый.
>>3750490 Почему не использовать корутины обмазавшись хотя бы standalone asio? Для чего нужна асинхронность? В общем-то, для чтения/записи на диск и работа с сетью. Также, может быть, какие-то вычисления, ну это всё равно будет в треде, а не каком-нибудь iocp/epoll. С asio вполне норм код выглядит
>>3750804 Я другой анон и вашем споре не участвовал. Понять смысл твоих постов реально сложно. Ну и ты не понимаешь смысла рантайма. Вот как и этот >>3750766 Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах, или всякие ртосы, силами компилятора, без либ, без нихера. А во всяких питонх и причих джавх вот для них рантайм необходим. Ничего и билзко потобного в си/плюсах не было и нет, чтоб тамб там мелки не высирали про свое поделие.
>>3751006 >Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах Не работают. Си это мультиплатформенный язык, а значит для каждой платформы необходим соответствующий рантайм, ведь платформы разные, а сишный код-то одинаковый. Без дополнительного рантайма одинаковый код будет одинаковым и не будет работать ни на одной платформе, ведь они все разные.
Ну и как наконец начать писать на C++ после C? Изучил синтаксис. Уже вначале изучения охуел, например от std::cout << "hello" Это получается они блядь перегрузили операцию битового сдвига... дав ей функционал записи в поток... просто потому что она внешне походит на ">>" из шела?! Вы наркоманы ебаные, ухожу обратно на С.
Вот примерно такая реакция каждый раз когда пытаюсь писать на C++. Это же ЕБАНИЗМ какой-то а не язык. Просто читаешь синтаксис в сравнении с С, и такое чувство что Страуструпа была одна идея: "лишь бы чего добавить, не важно что, главное чтобы было". По ощущениям, на нём будто бы писать без дыр невозможно.
>>3751006 >Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах В плюсах в этом случае у тебя отваливаются эксепшены и RTTI, потому что они без рантайма работать не будут, стандартная либа если и будет, то очень усеченная. >А во всяких питонх и причих джавх вот для них рантайм необходим. Есть micropython и j2me, которые могут работать на микроконтроллерах.
>>3751132 >С++ для ООП, на Си ты такое не сделаешь Сделаю. На C99 можно сделать "типо" полу-ООП с классами, инкапсуляцией и наследованием и даже полиморфизмом но только у аргументов функций. Сами функции перегрузить на чистом С99 вот никак не получится. Но на GCC+С11 с раширениями _Generic вполне можно реализовать ООП. Вот только зачем? Мне похуй ООП это или ЖООПЭ.
>>3751133 Хуйню пишешь. Если хочешь написать что-то конструктивное - пиши сразу пасту. Лень писать? чатгпт в помощь. Сообщения по типу "пук" это скучно. "Малой, синтаксис это самая малая беда в яп" - чиво блядь каво блядь.. дэ нахх блээд ёпта. Можно попроще быть? Вас всё равно всех уже ИИ заменили, кодить имеет смысл только как хобби, так что свой снобизм этот можно и оффнуть какбы.
>>3750804 >Почему не использовать корутины Вот кстати ещё с хуйни охуел. "Корутина" новое слово узнал. Что это ёб твою мать за хуйня. Посмотрел как это работает - это антикод какой-то. Хуже goto даже!
>>3751113 Вмазатся лекциями Владимирова, охуеть и погнать.
> Это получается они блядь перегрузили операцию битового сдвига Это не военное преступление если тебе было весело. Задача сделать чтение и запись выразительными. Выбранный вариант всё же лучше принта, с перечислением переменных и указанием аргументов, где ты можешь ошибится и всё по пизде полетит.
> По ощущениям, на нём будто бы писать без дыр невозможно. Только на мёртвом языке ни кто не допускает ошибок.
>>3751145 > снобизм Даун малолетний, это факт Если ты блять от синтаксиса ебло корчишь, и отказываешься от яп только из за него, то ничего больше калькулятора или других велосипедов на си не напишешь Хотя если у тебя это хобби, то хоть на бейсике пиши
>>3751143 > линукс запускают На хуй там это говно? Там своя няшная FreeRTOS >Сделаю. На C99 можно сделать "типо" полу-ООП с классами, инкапсуляцией и наследованием и даже полиморфизмом но только у аргументов функций. Да, да, что то типа GLib* получится
>>3751006 >Я другой анон и вашем споре не участвовал. Понять смысл твоих постов реально сложно. Ну и ты не понимаешь смысла рантайма Я ваще ни с кем не спорю. Мой первый пост в этйо ветке был про asio. При чём тут рантайм твой?
>>3751113 >Вы наркоманы ебаные Ахахах! Ты, чел, даже не представляешь насколько C++ мощный язык. Там фичи добавлены не просто так, а с умом. Как результат многолетнего опыта очень многих программистов. С помощью C++ можно буквально горы свернуть.
>>3752809 Ну раз реальный разраб то вот тебе классические вопросы: Как вы тяните зависимости в проект, как вы отслеживаете версионирование, и сколько чистый билд занимает времени
>>3752905 Да я знаю, вся индустрия так и сидит, очевидные минусы:
- версионирование (по хорошему нужно свой гит разворачивать и туда все внешние зависимости переносить переодично их обновляя) - собираешься все зависимости из исходников, большое время билдов, раздувание билдов, все потенциальные проблемы связанные со сборкой - привязка к cmake, как у тебя, так и у вендоров твоих зависимостей
>>3752913 >Да я знаю, вся индустрия так и сидит Сыросли? Про минусы, которые ты указал, как бы систему контроля версий ты и так используешь, поэтому пiхуй, а для сотен scratch-проектов - я таким, к примеру, не занимаюсь. Проекты из исходников так и эдак надо собирать, наверное можно ослабить уровень и брать либы с твоего дистра. Так привязка не к cmake, а к гиту.
>>3752921 > Сыросли? Конечно, условному конану всего пару лет отроду (на питоне написан), а реальные разрабы как выше его в свой проект завезут дай бог еще через пару лет (если вобще будут)
> систему контроля версий ты и так используешь Гит то понятно используешь, а гитлаб давно у себя разворачивал?
> Проекты из исходников так и эдак надо собирать На линуксе скачивая пакеты ты их из исходников собираешь? Понятное дело что их кто то когда то собрал, но это не значит что ты на это время тратить должен
> Так привязка не к cmake, а к гиту Собирать твой проект гит будет? Не cmake проект к своему проекту через гит подключать будешь?
>>3752940 >а гитлаб давно у себя разворачивал? Ну для дома хватает и гит-демона, в офисе можно и гитею поднять. Хотя я вообще не понял к чему ты про с гит-сервак, когда он в любом случае нужен для работы в ко-команде, не через дискеты же дифы носить. >На линуксе скачивая пакеты ты их из исходников собираешь? Нет, но я не про всё а про конкретные проекты и важные вещи. К прмеру, есть один редактор, полностью написаны все скрипты чтобы собирать сам редактор из исходников и все модули к нему и так далее. >Понятное дело что их кто то когда то собрал, но это не значит что ты на это время тратить должен Ну выше уже высказал, что можно понизить градус до нахождения либархивов в системе. >Собирать твой проект гит будет? Если через гит модули манаджить зависимости, то cmake тут не при делах по сути.
>>3752940 > Собирать твой проект гит будет? > Не cmake проект к своему проекту через гит подключать будешь? Вообще то в симейк для таких случаев есть функция, которая собирает внешний проект
>>3752974 Читай на что я отвечал: > Так привязка не к cmake, а к гиту
>>3752962 > Ну для дома хватает и гит-демона Ну так очевидно не про дом говорим
> гитею Ху
> Хотя я вообще не понял к чему ты про с гит-сервак Потому что этот гит сервак становится местом откуда ты зависимости забираешь Если ты будешь в реальном проде забирать исходники просто с гитхаба\гитлаба, то любой анон может взять и насрать в ветку\тэга\коммит откуда ты выкачиваешь что то
> можно понизить градус до нахождения либархивов в системе И кто тебе эти либ архивы будет ставить в систему и откуда?
> Если через гит модули манаджить зависимости, то cmake тут не при делах по сути. Еще раз спрошу, зависимости тебе кто будет собирать из исходников? Гит? То что ты add_subdirectory это не значит что у тебя не симейк занимается сборкой
Какая шиза в треде омг. Ну вот зависит твое нечто от условного фритайпа, собрал один раз положил где надо, оно есть и работает. Так же с остальными кусками экстерн кода.ну и репу свою сохранить рабочие версии не помешает. А со свои кодом уже работаешь и на рабочей репе держишь. За каким хером здесь пакт менеджеры?
> время сборки проекта 3 часа > эээ бля хуле фритайп не собирается, сычеееев сборка опять сломалась! > эээ бля а хуле сборка под 100 гигов занимает > эээ бля, а где дебаг символы для либы, бляяя у меня релизная собрана, пойду пересобирать > эээ бля, а хуле не линкуется ничего? а ой поменялся компилятор\линкер\стд либа\что угодно, придется всё пересобирать(
> собрал один раз положил где надо Как минимум два раза собрал, релизную и дебаг с символами
>>3753049 Для прикладного/системного программирования нужны системные пакетники так и так. Это то на чем вспоткнулись растаманы, у него нет abi он им и нахуй не нужон в итоге раст может создать библиотеку для программ на других языках, но не может создать shared либу для программ на расте потому что у тебя есть cargo с исходниками. Но нахуй они так сделали - есть не только прикладное/системное программирование, но и закрытое корпоративное или просто обособленное как кернел-дев, фирмварь-дев там нет и не может быть привычных тебе библиотек прикладного уровня, но там (как мне поясняли) все равно есть свои библиотеки для того же сетевого стека или io например, это не такие библиотеки которые можно/стоит выделить в отдельный git-проект, вот для таких и нужен пакетник с репозиториями.
>>3753097 Ты когда говоришь про пакеты сразу чётко говори, что имеешь в виду репозиторий с артефактами, а то та же упомянутуя карга, который пакетный менеджер, но ничем концептуально не отличается от симейка с гитом. Алсо, в говне вроде такая же история, только ещё есть кэш по середине.
>>3753099 Так я и уточнил что есть разные пакетники для разных задачь, и вообще не я про них начал.
Что касается карги то я миллиард раз уже писал что весь раст и всю его инфраструктуру сделали фреймворк-макаки с npm. Как пишутся приложения на говноде с npm - создается декларативный package.json в котором пишутся название программы, зависимости поверсионно параметры запуска и тд итп И дальше только делаешь npm install npm update npm run
Найди три отличия. А если взять еще всякие корпоративные js фреймворки которые берут на себя обеспечение кросс-браузерности и заставляет макак писать строго по правилам фреймворка и лишь в некоторых местах позволяя вставлять непроверяемый js-код, то это настолько блять очевидно что кроме как врете тут и кукарекнуть больше нечего.
>>3751149 >сё же лучше принта, с перечислением переменных и указанием аргументов, где ты можешь ошибится и всё по пизде полетит. по этому обратно вернули std::format?
>>3753138 >А когда выпилили std::format, чтобы его было можно вернуть? std::format немножко похож на printf, правда, только с шаблонами и километрами template-магии? А как известно с++ выпилиывает вещи не технически, а каргокультически: ты используешь printf вместо нашей ёба функция template? <. .. std::forward <>.... <?*#$&Cm> ? Ну ты не тру с++ програмист, не возьмём тебя на проект
А когда понимают, что обосрались - воротят в зад printf. Так же произошло std::move. Вы что, пишите в си-стайл? Передаёете указатели на объекты? Ну вы не тру программист. Мы просто не паримся и не платим за то, что не используем. Смело передавай по занчению или по ссылке. Ой, пук... Срочно вводим std::move, std::forward, xvalue, rlvaue xujvalue
>>3753361 >думает что карга не нуждается в чем то типа симейк Проблема твоей логики в том что симейк или мезон это не сборочные системы, это конфигураторы проекта. Зачем проекты преконфигурят: 1) Что бы выставить флаги сборки, подключаемых модулей/библиотек (это вроде как в карге есть, но с вопросами) 2) Что бы внезапно создать какие нибудь текстовые включения из темплейтов, внезапно программа то не только из бинарников состоит, но и из языковых файлов, на линуксе их надо gettext -ом через обертку компилить, в шаблонах .desktop замены сделать, а есть еще XML файлы всякие policykit metadata и какой там еще хуйни в современном линукс-десктопе нет, все это нужно обрабатывать так же делать языковые вставки, какая то утилита из gettext умеет со всем этим говном работать. 3) проекты не только из одного языка состоят, вон в запрете луа теперь например.
Что предлагает карга? Включить симейк в проект для этих дел? Ну так можно и Cargo.toml тогда генерировать, просто потом вместо make запускаешь cargo build и всё. Хотя все равно придётся еще make install делать чтоб это все отправилось по правильным папкам.
>>3753393 Не в Старом Запрете, а в Новом Запрете. Я немного не въехал о чём спор, но карга запускает билд скрипт на расте (привет мезон и смейк), через который ты уже запускаешь cmake, который тебе сгенерит make файлы, и потом уже запустишь сборочку. Воот такой нескучный атракцион.
>>3753393 >Проблема твоей логики Ты уверен что проблема в моей логике, а не в > симейк или мезон это не сборочные системы, это конфигураторы проекта
Просто все системы сборки и так умееют в: > выставить флаги сборки, подключаемых модулей/библиотек > создать какие нибудь текстовые включения из темплейтов > имееть проекты из нескольких языков
>>3753398 Спор о том что товарищь думает что симейк создан что бы собирать, а это как раз ошибка мешающая многим освоить симейк. Он не собирает библиотеки и бинарники он создает сценарии сборки таргетов. В карге совершенно противоположный подход, там строго декларировано что в какой папке должно лежать и как что куда надо прописывать, там целый талмуд уже насрали всяких опций. Плюсы такого подхода - не нужна подсистема как у симейк. Минусы: шаг влево, шаг в право - пук/среньк.
>>3753406 >На сколько знаю стд мув возвращает правую ссылку на объект. Эта штука раскрывает себя в шаблончиках. Кто спорит то? Да, он просто кастует. Только в задроченном с++ фишками коде становится трудно писать и менять код. Нужно проверить: что это за сущность, тяжёлая? Как поведёт себя хуйня в в векторе, оптимально? Будет moved или copied? КОнструкторы перемещения определны? Ну самое хуёвое то, что на пару месяцев уходя, например, в какой-нить питон или си, я например, забываю всякие мелкие задроченные с++ хуйнюшки. В других языках на которых я пишу забывать нечего
>>3753450 В других языках тоже так заморачиваться можно, вызовов поменьше поменьше, лишних объектов не создаем, все в переменные суем, в итоге хуже от такого подхода не было никогда, просто код медленней пишется, а что касается мува, то как раз его частое использование это признак плохого кода и непонимания мува как такового. Надо перемещать не сами объекты а указатель на данные внутри объекта:
auto kukarek(std::vector<char> keyword);
std::vector<char> kw; kw.reserve(512) // выделено полкило памяти
kw = {'V','R','O','T','E'};
kukarek(std::move(kw)) //отдали указатель на выделенную память объекту в процедуре.
>>3753454 >Как вы ВЫЖИВАЕТЕ без пакет менеджеров в 2026? 1. Проект с гуем: в Qt есть все нужное. 2. Проект без гуя: обычно какой-то хардкор, где все самописное.
>>3753490 Что ты за хуйню чешишь про мув объектов или указателей? Мувает как бы сам объект, а чо там внутри его мувающего конструтктор делается - это уже от сущности зависит
>>3753516 Ёбаная сишарп-макака, ты всё ещё не освоил плюсы и все продолжаешь тут серить. Если у тебя гуманитарный склад ума не позволяющий на практике понять что к чему, то возьми книгу из шапки и читай до просветления.
>>3753690 Откуда я могу знать что у тебя в голове, я программист, а не психиатр. На спор меня разводить бесполезно, я знаю что ты следом понесешь хуету из чатжпт которую сам не понимаешь
Почему у классов обычно поля объявляют вконце, хотя синтаксис явно предполагает, что они будут объявляться вначале, потому что по-умолчанию внутри класса все приватное. Т.е.
class A { int m_vasya; public: ...
Зачем Бьярне вводил ключевое слово class, если struct явно лучше подходит - по-умолчанию все публичное и наследование публичное?
> auto kukarek(std::vector<char> keyword); > kukarek(std::move(kw))
А нахуя перекидывать rvalue ссылку-то? kw имеет адресс в памяти, и жить должен долго и счастливо. Там можно обычную ссылку юзать. Тем более что в кукареку передаётся вектор по значению (что вообщем-то не правильно, ибо при расширении исходный вектор не получит новые адреса)
>>3753862 > Почему у классов обычно поля объявляют вконце, хотя синтаксис явно предполагает, что они будут объявляться вначале, потому что по-умолчанию внутри класса все приватное. Т.е. > по-умолчанию все публичное и наследование публичное?
Как я понимаю мысля следущая - если сделать по умолчанию всё публичным, то программист тупо может забыть указать модификатор private а потом через несколько лет его коллега будет бегать с горящей жопой ищя не правильный вызов джуна. В случаи если всё по умолчанию приватное - компилятор тебя сразу тыкнет в ошибку.
>>3753960 Ну смысл в том что бы перекинуть ссылку на данные в корутину, в тред другой и пусть там память освобождается когда программа доработает. А если ты передашь ссылку то получится что указатель пошел гулять по процедурам как шлюха и где именно компилятору вызвать очистку в случае если это тред/корутина уже хуй знает.
Но так то вообще аргумент функции все равно наверное надо с && писать.
>>3753961 Класс и структура разные вещи. В структуре можно публичные поля иметь, в классе - нельзя.
>>3753961 >если сделать по умолчанию всё публичным, то программист тупо может забыть указать модификатор private Наследование-то зачем приватным делать? Сейчас это очень редко используется. В 80-х какой-то другой подход к ООП предполагался?
>>3753970 > В структуре можно публичные поля иметь, в классе - нельзя. А как же мьютекс для защиты данных класса? Ему не надо быть приватным, так как его изменение не нарушает согласованность данных внутри класса.
> Ну смысл в том что бы перекинуть ссылку на данные в корутину, в тред другой и пусть там память освобождается когда программа доработает. Имхо тогда лучше обернуть чем нибудь типо unique_ptr, ибо заебёшься следить где у тебя правая ссылка передаётся а где левая.
> Но так то вообще аргумент функции все равно наверное надо с && писать. Агась.
>>3753979 Что бы пользователь класса не мог добраться до кишочков предка.
>>3754040 >Что бы пользователь класса не мог добраться до кишочков предка. Никогда не понимал, почему приватность такая великая скрепа в С++. Только в 26 стандарте дали возможность прайваты трогать через рефлексию, хотя private_cast с самого начала напрашивался, если уж const_cast есть.
>>3754053 Потому что приватность позволяет поддерживать согласованность данных. По идее это скрепа всех языков в которых используется ООП. А ООП это уже часть плюсов.
>>3754076 Какая согласованность, если это системный язык, и ты по указателю можешь любую дичь творить? К тому же, как бы ты правильно не проектировал систему, явно будут ситуации, когда вроде нельзя, но очень надо. Скажем хочешь, чтобы сериализатор умел приватные значения у класса трогать без модификации класса.
>>3754080 > Какая согласованность, если это системный язык, и ты по указателю можешь любую дичь творить? По этому модификаторы типа const или private существуют только для программиста. Ты можешь их обойти, но должен понимать для чего ты это делаешь и что получшь.
>>3754040 >>3754053 >>3754085 #define private public #include <супер приватный класс> #undef private Видел эту хуйню в продакшн коде много лет назад. Это было последним гвоздём в гроб ООП в моём понимании.
Где приватность реально нужна, так это в модулях для сокрытия реализации. Таким образом, можно не только очистить скоп от мусора, но и ускорить компиляцию, а у нас до сих пор портянки уровня ________bla_bla_impl(int ____________foo, float _____________bar)
>>3754085 >Ты можешь их обойти Как раз прайват реально сложно обойти без трюков вроде этого >>3754304 Можно через template friend, но нужна реализация темплейтного класса где-то в коде, а это не всегда возможно.
> providing the a pointer makes the shared_ptr not empty, even if the pointer is null > shared_ptr owns the nullptr. Thus the deleter will be called when the shared_ptr is destroyed
>>3754561 >Почему std::shared_ptr принимает кастомный делетер в конструкторе, а std::unique_ptr в типе? Потому что тогда два шареда с одинаковыми типами пойнтера но разными делитерами будут иметь разный тип. Их ни сравнить, ни в функцию не передать без лишних телодвижений. Для юника это несущественно, потому что его снаружи не видно обычно, и два юника между собой редко контактируют.
>>3675801 (OP) Нахуя вы вообще на своем красноглазном говне пишите? Как раз сегодня вышла самая лучшая нейронка в мире GPT 6, эксперты и лучшие ученые мира назвали её по своей сути AGI, которая с сегодняшнего дня заменила всеx программистов, даже самых самых красноглазых.
Лучше бы на джаве писали, там хотя бы не так красноглазо все. Но в любом случае лучше в сварщики и плиточники идите, от вас станет в сто раз больше пользы, чем от бесполезных кодомакак, чья профессия устарела как устарели конюхи и крестьяне в свое время.
Все равно язык по факту слишком сложный для человеческого понимания, и нормальный человек это говно учить не будет. А нейронка в сто раз код лучше напишет и в тысячу раз быстреe.
>>3709850 И нахуй ты 4 месяца своей жизни потратил на эту дрисню? Лучше бы 4 месяца сварку учил, больше пользы было бы. Учить программирование, особенно на таком сложном для адекватного челоевка языке, как в 2026 году учить рисование акварелью - бесмысленно и на работу тебя не возьмут, ибо нахуй ты там нужен, если современная нейронка может в сто раз лучше и быстрее тебя написать кодик?
Иди лучше в сварщики или плиточники, мой тебе хороший совет. Бесплатно раздаю
>>3709850 Язык кажется хорошим на учебных проектах. На больших полная дрисня, потому что компилятор делает многие вещи неявно. Сейчас все новые языки пытаются всё назад откатить и сделать С только чуть лучше зиг джай один с3 заяц. Ты конечно можешь думать, что такие люди как Джонатон Блоу, Ескил Стинберг, Шон Баррет и др. это просто неосиляторы, а ты гений и не такой, дело твоё.
>>3754857 Я имел ввиду что многие вещи вызываются автоматически. Все виды конструкторов, декструкторы. Перегрузка операторов, шаблоны, специализация шаблонов, сам кастит типы на-похуях, писать explicit тебя рано или поздно заебет. Приведение типов, RAII кстати одна из причин почему я в списке в пред. сообщении не упомянул раст, исключения... я заебусь перечислять далее. Вдобавок он компилируется вечность. Предлагаю тебе сделать, например, арену на С и С++до 17 стандарта, разница на яйцо. Если тебе нужно ООП, дата-хайдинг и пр. гораздо проще изучить как это реализовать на С, вся винда, например, на непрозрачных указателях работает, и сравни это с их же COM-моделью, которая дико переусложненна.
>>3754856 >что такие люди как Джонатон Блоу, Ескил Стинберг, Шон Баррет и др. это просто неосиляторы Блоу вроде только одну игру сам писал, и то инди платформер. На остальных у него команда писала. Но у него охуенно ценное мнение, конечно. Прямо столп индустрии. Особенно смешно, что ты про геймдев говоришь, где плюсы безальтернативны везде повыше инди и мобилок. Вообще, судя по теме игрушек, ты школьник или студент какой-то, перечитавший высеров от растошизов и прочих переписывателей вселенной на самом лучшем языке. В "больших проектах" ты вряд ли участвовал, но пришел тут нас всех поучать.
>>3754860 >На остальных у него команда писала. Да, у него есть команда. Но это никак не забирает у него работу. Он уже лет как 10 стримит, то процесс создания игры, то создание языка, где сам своими руками в прямом эфире долбит по клавиатуре. Команда у него вдобавок небольшая, можешь credits у the witness посмотреть. Там программистов, кроме него, три человека. >Прямо столп индустрии. А кто столп? Мнение кого ты бы послушал? Стинберга я выше упомянул, приглашали консультировать в крупные компании, от blizzard до sidefx. >где плюсы безальтернативны везде повыше инди и мобилок. Здесь было много причин, почему это произошло. Одну из них я, например, выше упомянул. Без плюсовых классов взаимодействовать с COM-объектами невероятная пытка, и как следствие взаимодействие с directX, что стандарт индустрии. Вдобавок никто не использует многие фичи, а так же часто имеют свою реализацию контейнеров и алгоритмов. >Вообще, судя по теме игрушек, ты школьник или студент какой-то, перечитавший высеров от растошизов и прочих Раст я не люблю. >В "больших проектах" ты вряд ли участвовал, но пришел тут нас всех поучать. Да, в больших нет, самый большой был SnowRunner.
>>3754801 >Потому что тогда два шареда с одинаковыми типами пойнтера но разными делитерами будут иметь разный тип. Ну так и логично, точно такая же логика как и с unique_ptr Два разных типа так как они принципиально разное делают
сейчас пришлось простыни кода и закупорок писать чтобы пользователь не мог создать шаред птр от типа из сишной либы без моих прокладок, так еще и на все функции из либы для очистки ресурсов пришлось добавлять проверки на нуллптр так как неожиданно это валидное состояние шареда
>>3754928 да самая обычная сишная либа которая использовалась в проекте десятилетиями struct Resource {....} Resource (звездочка) new_resource(...); void free_resource(Resource (звездочка));
начинаю немного рефакторить это чудо, чтобы люди хотя бы перестали фри руками писать и создавать тысячи алиасов для смарт поинтеров паралельно чищу старый код, начал с добавления using ResourceUPtr = std::unique_ptr<Resource, decltype(free_resource)> и подобного, но понадобился шаред птр
Оставлять подобное опасно using ResourceSPtr = std::shared_ptr<Resource>, любой дурень придет и просто создаст ResourceSPtr ptr( new_resource(...)); Или вобще что то вроде ResourceSPtr ptr(nullptr, &free_resource);, в free_resource явный ассерт стоит, но на проде естественно он выключен,
забил в итоге хуй на смарт поинтеры, в некоторых местах оказывается все ломается, просто написал обертку raii Handle<T, ...> для автоматического создания класса
>>3754929 >>3754995 То что ты делашь или делал бесполезная дрочь. Не трогай то что работает. Это раз. Малоки/фри - ответсвенность пользователя, в твоем случае вашей же команды. Это два. Ну и три, лучшее решение переопредедение всех методов взаимодействия с памятью на кастомный аллокатор глобально. Обычно делают именно так.
>>3755066 Не бесполезная, я свою либу рефакторил и оказалось что: то, что в сях выглядело как read_from_file/read_from_data в плюсах стало просто read а из структуры исчезли все калбэк поинтеры.
Вы так-то правы тоже, но только с точки зрения качества кода и его, хуй знает, робастности/устойчивости, что ли?
Нихуя из этого кабану не нужно. В МЯСКОТЕ, особенно яшке, специально делают ревью, где твоя оценка - как ты бизнесу помог. Фичалидить заставляют всех, чтобы ты "отвественность нёс".
Не "как хорошо ты писал код", на это им поебать, а как ты помог бизнесу. Как будто тебя нанимали не программистом, а ко-фаундером.
Не спрашивайте меня почему так. Я сам не ебу. Но этот рефакторинг - это бесполезный дрочь.
>>3753862 >Зачем Бьярне вводил ключевое слово class пока он делал "c with classes" это были абстрактные типы данных, потом это стало пользовательскими типами, и в принципе он мог задать ключевое слово type, но решил не изобретать новую терминологию и оставил так как было в симуле - class
>>3755571 >Не "как хорошо ты писал код", на это им поебать, а как ты помог бизнесу. Как будто тебя нанимали не программистом, а ко-фаундером. > >Не спрашивайте меня почему так. Я сам не ебу. Но этот рефакторинг - это бесполезный дрочь. Ну да. Корректный, производительный код никак бизнесу не помогает, рефакторинг нахуй не нужен. То ли дело лэйаут каждый месяц новый и ребрендинг каждый год, ну и куда же без фентифлюшек всяких.
>Не спрашивайте меня почему так. Потому что ВИЗИБИЛИТИ. Чтобы оценить эффект сложного кода на бизнес, нужно напрячь моск, а галочки - вот они, красивые. Поэтому и выдумывают ебанутые критерии KPI, не имеющие отношения к реальности, и всякие дармоеды процветают на такой хуйне.
>>3756414 Не знаю, я чаще встречал стиль class A { public: A(){} ~A(){} ... // конструкторная поебень void doSmth() {} ... // остальные функции void operator+=() ... // остальные перегрузки protected: ... // всякие функции private: ... // остальные функции private: int x; int y; float f; ... }; Вообще такая структура ведь логична, тебе от класса нужен только интерфейс, а на детали реализации хуй забить.
>>3756427 Кто как обзывается, тот и сам так называется.
>Зачем Бьярне вводил ключевое слово class, если struct явно лучше подходит Забыл добавить >>3756430, что структуры в С++ существуют только ради совместимости с Си. Вообще интересно было бы посмотреть на реальность, где Бьярне для разгона своего языка не использовал бы совместимость с Си и название другое дал. Быть может его плюсы в том мире сидят где-то рядом с Эйфилем и Симулой.
>>3756435 Да это нейро-шиз со своими семенами срёт.
Но раз все равно нехуй обсуждать, высрусь, а то у меня сильно подгорела жопа от одного старого видео (по-моему с гуглкода) называлось оно "Объектно-ориентированное враньё" естественно про плюсы.
Мечтаю раскатать разные ложные тезисы и заблуждения по поводу ООП в плюсах, в виде шуточной ёнкомы на базе тохо-сеттинга. Суть (вкратце): Четыре подруги C(a)pp -ы сражаются (шуточно) со своими сестрами Си-мавари выясняя кто круче и вообще труъ в мире программирования.
Действующие лица (на стороне Цапп): Командир боевого, суперсовременного корабля с откидным верхом - Лямбда, руководит ходом боевых операций и решает какой контекст брать с собой на корабль. Бортинженер Корутина, медлительный флегматик в очках, очень хорошо знает своё дело, главное не ставить её в жесткие временные рамки. Специалист по оружию и боевым экипировкам - Виктория, благодаря силе шаблонов и своему классовому происхождению может носить оружие любого размера и облачаться в костюм любой функциональности. Четвёртый участник группы меняется от главы к главе дабы познакомить четателя с другими возможностями и недостатками плюсов.
В противоположном лагере (Симавари) четыре безымянные девушки в классическом комуфляже времён въетнамской и мосинками.
Есть идея для трёх небольших глав с милыми девчачьими шутками-прибаутками, но нет сырья и кадров.
>>3756542 >Плюсы это и есть надстройка над си лол, они без си не возможны. Так было в 80-е, когда был cfront вместо нормального компилятора. С 90х это независимый язык. Сделать язык совместимым с С и дать ему похожее название это был маркетинговый ход, чтобы набрать классы. Бьерне мог вполне сделать язык с другим синтаксисом и назвать иначе.
>>3756435 >Вы ещё табы vs пробелы обсудите. На момент 2026 пробелы убедительно победили. Табы последнее время встречаю только в совсем старом >20 лет коде.
>>3756427 Это удобно, если один класс на хидер. Такое далеко не всегда. Да и видишь ты интерфейс все равно большую часть времени через автокомплит, так что верх-низ особой роли не играют.
>>3756437 >посмотреть на реальность, где Бьярне для разгона своего языка не использовал бы совместимость с Си и название другое дал. Скажем, взял бы Паскаль, и назвал язык Дельфи.
>>3756573 Кто что мог значения не имеет. На практике баща плюсов это си где в компилятор встроили то что на си мог сделать пользователь: дефайн инклуд андеф = темплейт, атрибуты конструктор/дкструктор ну еще говнеца накидали.
>>3756551 какие то аналогии не нужны, в крестах выбраны уже существовавшие на тот момент формальные модели и скопированы готовые реализации ооп, а конкретно поддерживаются три вида полиморфизма (динамический, параметрический и adhoc), плюс конкретные механизмы инкапсуляции и наследования достаточно иметь университетскую базу по яп, и просто "узнавать" как было реализован ооп (либо что то другое) в новом для тебя яп
>>3756785 Формальные кукареки про полиморфизм не дают конкретного понимания нахуя почему и зачем, и было ли это хорошей идеей.
ООП в плюсах сугубо специализированное, и просто не такое как в джаве или пхп. Зачем оно такое нужно с практической точки требует пояснительной бригады. Да есть умные книжечки, ну не читают люди книжечки, либо даже если читают то они написаны непонятным для них языком.