⚹ https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/
Ответы на вопросы:
⚹ https://en.cppreference.com/w/
⚹ https://www.cplusplus.com/reference/
Для указателей: ⚹
Прошлый тред: https://2ch.org/pr/arch/2026-03-26/res/3539163.html
Саттер о С++26:
https://herbsutter.com/2026/03/29/c26-is-done-trip-report-march-2026-iso-c-standards-meeting-london-croydon-uk/
язык норм а тред хуйня для нищих чмошников растушков
Учите, ребята, лет через 10 пригодится.
10 лет говнокодил на Qt как GUI, там и сервисы по сбору и перекладыванию данных, по плюсам мануалы читать требовалось примерно никогда. Сокеты, БДшки, контейнеры, умные указатели за всё это время никак не поменялись, как и прочие библиотечные инструменты. Проекты собираются с 17-м стандартом, но это только потому, что мне 1 (одна) хуйня оттуда глянулась, не помню уже какая, и я его включил в опциях сборки. Всё нахуй.
Сейчас хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки (тыров 150 мне хватит, ради того, чтобы в эти ёбаные офисы больше не кататься, даже на такую мелочь согласен). И чё-т не пойму, есть смысл что-либо по плюсам дрочить (а если дрочить, то что?) или хуй забить и тупа откликаться на вакухи с малым опытом.
Из подтверждаемого опыта у меня 5 лет в эмбеддед достаточно лайтовом, в основном юзермодном, и 3 до этого шарпистом на бэкэнде.
150-200к примерно вилка на сеньора, но проектов на рынке особо нет, рабочих мест очень мало.
gcc -v -c -xc++ /dev/null
gcc -v -c -xc /dev/null
clang -v -c -xc++ -stdlib=libc++ /dev/null
clang -v -c -xc++ /dev/null
clang -v -c -xc /dev/null
Как изобразить подобное для msvc?
Полно рабочих мест во всяких НИИ (даже для джунов) . Если забыть о норм зарплате, удалёнке и интересных проектах то устроиться можно.
Это весна.
Я про вакансии с нормальными (300+ хотя бы) зарплатами интересовался
Тебе делать нехуй? Почему вообще среди любителей юниксов так много подобных ебанутых? Виндовс юзер просто берет и пишет код, получает результат, продукт. Эти же начинают какой-то пространной поебенью заниматься.
>хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки
чел, ты где такие вакухи видел вобще?
> нах нужно что то кроме c++17
> 10 лет говнокодил на Qt как GUI
почему я не удивлен
> есть смысл что-либо по плюсам дрочить
я бы удивился если бы у кабана с 10 летним опытом что то про язык спрашивали
лучше легенду продумай чем ты интересным на работе занимался кроме qt формошлепства
Понимаю, что можно и в блокноте, но хотелось бы понять в чём пишут профессионалы.
VS Code сейчас норм для всего. Код писать где угодно можно, смотри, где дебажить удобнее.
Хорошо, из каких книг просить делать выжимки?
>Сейчас хочу перекатиться в какую-нибудь чилловую плюсохуйню на удалёнке за копейки
Давай, другалек. Не забудь уволиться сначало! С твоим опытом ты на изи себе 150к на удаленке сделаешь! Удачи!
Вилок нету. Работаешь по специализации - тебе повезло. Все. Тчк. Зарплата неважна, можешь как дворник получать.
Я в универе на таком писал. Разве профи на таком до сих пор пишут? 20 лет уже прошло.
Интересное интервью. Мотивирует к изучению C++ в 26. Изучить Rust, тоже мотивирует, чисто для понимания его фич.
У ржавого есть положительные стороны, как бы тебя это не пекло.
>Держи друзей близко, а врага еще ближе, чтобы C++ стал курче.
А ты откуда знаешь, сам из них?
нейросектант тише
Скорее всего дефолтные типа Маерса. Он и принцип объяснил. Юзаешь голые поинтеры, не полагаешься на RAII, то ты далбаеб и место тебе у параши, комитить в ядро Линукса.
Надо wcout. Хотя в 11 винде можно UTF-8 включить в консоли.
>новейшая вижла всё ещё не знает про другие языки в мире, кроме английского
Не, это проблема виндовой консоли, гугли как в ней утф8 зделоть.
Не, там уже есть powershell
Этого недостаточно.
1) Кривой компилятор msvc без параметра /utf-8 всё равно будет генерировать кракозябры.
2) При нажатии F5 в кривой вижле каким-то кривым образом передаются параметры дочернему процессу, поэтому нужно прямо в код писать порнографию вида:
SetConsoleCP(65001);
SetConsoleOutputCP(65001);
И только после таких танцев с бубном наконец-то можно выводить русские букавы.
В MinGW64 таких проблем нет, потому что там и компилятор нормальный и консоль своя.
1. Кодировка меняется в реестре глобально, ну и еще тележка хаков есть
2. Можно использовать ВСКоде и не ебать мозг
>компилятор нормальный
У Майков норм конпелятор, всегда последние стандарты держит в отличии от красноглазых
Нет, gcc был переписан специально в 3 версии, чтобы поддерживать все фишки С++ по-честному. А компилятор майков всё ещё использует всякие хаки и эвристики, потому что криворукие индусы не могут нормально переписать его.
Кстати да, посмотрел по 23 стандарту ГЦЦ опрежает Майков, но я помню еще std::print только Майки поддерживали, учту. Хороший повод не запускать тормознутую Студию, а использовать няшный ВСКоде.
с таким тебе в "мы вам перезвоним" тред
Жаль 😥 всё равно спасибо
С чатиком. Сделай себе тестовый проект, где будут статические и динамические либы, несколько директорий с исходниками и разные таргеты сборки и по-тихоньку разбирайся как смак написать для него.
>Как освоить CMake?
Для простых задач спрашивай чат гпт, новые модели сейчас очень хорошо с cmake работают
а если тебе нужно что то сложное кастомных таргетов и количество кода переваливает за несколько сотен строк то тут только пособолезновать можно
>Это как-то тупо, когда проекты могут состоять из тысячи файлов и кучей подпапок. Неужели нельзя все это собирать как-то попроще?
CMake может файлы по маске добавлять из директории. Или ты сам можешь однострочник написать на баше, который список нужных файлов сделает.
>За столько лет ничего более удобного не сделали?
Для простых вещей он и так простой. Для сложных - ни одна билд система простой не будет.
>У Майков норм конпелятор
MSVC сортировку трех интов заинлайнить не может. GCC и Clang такое давно умеют.
>проблема всех плюсовых компиляторов
Сейчас у всех других языков фактически один компилятор - LLVM.
>значение знаешь?
Компилятор транслирует программу из ЯП в машинный код. LLVM именно это и делает. То, что пишут поверх него - это трансляторы из ЯВУ в язык SSA LLVM.
Не трясись, на формальных языках тебе препод расскажет и что такое компиляторы, и что такое LLVM и как не запутаться в столь сложных понятиях
Ну или у нейронки поинтересуйся что слова значат перед тем как постить глупости
Спасибо за информацию, удачной сессии!
Изучи для пыхи ларавель/симфони и какой-нибудь фреймворк для фронта и можно идти работать фуллстеком.
>в каком направлении посоветуете двигаться что бы получить работу
Пройти курсы электромонтера, в некоторых городах есть бесплатные. Либо учиться класть плитку, трубы чинить, унитазы потекшие ремонтировать.
Уходи.
Выбирай что интересно и там развивайся. Не выгореть важнее, чем подстраиваться под рынок.
Собеседование на сеньера?
Уже вкатился?
https://www.youtube.com/watch?v=zdE-Q971L-Q
Думаем, что говно
>А что думаете насчёт Red Panda C++?
Прикольно, пишут, что работает под Win XP. Ну и размер в 10Мб без компилятора - это однозначный плюс.
Жирных тормозных ИДЕ, которым надо от 16 гигов для работы, и так хватает. А вот современного софта, который при этом мало ресурсов потребляет, очень мало.
>Тащем то Виндовз ИксПи полноценная ВижуалСиудио есть
Только кросс-компиляция, и то со старым тулчейном и стандартами. Запустить под хрюшей можно только 2010 вроде.
Установил.
Плюсы: очень приятно выглядит, легкая
Минусы:
-Нужно вручную сохранять хедер, иначе .спп файл не будет видеть объявления функций и сыпать ошибками, что ты петушок ничего не объявил.
-Нельзя, как в студии, кликнуть по объявлению и попросить сделать заголовок определения, всё ручками.
-Ущербный дебаггер. Сделай поинтер на объект, дебаггер покажет лишь сам поинтер. Студия позволяет посмотреть внутренности объекта, на который указывает поинтер.
-Ущербная подсветка листа инициализации. Например у тебя в классе есть переменная int x, в конструкторе есть class(..., int x, ...), если ты напишешь : x(x) он не пометит цветом, где член класса, а где аргумент функции.
-Генерирует доисторические header-guards, вместо pragma once
Впринципе для обучения и мелкопроектов пойдёт. Но что-то крупное я бы даже не пытался делать в этой идеешке.
>А зачем тебе под ИксПи что то запускать?
Из ностальгических соображений. У меня стоит старый комп с фолаутами, героями, дельфи 7 и макромедия флешем. Еще один c первой вуду на Win 98.
>Почему не под Виндов 3.11?
Под третью винду кодить очень муторно - она в ДОС выкидывает при ошибках памяти.
ах, да у него же тег проебан и нумерация
ну это ничего..
не баг, а фича
>Напиши в комитет по стандартизации тредов.
Это прошлый век. Надо написать новый язык, в котором своевременный перекат тредов с правильной шапкой будет заложен на уровне типов.
они реально вьебали сотни правил форматирования, каждый релиз их дерагают меняют, но при этом у правил нет опции ПОХУЙ?
то есть тебе придется указывать все сотни правил для своего код стайла, и каждый релиз с горящей жопой править что там разрабы подправили
так еще в issue https://github.com/llvm/llvm-project/issues/54137:
> НЕ НУЖНО + нашим пользователям это не нужно (на новых нам похуй)
Главный вопрос: какой есть адекватный форматер?
А ещё форматирование меняется от версии к версии и полностью ломается на сложных макросах.
>Главный вопрос: какой есть адекватный форматер?
В том то и проблема, что альтернатив нет.
а тред раста живее всех живых при этом
Ты этой опцией выключаешь весь форматтер, а не какие то правила
Ну вот условно я захочу чтобы форматер мне только растановку { отформатировал, а остальной код не трогал, я указываю одно правило в конфиге, а у меня форматтер начинает применять остальные 999 правил со значениями по умолчанию, и их применение выключить невозможно
Ты ещё clang-tidy не видел.
cmake делает это элементарно, и кастомные таргеты с вводом/вывоводом/сторонними вызовами/генерацие прототипов и тд всевозможные тоже.
Кроме того у него хорошая документация и примеры использования того или другого гуглятся на раз два.
В общем если ты прошел дальше хэлоуворда проблем быть не должно.
Короче поюзал чуть подольше.
>Ущербный дебаггер
Отменяется. То куда указывает поинтер можно смотреть, не справа в Locals, а слева в Watch.
В общем вполне юзабельная идеешка. Минус остается постояно тыкать C+S.
Говно ебаное.
Без генератора проектов от какого-то васяна даже соваться нечего.
Это значит разработчикам пользователи не нужны раз сами не делают чтобы люди пользовались, значит такое говно лепят непонятно зачем, наверное распил или просто шиза от нехуй делать. В любом случае бесполезное говно, как любой пердульный кал.
>wxProjectCreator
>Генератор новых проектов с wxWidgets для DialogBlocks, RedPanda-CPP, Visual Studio 2026, Visual Studio Code
>После генерации получается папка с готовым рабочим шаблонным проектом со всеми нужными настройками
https://www.ardanlabs.com/news/2024/rust-at-google/
>переписывали
Макакин труд. Пусть лучше разработают что-то новое, пидораст вообще не справится.
>Rust
>переписывали
На расте хоть что-то свое сделали значимое? Сплошное переписывание. Все библиотеки - какое-то говно недопиленное.
>Ну так почему бы и не переписать
Больше переписываний богу переписываний:
https://www.linux.org.ru/news/security/18274765
Вот-вот, надо только потерпеть, и докачусь до актуальных стандартов и многопоточки.
Только вот не знаю что с этим всем делать, тк больше получаю удовольствие от процесса изучения.
Что в итоге делать с этими знаниями можно, пилить минималистичные десктоп-аппликухи?
Или опенсурсу какому требуются макаки?
>Думал прямо сложно будет, но оказалось что язык как язык.
Да, я тоже поначалу не вкатывался, потому что наслушался насчет невыносимой сложности языка, а оказалось - ничего суперсложного, если в темплейтные дебри не лезть. Тупые люди, видимо, самые громкие, поэтому их мнение всегда на слуху.
Нисколько. Ещё никогда в истории не случалось такого, чтоб C/C++ называли "безопасными" или "модными".
>не знаю что с этим всем делать
Кликхаус и уткадб написаны на плюсах, можно в них ковыряться. Всё, что с играми связано - движки, логика, патчи для поддержки новых систем, эмуляторы - тоже на плюсах чаще всего.
Изучай стандарт N+1, как закончишь—выкатят N+2🔥 Так всю жизнь кайфовать будешь на пенсии по шизе.
>Ещё никогда в истории не случалось такого
В 90-х именно так и говорили. Безопасная замена сишки да еще с невероятно модным тогда ООП. Си в итоге никуда не делся.
В играх чаще всего С с классами. Только на самом верху, в геймплей коде, будут "современные" плюсы, стандарта так 14. Но все подсистемы С с классами.
Да ебать, вкатывайся в аутстафф. Будешь легаси ковырять. Ну либо пили какую-нибудб монументальную программу, что бы позлить растомакак, ведь новый софт пилится не расте! Какой ужос!
>в геймплей коде
там плюсов не будет
> все подсистемы С с классами.
уже давно больше нет чем да
Писать-то я могу, а вот вливаться во что-то существующее - не пробовал, хотя мб на луа можно. Вникать в чужое это, кажется, совсем отдельным скиллом.
Есть идея переписывать некоторые библиотеки руби с него на плюсы. Как раз с этой экосистемы совершил перекат.
>>709948
Как я спалился с тем, что у меня шиза?
Слушай, а как плюсы учил? До этого рубистом работал или что? Я всё прыгаю со страуструпа на прату, с праты на learncpp и никак определиться не могу.
По Прате, да.
Слог отличный, информативно, самодостаточно. Для базы ничего другого и не нужно, как по мне. Все объясняет доступно с примерами. Если откровенно, то лучше туториала в виде книги я не встречал, так что бери его.
Ну и если что-то не понятно то можно попросить разобрать нейронку на альтернативном примере и покрыть комментариями.
Сейчас буду читать пикрилы, а после проведу переразбор конспектов по алгосам и паттернам со скриптопараши на плюсы.
>До этого рубистом работал или что?
Изучал рельсу под фриланс и саас, но соснул в связи со слишком нездоровой ситуацией в вебе на данный момент, а предпрениматель из меня так себе оказался.
Но руби хорошо меня натаскал и подготовил. Без этого бэкграунда бы было мучительнее.
В частности ООП, DRY, чистоте кода я научился именно на нем.
576x1024, 0:11
Я пытаюсь в прату, но тяжело идёт, тяжелее Бьярне. Видимо придётся его дочитывать, хоть и видел успешные кейсы вката после него. Упры все делал у Праты? Конспектировал чё-нить?
Не читал Бьярне, только видел отзывы, мол, он там часто на отвлеченные темы пишет и про то, какой он охуенный язык сделал. С Пратой же был немного знаком с его книги по Сишке. Не дочитал последнюю, но он охватывал в тч близлижайшие темы к низкоуровневым задачам. Мне, как челу без вышки и базы, такая информация нужна, так что выбрал его чтобы все-в-одном месте.
>Упры все делал у Праты
Избирательно.
Прорабатывал то, что не очевидно и не понимал сразу.
В основном пытался писать свое, используя последний материал по аналогии с практическим заданием.
>Конспектировал чё-нить?
Да, вплоть до каждого новго оператора.
Вообще каждая глава у меня описана в отдельном срр-файле в виде исходника с комментами. Так вроде пишешь и запоминается + подсмотреть оперативно можно.
Это для слабоумных.
Во, наверное буду так же конспектировать, правда я уже на 5 главе.
Ну и придётся потом по прате пройтись, раз там low level даётся.
В продакшн коде ты такого не увидишь никогда. Ну только если какой-то джунец захочет выебнуться. Н за такое руки быстро поотрывают.
Всё, что ты перечислил, не уникально для плюсов.
>тоже строгая типизация
но ведь в сипласплас слабая типизация грузом обратной совместимости от си...
Да, точно. В плюсах слабая типизация, и в петухоне строгая.
Сижу 4 год в embedded, пишу прошивки для соков, подзаебло уже. Было интересно создавать свои костыли драйвера для периферии, c++ API для взаимодействия с FreeRTOS и регистрами со всеми плюшками шаблонов, RAII, полиморфизма, стараться писать код максимально эффективно без динамического выделения памяти, исключений. Но сейчас понял, что перегорел и главное зарплата перестала устраивать. Работаю над проектами я один практически и уже начинает голова раскалываться, что надо и UI и backend везде проектировать и отлаживать одновременно. Последний месяц уже просто хуи пинаю изредка что-то Claude скармливаю. Паралельно ещё трогал кути за всякое через питон, ещё немного на плюсах, но там все +- то же самое писал свои биндинги для shiboken. На работу попал по знакомству случайно, изначально без вообще каких-либо знаний программирования, без трудовой. Есть ли шанс попасть на собеседование с каким-то дядькой бородатым прошаренным из треда отзовись, а не с девочкой из HR, чтоб мы с ним вместе посмеялись с текущего стандарта, UB, попиздели за жизнь и меня взяли на работу. Или мне придется вечно гнить в конторе? И вообще в какие направления стоит целиться? Мне пиздец, как нравится говнокодить API, библиотеки, драйвера. Было бы прикольно перекатиться в написание дров для полноценных ОС по типу Линукса, написание прошивок без фронтенда, роутеры, свитчи какие-нибудь, может быть гей дев, да даже Qt без гуи подойдёт. Короче любой бэк на плюсах
щас найм умер совсем. короче твоя текущая работа последняя в твоей айти карьере. сменить работу уже никогда не сможешь. надо держаться зубами за свое текущее место пока не уволят принудительно.
Т.е. у тебя был лёгкий вкат, работа ненапряжная, есть время на ср, но ты ноешь? Ты заржался, челибончик.
> надо держаться зубами за свое текущее место пока не уволят принудительно
Да я сделал себя практически незаменимым уже. Уволят только если фирма рухнет, я думаю.
>>719653
> Т.е. у тебя был лёгкий вкат, работа ненапряжная,
Изначально было очень тяжело, когда ещё знаний не было, приходилось рвать жопу, после работы ещё учится, смотреть лекции различные по плюсам, шерстить доки. Да и сейчас иногда ухожу поздно, разбитый, если надо какую-то проблему решать срочно.
>есть время на ср, но ты ноешь? Ты заржался, челибончик.
Я же написал, что зарплата перестала устраивать, возможности для роста пока нет в ближайшее время.
С твоим послужным списком будет тяжело куда нибудь перекатиться кроме того же эмбедеда
Сидишь один на проекте, опыта работы с командой нет
> Мне пиздец, как нравится говнокодить API, библиотеки, драйвера
в 99% работа ты этого делать не будешь, API уже есть, библиотеки написаны, только чини и расширяй старый функционал
> Есть ли шанс попасть на собеседование с каким-то дядькой бородатым прошаренным из треда отзовись, а не с девочкой из HR
Нет, и ты заинтересован со встречей конкретно с девочкой из HR которой ты напиздеть сможешь
Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается
Расскажи как работаешь?
Ну например нужно сделать стенд для проверки развала схождения тачки.
Ты вобще все один делаешь? И датчики оцифровываешь и схему разводишь, и на ПК еще ГУЙ отрисовываешь?
-----
P.S Я тоже работаю по сути один, но я работаю с тем что мне приходит, заранее со схемотехником(или хуй знает кем) обговариваем че как должно быть и делаем.
Если железки прогать + гуй для них рисовать никакого времени не хватит, ну если конечно проект это не метиостанция от Алекса Гавера, лол.
метео* конечно же.
>Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается
Они сейчас вроде всех гребут, не разбирая. У них рекрутер тупо смотрит, что у тебя палец есть кнопку нажать, значит дальше идешь, а основной отсев уже на кодинге-алго.
> С твоим послужным списком будет тяжело куда нибудь перекатиться кроме того же эмбедеда
Можешь привести пример достойного списка?
> Сидишь один на проекте, опыта работы с командой нет
Всегда можно научиться
> в 99% работа ты этого делать не будешь, API уже есть, библиотеки написаны, только чини и расширяй старый функционал
Ты какое направление имеешь ввиду?
В embedded огромный зоопарк, если не клепаешь ширпотреб на ардуино. Например драйвера к цифровым датчикам, почти всегда пишешь сам, т.к производитель даёт тебе только спецификации регистров и команд, очень редко есть готовый API. У каждого производителя SOC, как правило свой SDK, со своими особенностями, которые могут быть заточены под разные RTOS или вообще bare metal. Возможно ситуация улучшилась с приходом Zephyr. Из графических библиотек, есть только LVGL, который не на каждый контроллер влезет по ресурсам. Поэтому многие пишут свои с нуля. И да, все это дело написано исключительно на C, а мне, как c++ enjoyerУ хочется все это дело завернуть в классы, как минимум, а как максимум сделать свой Qt со слотами, сигналами и прочем.
> Нет, и ты заинтересован со встречей конкретно с девочкой из HR которой ты напиздеть сможешь
Какую лапшу конкретно надо вешать?
> Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается
Меня работа в Яндекс вообще не интересует, кроме опциональной возможности для релокации
>>719764
> Расскажи как работаешь?
> Ну например нужно сделать стенд для проверки развала схождения тачки.
Тема для меня далёкая, поэтому ничего конкретного сказать не могу. Нужен специалист, который в теории понимает, как это должно быть реализовано, т.е какие датчики используются, куда они должны быть подключены и т.д. Далее уже с инженером обсуждаем схему, что на какие ноги посадить, какая перефирия нужна (I2c, UART, sPI). Далее уже собираем на коленке или заказываем прототип платы, проверяем, что не дымиться при включении и начинаю потихоньку писать для нее прошивку.
> Ты вобще все один делаешь? И датчики оцифровываешь и схему разводишь, и на ПК еще ГУЙ отрисовываешь?
Очевидно схемы я не проектирую. Занимаюсь только написанием ПО. Да, под ПК, тоже приходится делать что-то иногда. При любых подозрениях на аппаратные проблемы иду плакаться главному инженеру
> С твоим послужным списком будет тяжело куда нибудь перекатиться кроме того же эмбедеда
Можешь привести пример достойного списка?
> Сидишь один на проекте, опыта работы с командой нет
Всегда можно научиться
> в 99% работа ты этого делать не будешь, API уже есть, библиотеки написаны, только чини и расширяй старый функционал
Ты какое направление имеешь ввиду?
В embedded огромный зоопарк, если не клепаешь ширпотреб на ардуино. Например драйвера к цифровым датчикам, почти всегда пишешь сам, т.к производитель даёт тебе только спецификации регистров и команд, очень редко есть готовый API. У каждого производителя SOC, как правило свой SDK, со своими особенностями, которые могут быть заточены под разные RTOS или вообще bare metal. Возможно ситуация улучшилась с приходом Zephyr. Из графических библиотек, есть только LVGL, который не на каждый контроллер влезет по ресурсам. Поэтому многие пишут свои с нуля. И да, все это дело написано исключительно на C, а мне, как c++ enjoyerУ хочется все это дело завернуть в классы, как минимум, а как максимум сделать свой Qt со слотами, сигналами и прочем.
> Нет, и ты заинтересован со встречей конкретно с девочкой из HR которой ты напиздеть сможешь
Какую лапшу конкретно надо вешать?
> Жаль картинку проебал где рекрутер из яндекса писала что Qt\эмбедед за релевантный опыт вобще не расматривается
Меня работа в Яндекс вообще не интересует, кроме опциональной возможности для релокации
>>719764
> Расскажи как работаешь?
> Ну например нужно сделать стенд для проверки развала схождения тачки.
Тема для меня далёкая, поэтому ничего конкретного сказать не могу. Нужен специалист, который в теории понимает, как это должно быть реализовано, т.е какие датчики используются, куда они должны быть подключены и т.д. Далее уже с инженером обсуждаем схему, что на какие ноги посадить, какая перефирия нужна (I2c, UART, sPI). Далее уже собираем на коленке или заказываем прототип платы, проверяем, что не дымиться при включении и начинаю потихоньку писать для нее прошивку.
> Ты вобще все один делаешь? И датчики оцифровываешь и схему разводишь, и на ПК еще ГУЙ отрисовываешь?
Очевидно схемы я не проектирую. Занимаюсь только написанием ПО. Да, под ПК, тоже приходится делать что-то иногда. При любых подозрениях на аппаратные проблемы иду плакаться главному инженеру
>Какую лапшу конкретно надо вешать?
Какие ты ахуенные проекты ввёл, какой у тебя огромный опыт работы в команде, как много ты кампании профита принес
> Всегда можно научиться
Учитесь, мы вам перезвоним
> Можешь привести пример достойного списка?
Сам посмотри резюме открытые у топовых спецов, если просто о конторах говорить, то если до сво успел в интел\нвидии поработать то красава
В целом если не рога и копыта уже плюс, яндексы сберы тинькофы ядро и тд
>Меня работа в Яндекс вообще не интересует
Так ты представь если ДАЖЕ в яндексе такие требования, то какие ответы от других кабанов ты получить будешь
>Так ты представь если ДАЖЕ в яндексе такие требования
В Яндексе такие требования, потому что у них на плюсах только бэкенд. Эмбед и Qt им в принципе не нужны, поэтому оно за опыт и не считается. В конторах, где нужны формошлепы, смотрят на Qt/QML. В эмбеде - опыт с STM32 или что там.
> у них на плюсах только бэкенд
Не только, дохуя команд своими приколами занимаются, как собственно в том же сбере
но туда с улицы не берут, это да
У Ядра то кстати не рассматривал вакансии? Там же как раз задвижки для дронов\ТСПУ делают
Notepad++ попробуй под виндой
Да иди ты нахуй со своим яндухом, душные дегенраты, смакующие собственный пердёж.
Еще не проверял эту книгу, но отзывы хорошие.
bool Task::execute() {
this->error = this->callback();
return this->error;
};
>формошлепом qt
Я вакансии с Qt только в магните видел, там для касс самообслуживания его вроде используют.
Благодарствую, братан! От души!
>трудно будет устроиться формошлепом qt?
Он никому нахуй не нужон, если тебе надо формочки клепать, то учи реакт и css
На кассах визуал слишком хороший и с анимациями, на qt заебешься такой делать. Плюс цикл жизни такого приложения короткий. Скорее всего обычный браузер и фронтенд
>Он никому нахуй не нужон
Каждая вторая вакансия на C++ требует Qt, многие прямо говорят, C++/Qt.
>На кассах визуал слишком хороший и с анимациями, на qt заебешься такой делать
Это на QML делается.
>Не знаю зачем ещё тогда Qt там нужен.
Внутренние тулзы, например. Если нужна куча табличек, деревьев, на Qt это удобнее делать, и работает гораздо быстрее HTML, где таблица с 1000 элементов уже браузер на колени ставит.
Может это для тети Гали на кассе
return this->error = this->callback();
только за такой код я бы тебя на ревью выебал, однострочники ебаные понапишите, а потом хуй отдебажишь залупу
Иди нахуй.
это какой-то стендап? смеяться нужно над этим видео или что?))
особенно её расстегнутая джинсовка на кортавом теле старухи
Единственное, что нужно делать с этим видео - это молча репортить.
720x1280, 1:41
Просто в тред скидываю типичного представителя професии, чтобы новенькие сразу понимали как их коллеги будут выглядеть
А также животрипещующая тема почему программистам микроконтроллеров мало платят и работают там какие то додики
полизал бы ей писечку
Вызывает впечатление что она в аутистичном спектре, что-то в ней не так как у всех людей
Дуралеи придумали новый термин- нейроособенный или нейроотличный.
Кто такая? Как потрахать её?
Не заебало с фейком по всему пр бегать?
Да ты хоть 10 книг прочитаешь литкод также решить не сможешь, ты базу и так уже должен знать, вектора списки деревья + сложность алгоритмов
Смотришь на задачу, пытаешься решить ее за n минут, не получается читаешь принцип решения (не тупо копируешь код), поняв идею переписываешь свой код чтобы решить задачу. Если какой то неизвестный алгоритм\паттерн идешь его изучаешь заодно.
Повторяешь цикл каждый день, через несколько десятков задач уже сам начнешь всё понимать
Ну еще полезно почитать какие в stl есть апи для работы с контейнерами, алгоритмами и тд, чтобы не писать как в сишке, а то постоянно смотришь код на литкоде, а его пишут как будто о плюсах знают только существование std::vector
>зашёл на литкод почти ничего решить не могу, лол
На algo.monster, neetcode.io подробный разбор решения для многих задач с литкода написан. Читай, потом пробуй решить аналогичные задачи. Там принципы одинаковые, научишься решать задачи одного типа, будешь все подобные легко щелкать.
>а то постоянно смотришь код на литкоде, а его пишут как будто о плюсах знают только существование std::vector
если будешь stl юзать для решения задачек на литкоде, то не набьешь руку для собеса, по большому счету лучше вообще на си задачи решать, чем на крестах
>плюсах пишу пятый год за деньги
>зашёл на литкод почти ничего решить не могу
гордись собой ибо благодаря таким как ты еще не запилен Скайнет и не настал Судный День
стл контейнеры просто облегчают жизнь и дают возможность не изобретать динамический массив в миллионный раз. Алго программингом лучше всего заниматься на плюсах или питоне - там главное идея, умение видеть паттерны и знание АиСД. Для питона как правило свои тайм-лимиты.
>не набьешь руку для собеса
Как раз таки набьешь, и на собесе будешь лучше выглядеть если будешь использовать итераторы и нормальные алгосы вместое int index
> по большому счету лучше вообще на си задачи решать, чем на крестах
ну если планируешь дальше на си писать то да, а если ты с++ программист то только вредит
>будешь лучше выглядеть если будешь использовать итераторы и нормальные алгосы вместое int index
Большинство задач обычно явно предполагают int index. Обычно ileft, iright. Итераторами обычно сложнее получается и хуже выглядит (кроме например, поиска в строке или хэшмепе, где они неизбежны). Алгоритмы вроде sort, reverse, обычно и так все используют, если это явно не запрещено. Полезно помнить синтаксис у priority_queue, потому что много задачек, где она используется, а в ИРЛ кодинге ее редко кто трогает.
>Большинство задач обычно явно предполагают int index.
Чтобы что?
Для обращения к элементу - итератор
Для нахождения растояния между элементами std::distance
> Обычно ileft, iright
Уж тем более лучше итераторы исползовать, чем такое
В условном проде ты же не городишь ileft, iright, не бегаешь по массиву for (int i = 0; i < n; i +=1) а пишешь нормальный код
>Чтобы что?
Чтобы писать просто i, a не std::distance( v.begin(), it ). Так проще и тебе писать, и интервьюверу твой код читать.
>В условном проде ты же не городишь ileft, iright
В условном проде тебе не надо искать палиндром наибольшей длины в строке.
> Чтобы писать просто i, a не std::distance( v.begin(), it )
Вместо лаконичного понятного действия просто вернуть что то с названием i
> В условном проде тебе не надо искать палиндром наибольшей длины в строке.
Ты векторами, итераторами и алгоритмами только там пользуешься? В обычные рабочие дни чем занимаешься? Окошки на qt рисуешь или байтики по сокетам раскидываешь?
Зачем писать в плюсах как на си?
Чел ты хоть раз алгосекцию сам сдавал? Там всем насрать на итераторы, правда. Самое главное там - найти все свои ошибки без компилятора, методом пристального взгляда. Это бывает сложнее, чем само решение придумать. И тут чем короче и читаемее код, тем проще, поэтому итераторы никто и не использует.
Да, и не вижу какие проблемы могут возникнуть с ними если ты будешь всегда писать нормально
Понятное дело что написав код тяп ляп в литкодах ты привыкаешь аналогично всё писать, и у тебя алгосекция с написанием кода в блокноте вызовет нереальные трудности
Если ты с самого начала приучишь себя писать почеловечески то у тебя не будет никаких проблем в алгосекции
>>728402
>У того же яндекса
Два раза меня эти дибилы звали на собесы, оба раза опаздывали, а приходил чел собесить который плюсы впервые в жизни видит
В итоге решаешь задачку за 10 минут и остальное время обьясняешь почему в стл итераторы не также как в джаве работают и так повторяется 3-4 цикла, по окончанию которых ты уже нашел работу в другом месте
Причем зовут собесить как будто ну совсем додиков, одна тян собесер говорила какой я малаца что знаю reserve у вектора
>Два раза меня эти дибилы звали на собесы, оба раза опаздывали
С Яндексом прикол, что они для собесов используют зум, а свой телемост - только если с зумом проблемы. Что говорит о качестве их продуктов и компании в целом.
>Причем зовут собесить как будто ну совсем додиков
Так и есть. Сеньоры плетут интриги, им не до кода. Мидлы держат прод на плечах, как умеют. В итоге на собесы посылают совсем зеленых, кто не смог проебаться. Дедовщина и потогонка жи есть.
На заводе надоело лазать по ржавым трубам и грязным шкафам с мультиметром.
Начал учить плюса по курсам со степика. Мне нравилось что там есть тренажёр с наборами тестов.
На тот момент ИИ был не так развит, приходилось читал в книгах те места которые мне были не понятны.
На первом собесе меня сильно приземлили, но по плюсам, без алгоритов.
Первый собес я не прошёл, интервьюер был крутой он сказал подготовься и приходить через 3 месяца.
Пока готовился мне предложили сделать одну работа name, которую не смог сделать какой-то опытный Вася.
Собственно за неделю-две я её сделал(лютый был говнокод, но все работало), так и устроился.
Сейчас имею 2 работы.
Еще мне нравится математика. По вечерам я бывает изучаю дифференциальные уравнения и пишу солверы на C++, но можно ли это продать работодателю - непонятно. Меня тошнит от примитивной работы с тупыми задачками. Я походил по разным компаниям, везде одно и то же говно. Еще и конкуренция дикая, даже продать время своей короткой жизни работодателю очень трудно. На моей текущей работе мне сильно задерживают зарплату, поэтому я думаю, куда перекатиться.
Ненавижу эту ебаную Россию, где невозможно просто работать и быть счастливым вместе со своей тянкой. Тут одни проблемы всегда. Хочу жить в Нидерландах, работать на обычной работе и просто жить нормально без ебаных войн и экономических кризисов. В Нидерландах можно работать 4 часа на одной работе, 4 часа на второй и получать достаточно для счастливой жизни.
Так если про зарабатывать деньги то это не к С++, это как раз к Яве.
В играх пиздецкий график за копейки, нах тебе оно надо? Если где деньги и есть в С++ это в легаси.
>Ненавижу эту ебаную Россию
Вот это правилный подход
На плюсах в рф это в основном госка и всякие заводы. Не обязательно военка и дроны, если ты не хочешь быть связан с таким, то варианты есть и их много в дс/дс2. Зарплаты разные от 50к до 300к и выше, у самого чуть более 200к выходит, плюс как ни странно учитывая специфику сферы можно намошнить себе 2 работы и даже больше, я встречал и такое.
Нужно понимать что кроме самого языка там нужно знать всякие кишочки линуксов, протоколы, сеть, где-то обработку сигналов и всякий матан, чистая сишка конечно же тоже.
Вакансии может и висят, но туда либо конкуренция 5 тысяч человек на место, либо это просто фейковая вакуха. Работы очень мало стало. Сам с ноября сижу без работки. На последнем месте ковырял линух, кресты, qt, немного компьютер вижен всякий и opencv и сетевую дрочню. Короче всего понемногу делал. Но работы тупо нет.
При этом не совсем понятно как рынок изменился из-за LLM. Я слышал многие проекты на С/С++ сейчас через ллмки переводят на раст, увольняют 80 процентов штата разрабов и оставшиеся 20 процентов бедолаг выживших сидят через нейронки вайбят на расте.
> Я слышал многие проекты на С/С++ сейчас через ллмки переводят на раст
Весь эмбед и системщина это ТОЛЬКО плюсы и сишка, никакого пидераста там не было, нет и не будет. Это язык без задач. Ты не понимаешь насколько сфера закостенелая и отсталая в плане перехода на какие-то новые технологии.
>Сам с ноября сижу без работки.
> Но работы тупо нет.
Как распознать ботохуету по ключевым фразам
>Я слышал многие проекты на С/С++ сейчас через ллмки переводят на раст
Ты себя трогал, когда это писал?
Читай как теперь процесс разработки в России будет устроен - https://aipdlc.ru/documents/ru/whitepaper_full_ru.pdf
Теперь ты не просто будешь программировать с нейронками - ты вообще больше не будешь никак код трогать. Все через спеки в .md файликах будет делаться.
нихуя себе
Один из немногих плюсов
>Архитектурный принцип: compliance перестаёт быть финальным гейтом — традиционным источником задержек перед выкаткой в продакшн — и становится сквозным свойством ИИ нативной разработки. Каждая агентная задача, затрагивающая данные, автоматически наследует применимые политики из библиотеки через Policy Hook. Инженер не должен помнить о 152-ФЗ — Policy Hook напомнит сам.
Если в метриках присутствует количество строк кода как основной показатель, то рекомендую глянуть на сей проект https://github.com/enterprisequalitycoding/fizzbuzzenterpriseedition
> на плюсах сейчас работы больше чем когда-либо было
> На HH зайди, посчитай вакансии на расте
какая связь?
>какая связь?
Ты тред читаешь? Пруфы работы - количество вакансий. Плюсов там много, раст в следовых количествах.
Подытожим, фраза "на плюсах сейчас работы больше чем когда-либо было" - фактологическая ложь
ситуация не очень отличается от всего остального рынка, будьте готовы возможности искать работу по 6+ месяцев
>фактологическая ложь
Сильно зависит от области. Бэкенд сосет лапу. Но если умеешь скажем OpenCV и компьютерное зрение, SLAM, VIO - работу найдешь сразу. Причем не обязательно ВПК.
>Но если умеешь скажем OpenCV и компьютерное зрение
>>732009
>Сам с ноября сижу без работки. На последнем месте ковырял линух, кресты, qt, немного компьютер вижен всякий и opencv и сетевую дрочню. Короче всего понемногу делал. Но работы тупо нет.
Это ты так подтрунить решил над этим аноном?
А ну и да
работу найдешь сразу != работы больше чем когда-либо было
Ну так у него
>Короче всего понемногу делал.
А не специалист в одной области с опытом. Таким работу искать сложнее.
По запросу компвижн 400 вакансий, ты тупой? Opencv это просто один из инструментов.
Главное не смотреть что в эти 400 вакансий попало, ведь намного надежнее искать вакансии не по инструментарию, а по названию области
обязательного требования не было, но так между делом спрашивали есть ли вышка.
>>732291
>>732303
ХХ.ру мертв впрочем как и рынок российского труда. Ща на кресты точно так же сложно или почти невозможно залезть как и на какой-нибудь питухон. И то на питухоне работки побольше будет потому что питухон это про ИИ агентов которые сейчас на хайпе, а на крестах вон только военка нынче и все. Хорошие С++ конторы свинтили из РФ еще в 2022 году если что. Сейчас с крестами еще можно пробовать тыкаться в яшку, ядро или касперский, но хз насколько вообще касперыч жив и нанимает людей. Кажется что не особо.
Ну и в целом как сказали выше разработка умирает как явление, код отчуждается от людей и отдается нейронкам, а людей на мороз выгоняют. Там вон методичка господина Меньшова из Сбера рассказывает как теперь надо работать (Spec Driven Development).
Кстати интересный факт движок Clickhouse делается полностью ИИ агентами сейчас. Там вообще полностью автономный процесс. Агенты создают тикеты, агенты их делают, тестят, ревьювят. Человек там почти никак не участвует уже. И количество контрибьюшенов выросло в 5-10 раз по сравнению с до-ИИшной эпохой. Минус только в том, что теперь никто не знает что там за код внутри движка кликхауса и как он работает. Код отчужден от человека. Мы теперь больше не инженеры, мы теперь оркестраторы агентов.
>Код отчужден от человека.
Сомневаюсь, что такое прокатит с наукоемким кодом вроде того же компьютерного зрения, обработки геометрии.
Ну вот на кликхаус посмотри. Это вполне себе наукоемкая хуйня, там куча всяких алгоритмов сжатия, алгоритмов поиска, алгоритмов эффективной записи на диски, работы с файловой системой, многопоточкой итд итп. При этом там критически важен перфоманс и сохранность данных.
И это уже ебут нейронки вовсю. Сейчас буквально нет никакой наукоемкой отрасли где нельзя все нейронкам отдать. Надо просто признать что интеллектуальные работы просто уничтожены нейронками и тут с этим ничего уже не поделать.
Ответ гугла.
Сам движок ClickHouse продолжает разрабатываться инженерами-людьми на языке C++. Однако ИИ-агенты сейчас стали важнейшей частью экосистемы ClickHouse — они используются для интеграции базы данных в современные пайплайны и глубокого анализа информации.
>Кликхаус готовые сжатия использует, о чём речь?
Ну тебе их еще надо имплементировать так чтобы оно работало очень быстро, как понос нахуй. Это нетривиальная задача.
Плюс в СУБД очень много других приколов, и это реально наукоемкая отрасль. Просто ее нейронки выебали и высушили прямо как разработку формочек и крудов.
>>732380
Зайди в репозиторий и сам посмотри что там происходит и где там твои люди спойлер - у параши
Не знаю, поживём — увидим.
Много раз пытался скормить какой-нибудь проект — получалось всегда кривое неподдерживаемое говно.
В своих задачах использую для написания каких-то функций, которые знаю, как писать, но просто лень, и проще отрефакторить говнокод нейронки.
skill issue
Задачи, прежде требовавшие 20 человеко-лет, выполняются командой из 4–6 разработчиков
за 3 месяца.
Серьёзно?) Это он посчитал по количеству строк говнокода?))
В ядре линуха ~40кк строчек кода. Что-бы сделать линух нужно всего год времени и команда из 100 операторов ИИ. Работоспобность же отценивается количеством строк, судя по всему если наговнокодить 40кк - автоматически получишь свой линукс.
> Это он посчитал по количеству строк говнокода?))
Думаешь у CIO Сбера нет инфы сколько на проект уходила раньше и сколько сейчас?
>Ну тебе их еще надо имплементировать так чтобы оно работало очень быстро
Кого имплементировать? Там готовые библиотеки сторонние...
Да, он так посчитал. И ты с этим ничего не поделаешь потому что он барин, а ты холоп. Он знает как вести бизнес, а ты нет. Поэтому будешь тихо под шконкой сидеть нейрослоп генерировать. А будешь медленно генерировать - уволят нахуй.
Работников сейчас будут ебать в очко только так. Никакой пощады. Досуха будут ебать.
>Думаешь у CIO Сбера нет инфы сколько на проект уходила раньше и сколько сейчас?
Это говорит только о качестве сберовских кодеров и их проектов. Можно год ебланить с нулевым выхлопом, хоть и будут номинальные 2к строк в недел..
>Надо просто признать что интеллектуальные работы просто уничтожены нейронками
Значит это не особо интеллектуальные работы. Я ими регулярно пользуюсь, и там где надо что-то оригинальное придумать, где аналогов нет в инете, они жестко тупят даже в простейших задачах.
в сбере не 10 разрабов чтобы это влияло, если все кодеры (1000+) ебланят, то это не о кампании, а о всей индустрии говорит
>там где надо что-то оригинальное придумать, где аналогов нет в инете
Можешь примеры привести? Что ты оригинального придумывал в последние полгода?
Мне правда интересно, без какого-либо негатива.
>ни жестко тупят даже в простейших задачах
Сможешь хоть один пример такой задачки привести?
Вы там чтоли промтите: "сделай гта 6 ноль ошибок"?
Во первых нейронки для такого не сделаны, все реальные вычисления нужно реально совершать
Во вторых чатами никто не пользуется при разработке, сейчас всё на агенте, условный агнет смог бы написать простой питон скрипт для вычисления твоей задачи и выдать корректный ответ
а если бы и стал самостоятельно что то вычислять то это твоя задача рассказать ему что такое делать не надо
ну так аноны задали вопрос про придумать новое! а так в запросе сделай мне гта6 хоть и с ошибками в какой-нибудь курсор или другую крутую систему для генерации слопа нейроболван все равно быстро обосрется, пока что вижу что максимум, это шлепать дефолтные формочки в стартапе
придумать новое = поиск и анализ инфы
> сделай мне гта6 хоть и с ошибками в какой-нибудь курсор или другую крутую систему для генерации слопа нейроболван все равно быстро обосрется
всё так, запрос говно, так с нейронками не работают
собственно что и требовалось доказать
ну нет, придумать новое это создать новое, а не найти уже существующую информацию! С существующей инфой нейронки, конечно, справляются, но человечеству и мерзким кабанам нужны новые решения.
>Можешь примеры привести?
Например, как сделать Х в актуальном анриле. Там постоянно что-то меняется, примеры, которые есть на форумах уже протухли, а по коду болван не понимает, как делать. Если примеров нет - вообще затуп и походы кругами вокруг неправильных решений. Приходится самому разбираться. И это не только анрил, так практически с любой большой и слабо документированной кодобазой.
Очень сильно тупит с геометрическими задачками, там, где визуально надо представлять, что и как. С алгеброй часто бывает ошибается прямо как человек - минусы забывает, множители теряет.
> слабо документированной кодобазой
> unreal engine
))
Ты ему хотя бы сказал где доку смотреть в AGENTS.md или просто проект открыл и сказал - "делай гта 6 без ошибок"?
Не говоря уж о том что ты через mcp можешь прямо к редактору его подключить и он самостоятельно сможет всё запустить и протестировать
>>732702
шиза
Он мне миллисекунды в герцы на той неделе перевести не мог. Если в проекте файлов больше чем main.cpp он делает неподдерживаемую сложную говнину, зато строк кода много, как сбер любит, лол.
>Ты ему хотя бы сказал где доку смотреть
А где доку смотреть? На dev.epicgames.com может? Там тупо доксиген и список статей уровня "чтобы сделать куб нажмите кнопку куб, двигайте ползунок, чтобы сравнить сцену с кубом и без куба".
Что тебя так веселит? Смутные школьные воспоминания, что размерности должны совпадать?
И так знал, поэтому когда нейронка выдала мне хрень я ее сразу осадил. А теперь представь чела не владеющего контекстом. Он же все нейрохрючево на верочку примет, а потом будет разгребать эту лавину бреда.
Лол, если у тебя задача с герцами вызвала сложности то тебя точно нейрослоп заменит.
Все что надо знать о тех кто топит за нейронки.
Давай я тебе пример приведу: с какой частотой в МГц, я могу обращаться к устройству со временем доступа 30 нс.
помню ребята из майкрософтресич заебашили сингулярити ос за полтора года, но это были выдающиеся спецы..
Блять, он на каком языке лопочет? Это даже не С++26
>заебашили сингулярити ос за полтора года
В ОС самое объемное - дрова. Само ядро не такое большое, и его вполне можно за год-два небольшой командой сделать.
>а теперь можно написать за месяц
Как в анекдоте "могу печатать вслепую со скоростью 1000 знаков в минуту, только полная херня получается."
Скорее поверю, что нейронка как раз дрова сможет писать по спецификации, чем ядро, где что-то хоть немного нетривиальное будет.
Velocity, месье даун.
> auto main() -> int
Как же это красиво, как это прекрасно, никаких тупых типов слева от функции
Уже зарефакторили свой старый вонючий код на новый современный?
Не пон
> Насколько сложно вкатиться в 30+ лет?
Невероятно сложно
> в чем не прав
В том что актуально всегда и везде
> Стоит вообще морочиться?
Решай сам
Это я должен был сказать!
> auto main() -> int
Двачую. Переписали весь нащ говномонолит с новыми фишечками std::forward &&, auto, for range - код стал работат ьв два раза быстрее. Мне повысыли зэпку
Улыбнуло. Там ты только будешь придумывать, что там написать, архитектуру и устройство - вот этот месяц, не меньше.
Агентов хотя бы используете?
Пишем код руками. Генерируем код через агентов.
Пишу шаблоны руками, по ним код генерит компилятор.
>Вы реально код все еще руками пишете? В мвп треде интересуются
>Агентов хотя бы используете?
Я уже лет 10 с стэковерфлоу копирую.
Чо за агенты?
Я - аскет, копирую
и клал на ваши модные тренды!
Агент - это такой скрипт, который за тебя гуглит и автоматически копирует ответ со стековерфлоу прямо в твой проект, не выходя из окна IDE. Очень удобно. Только теперь все почему-то думают, что автоматизация такого простого действия убьёт программирование.
Ёбушки-воробушки...
А вот если, например, мой проект машинное зрение. Есть управляемая линза для камеры, на которой стоят два моторчика, которые настраивают фокус и закрывают-открывают линзу (iris). На заводе почему-то они все перепутаны:
1) команда, которая открывает линзу - на самом деле закрывает и наоборот
2) иногда на сборке путают проводочки до открытия
Сможет агент этот запрогать алгоритм автоматического определения какой проводочек реально на что подключен - на iris или фокус (в какую сторону крутятятся линзы при посылке команд), найти крайние значения, делать это желательно параллеольно и асинхронно на всех камерах подключенных к комплексу, корнер кейсы как работа в темноте (как в темноте определишь - открыта у тебя линза или закрыта)? Как она это будет программировать: бегать включить-выключить свет в помещениее для тестирования? Или чисто гугл тесты подключит и так норм будет?
> Я уже лет 10 с стэковерфлоу копирую.
> Агент - это такой скрипт, который за тебя гуглит и автоматически копирует ответ со стековерфлоу прямо в твой проект
> все почему-то думают, что автоматизация такого простого действия убьёт программирование
Ну как бы тебе сказать, вот того анона заменит
>>739345
Сможет
>Как она это будет программировать: бегать включить-выключить свет в помещениее для тестирования?
Ты будешь бегать дергать проводочки и включать свет по команде модели.
>Сможет агент этот запрогать
Всё что может сделать человек агент сделает - и то что человек не сможет тоже вероятно сделает. А то что петровичи на распильном заводе что-то перепутали это никого не ебёт, там ноль вэлью изначально.
Окэй. Но нужность и важность этой задачи предвосхитить смогу только я - инжинер-мыслитель-архитектор. Дурачок не сможет. Отточить всякие вот такие противные вещи и довести их до совершества - не каждый человек будет. А иногда именно это определяет и роляет в жизни. Максимальная быстрота, удобство, адаптируемость софта.
Вот ещё даю вам пример: есть некий алгоритм трекинга объектов. Предположим алгоритм стал работать так хорошо, что при определённой и одинаковой ориентации многих камер на полигоне захватывает объект слишком далеко, когда буквально он точка. СТандлартный чел, вместо того, чтобы придумать какие-то параметры для алгоритма или отфильтровывать такие ситуаци ВНЕ алгоритма ЗНАЕТЕ ЧТО ДЕЛАЕТ? заходит внутрь алгоритма в самый гланую луповскую функцию так сказать tracker->process(image) и ТАМ ВНУТРИ ССУКА вставляет if image.y < 500 return discart_object;
привожу аналогию: ЭТО БУКВАЛЬНО как из-за опредлённых временных условий тестирования ОТВЁРТКОЙ НАХУЙ РАСКОВЫРЯТЬ ВИДЕО СЕНСОР КАМЕРЫ ПИКСЕЛИ, НА КОТОРЫЕ ПРОЦИРУЕТСЯ ОБЛАСТЬ, В КОТОРОЙ ОБЪЕКТ ВСЕГДА МАЛЕНЬКИЙ НУ ПОТОМУ ЧТО НЕ НУЖНО
понимаете? И этот человек закончил баумку. Он уважаем коллегами и всё такое
т.е.реальноо архитектруное мышление не свойственно даже мнгим уважаемым авторитетным коллегам. ПОнимаете?
Нейронка как раз понаставит кучу параметров и ненужных абстракций, как в проектах по которым ее тренировали. Хуяк-хуяк это слишком по-человечески.
нет, это С++ антипаттерн
Ну, без чётко сформулированных требований или под руководством человека без чувства прекрасного она вряд ли сможет параметризовать функции с нужной степенью детализации и корректно
Ну а ты что думал, четко формулировать это уже твоя задача, а нейронка уже код слепит
>Нейронка еще и захочет тесты написать
Лол, это ж не круды. Там тесты это оценка успешности детектирования и трекинга объектов, точность обвода объекта + в динамике это смена положения камеры. Там тестирование очень сложно
> оценка успешности детектирования и трекинга объектов, точность обвода объекта + в динамике
И что, вы там дроны свои каждый раз для тестирования вручную запускаете после каждых изменений?
>ВНУТРИ ССУКА
внутри то зачем, уж если и вставлять костыль на проверку дистанции то он же один раз все равно отработает.. значит можно перед главной функцией воткнуть..
>стэковерфлоу копирую
всегда удивляло почему программисты так радостно делятся собственными вымученными знаниями
вот я бы с вами к примеру с радостью пообсуждал метапрограммирование на с++98 ибо это абсолютно бесполезная абстрактная фигня никому никогда не принесшая деняг
но вот зачем те же пхпшники так яростно отвечали на стекоферлоу - это загадка
Ну так я про то и говорю. Ну ладно, если у тебя какие-то условия, можно параметрезировать tracker->set_roi(x,y, width, height). Ну это, блять, пример. И вот таких людей в отрасли лет 15 назад было 90%, а сегодня нахуй 99% уже. Ну такие у меня ощущения
>Сможет агент
пляши от того сможет ли железо камеры (те потянешь ли по финансам за цену изделия) держать обученную модель, если да, то вообще можешь не парится, быстро сделаешь на современных нейронках
>зачем те же пхпшники так яростно отвечали на стекоферлоу - это загадка
Такова была корпоративная культура.
Больше рейтинг на SO — лишняя строчка в резюме. Больше шанс, что возьмут на работу.
Также как и с гитхабом. Сейчас же гитхаб так засран этим дерьмом, что твой проект с гитхаба в резюме тупо проигнорируют.
Удваиваю этого господина.
Нет, блядь, жить бы лучше. Поболело у тебя - сделай так, чтобы больше ни к кого не болело.
Этот хуй поди ещё и соревновательный пиздец, с резюме обвешанным всякими "Я сделол на N% лучше".
И играет в ебаный тарков. С читами.
Никак не могу побороть одну фигню: все работает, но если вынести полл и эвенты либо сабмиты вулкана в отдельный тред то при ресайзе появляется подергивание - это бесит. Ни веейленд ни вулкан ошибок не выдают.
А можно поинтересоваться, ты в гейдэве? Или что пишешь?
Ну тут совсе для нубов.
В общем посидел, поборол. Все стало силкисмуз как и в однопотоке. для иксов просто немыслемо. Использовал промежуточные значение, и признак, и сериал. Признак тригерю топлевелом, по нему в сюрфейс беру промежуточные значения и сериал, взвожу основной признак. По нему в мейн потоке пересоздаю буферы и аск конфигуре с коректным сериалом. Под мутексом делается только заказ дма буфыеров и аск конфигуре.
> Зайди в репозиторий и сам посмотри что там происходит и где там твои люди спойлер - у параши
> просят зайти в репозиторий
> спрашивает в чатике у нейронки
проиграл
ты сам кстати читал что она тебе выдала?
ты правда думаешь что нейронка плохо справляется с рефакторингом?
Я и в репозитории был, маленькие осмысленные коммиты, ИИ-соавторства нигде не увидел
>ты правда думаешь что нейронка плохо справляется с рефакторингом?
Оно в принципе плохо с имеющейся сложной кодобазой работает и годится только для прототипирования новых простых проектов.
С ним, это с пойлом что у меня вышло, лол? Впрочем ругать не хочу, не так уж и плохо получилось. А за совет спасибо, только это и выручит, но хочу чтобы настоялось ещё. Выдержка в холодильнике все-таки многое для вкуса даёт, главное знать когда поставить. Алсо, заказал на озоне половник маленький для снятия пробы прямо с пола с банки, хехехе чтобы банки трёх и пятилитровую каждый раз не поднимать. До этого вообще пальцами лазил прямо в банку как героин в фильмах проверяют.
мяу, плюсы это полный пиздец с неопределенным поведением, перегруженный всякой хуйней, кучей ебанутых бессмысленных правил и мягко говоря не очень информативными сообщениями об ошибках компиляции, а если ошибок на этапе компиляции нет, то надо молиться, что на этапе рантайма никаких ошибок не будет, а если они будут ты узнаешь о них далеко не сразу
Ты просто криворуки, давно реально давно уже работает все и с клангом и с гцц.
дома буду скину смейк свой
Поставил конпелироваться энту библотечку, охуел от скрости конпеляции, сходил за пивком, пришёл и всё собралось. Какой же уёбищный и пидорский язык.
>>748947
cmake_minimum_required(VERSION 4.4)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON CACHE INTERNAL "" FORCE)
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD f35a9ac6-8463-4d38-8eec-5d6008153e7d)
set(CMAKE_CXX_MODULE_STD ON)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)
project(projectname LANGUAGES CXX VERSION 1.0.0)
execute_process(COMMAND /usr/bin/gcc --version WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULTS_VARIABLE GCC_GET_VERSION_RES OUTPUT_VARIABLE GCC_GET_VERSION_VAL)
if(${GCC_GET_VERSION_RES} EQUAL 0 AND GCC_GET_VERSION_VAL)
if(GCC_GET_VERSION_VAL MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
set(GCC_VERSION_MAJOR ${CMAKE_MATCH_1})
set(GCC_VERSION_MINOR ${CMAKE_MATCH_2})
set(GCC_VERSION_PATCH ${CMAKE_MATCH_3})
endif()
# message(STATUS "GCC: ${GCC_VERSION_MAJOR}.${GCC_VERSION_MINOR}.${GCC_VERSION_PATCH}")
endif()
execute_process(COMMAND /usr/bin/clang --version WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULTS_VARIABLE CLANG_GET_VERSION_RES OUTPUT_VARIABLE CLANG_GET_VERSION_VAL)
if(${CLANG_GET_VERSION_RES} EQUAL 0 AND CLANG_GET_VERSION_VAL)
if(CLANG_GET_VERSION_VAL MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
set(CLANG_VESRION_MAJOR ${CMAKE_MATCH_1})
set(CLANG_VESRION_MINOR ${CMAKE_MATCH_2})
set(CLANG_VESRION_PATCH ${CMAKE_MATCH_3})
endif()
# message(STATUS "CLANG: ${CLANG_VESRION_MAJOR}.${CLANG_VESRION_MINOR}.${CLANG_VESRION_PATCH}")
endif()
# обычно не тредуется и гцц сам подхватывает
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()
# подразумевается что ты используешь кланг с либспп
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(EXTRA_FLAGS_CLANG "-Wno-reserved-module-identifier -Wno-nullability-completeness")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_FLAGS_CLANG}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS_CLANG}")
if(CLANG_LIBCPP)
set(STD_MODULES_SRC_DIR /usr/share/libc++/v1)
set(STD_MODULE_FILE_NAME std.cppm)
set(STD_MODULE_COMPAT_NAME std.compat.cppm)
set(CMAKE_CXX_STDLIB_MODULES_JSON "/usr/lib/libc++.modules.json")
set(LINKER_FLAGS_SUFFIX_CLANG "-stdlib=libc++ -lc++abi")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_STATIC_LINKER_FLAGS_INIT "${CMAKE_STATIC_LINKER_FLAGS_INIT} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_CXX_FLAGS "-stdlib=libc++${CMAKE_CXX_FLAGS}")
endif()
endif()
>>748947
cmake_minimum_required(VERSION 4.4)
set(CMAKE_SUPPRESS_DEVELOPER_WARNINGS ON CACHE INTERNAL "" FORCE)
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD f35a9ac6-8463-4d38-8eec-5d6008153e7d)
set(CMAKE_CXX_MODULE_STD ON)
set(CMAKE_CXX_SCAN_FOR_MODULES ON)
project(projectname LANGUAGES CXX VERSION 1.0.0)
execute_process(COMMAND /usr/bin/gcc --version WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULTS_VARIABLE GCC_GET_VERSION_RES OUTPUT_VARIABLE GCC_GET_VERSION_VAL)
if(${GCC_GET_VERSION_RES} EQUAL 0 AND GCC_GET_VERSION_VAL)
if(GCC_GET_VERSION_VAL MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
set(GCC_VERSION_MAJOR ${CMAKE_MATCH_1})
set(GCC_VERSION_MINOR ${CMAKE_MATCH_2})
set(GCC_VERSION_PATCH ${CMAKE_MATCH_3})
endif()
# message(STATUS "GCC: ${GCC_VERSION_MAJOR}.${GCC_VERSION_MINOR}.${GCC_VERSION_PATCH}")
endif()
execute_process(COMMAND /usr/bin/clang --version WORKING_DIRECTORY ${CMAKE_BINARY_DIR} RESULTS_VARIABLE CLANG_GET_VERSION_RES OUTPUT_VARIABLE CLANG_GET_VERSION_VAL)
if(${CLANG_GET_VERSION_RES} EQUAL 0 AND CLANG_GET_VERSION_VAL)
if(CLANG_GET_VERSION_VAL MATCHES "([0-9]+)\\.([0-9]+)\\.([0-9]+)")
set(CLANG_VESRION_MAJOR ${CMAKE_MATCH_1})
set(CLANG_VESRION_MINOR ${CMAKE_MATCH_2})
set(CLANG_VESRION_PATCH ${CMAKE_MATCH_3})
endif()
# message(STATUS "CLANG: ${CLANG_VESRION_MAJOR}.${CLANG_VESRION_MINOR}.${CLANG_VESRION_PATCH}")
endif()
# обычно не тредуется и гцц сам подхватывает
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()
# подразумевается что ты используешь кланг с либспп
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
set(EXTRA_FLAGS_CLANG "-Wno-reserved-module-identifier -Wno-nullability-completeness")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_FLAGS_CLANG}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_FLAGS_CLANG}")
if(CLANG_LIBCPP)
set(STD_MODULES_SRC_DIR /usr/share/libc++/v1)
set(STD_MODULE_FILE_NAME std.cppm)
set(STD_MODULE_COMPAT_NAME std.compat.cppm)
set(CMAKE_CXX_STDLIB_MODULES_JSON "/usr/lib/libc++.modules.json")
set(LINKER_FLAGS_SUFFIX_CLANG "-stdlib=libc++ -lc++abi")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_STATIC_LINKER_FLAGS_INIT "${CMAKE_STATIC_LINKER_FLAGS_INIT} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAGS_SUFFIX_CLANG}")
set(CMAKE_CXX_FLAGS "-stdlib=libc++${CMAKE_CXX_FLAGS}")
endif()
endif()
спасибо анон, меня если честно напрягает эта строчка с experimental, потому что вроде как симейк поддерживает модули уже пару лет, но эту строчку тащит с собой и у каждого релиза симейка она разная
Мне аноны с SFML всегда чем-то напоминали питонщиков с ботами для телеги. Вроде бы осилил пару туториалов и чувствуешь себя всесильным, даже не подозревая, какая пропасть разделяет анона и коммерческую разработку.
Работа в игорах это кал, недавно смотрел интервью с людьми, которые анчартед пилили, так там даже бедолаг музыкантов запрчгали работать 6 дней в неделю по 12 часов, кто то в офисе прям жил, после релиза игры многие ливнули с компании просто
>Можно ли вкатиться в разработку игр
Там же ебаные рабские галлеры. У меня вот другой вопросик, есть одна сетевая штучка, я для прикола попробую её на петухоне написать и посмотрю, как она работает, потом думаю переписать, чтобы штучка вертелась уже на роуетере с попен врт - говно сразу нахуй, потому что на роутере оч. мало пзу, чтобы ебануть на си придётся ебашить автоматик/юзать прототреды всё на еполовом драйвере, как там в плюсах со статическими корутинами, которые вроде как завезли: a) удобно/неудобно б) сколько потом бинарь будет весить?
>Можно ли вкатиться в разработку игр
Смотря во что (SFML везде не нужен, максимум как пет)
Есть геймплей разрабы, там ты можешь вобще плюсы никогда не увидеть, надо больше понимать работу современных движков, анриал, юнити и тд
Есть разработчики графики, там тебе надо с графическими апи ебаться, Vulkan, DirectX и тд (ну и естественно знание плюсов будет необходимо)
В тулзовики и им подобные по большей части нужно только плюсы знать + с движками работать
А вобще лучше не верь словам рандомов из интернета и сам глянь что требуется от разрабов в вакансиях
Из крутых челов что свой движок держат в РФ знаю только сейберов (пару лет назад у них найм был заморожен, но сейчас может набирают новичков, вархаммер же у них вроде стрельнул нормально)
Переписываю чужое.
Хожу по репозиториям с большим чёрным пакетом собираю весь любопытный говнокод погружаюсь в него и дрочу представляя как все правильно структурирую/объеденю и вокруг моего форка соберется большая толпа контрибуторов.
Но кончив 2-3и функции интерес как то пропадает, слишком много работы, да и никаких конрибьюторов не будет никогда.
>как там в плюсах со статическими корутинами
в плюсах нет корутин, тебя наебали, есть некий скелетон с которым в теории что-то можно сделать, но на практике это говно неюзабельное, я ни разу не видел чтобы кто-то этим пользовался
В плюсы добавили ровно такие корутины, которые используются в интерпритируемых языках и в игровых движках. Не можешь в корутины - уйди отсюда, это не для тебя и не для таких как ты в Питоне примеры посмотри/потыкай может с ним легче будет въехать.
>Что ето значит?
Лучше все увидеть своими глазами https://en.cppreference.com/cpp/language/coroutines
Извини, но у нас в России заблочен домен en.cppreference.com роскомнадзором.
Так включи 😱 >>!!! VPN !!!<< 😱
> В последних, например в луа, то там противоположные корутины. Ты зачем это написал вообще, мальчик?
Что ты тут видишь противоположного, шиз?
В документации к полюсам даже пример приводится зачем они нужны и как их использовать.
> Что ето значит?
Примерно такая же ситуация как и с растом, единого рантайма для корутин нет
Написали сахарок для обертки вызовов co_await co_return co_yeild
Естественно никто все еще хоть какую то нормальную реализацию не написал, реализовывать этого монстра это пиздец
Многие люди просто хуй положили на это всё и написали свои варианты, где асинхронный код вобще от пользователя спрятан, можешь на userver от яндекса глянуть, там код выглядит как синхронный, но на самом деле нихуя
Что то там конечно пытались в с++26 запихнуть, но в реальном мире ты этот код лет через 10 может быть увидешь
> Что там в них такого особенного?
> Ничто не мешает создать класс, закинуть его в кучу и дёргать его вызов, обновляя состояние.
Особенного в них то что это часть парадигмы асинхронного программирования. Язык ее либо поддерживает либо ты (как сам предлагаешь) васянишь что-то что бы сдать курсач, либо берешь стороннюю готовую библиотеку корутин типа https://taisei-project.github.io/koishi/
Всё. Что тебе не понятно то? Непонятны корутины я тебе уже ответил в питоне посмотри, потому что в плюсах не просто какая то эталонная реализация, а максимально охватывающая все языки.
Это теперь стратегия развития плюсов такая, максимально удовлетворять чужие хотелки, да некрасиво, да громоздко, но зато все есть. Говорят в С++26 там уже статический анализатор ебанут(ли) как в расте и компиляцию без библиотеки для эмбедщиков.
Бля растоплюсы это системные языки, какой тебе тут рантайм недоложили? За этим иди в сишарп/котлин
> какой тебе тут рантайм
Ты про корутины впервые в жизни слышишь?
Кто по твоему корутинами управляет?
Сама программа в которой ты их используешь, сишарпо-маня. Узнал тебя по упоминанию раста, ты за год плюсы так и не освоил что ли? Хотя бы деструкторы с конструкторами хоть понял почему вызываются, или ты умственно-отсталый?
> Рантайм я как понимаю у тебя где то отдельно от программы существует?
А вот это как понимать у тебя:
>> Примерно такая же ситуация как и с растом, единого рантайма для корутин нет
Дурку включать бесполезно, все ходы записаны.
>А вот это как понимать у тебя:
>> Примерно такая же ситуация как и с растом, единого рантайма для корутин нет
Как написано так и понимай, в расте есть несколько рантаймов реализующих асинхронность
Про гошный рантайм который горутинами управляет слышал? Так вот в расте их несколько
> Как написано так и понимай, в расте есть несколько рантаймов реализующих асинхронность
Раст, плюсы, си это статические компилируемые языки, шизойд, у них нет рантаймов.
А когда ты собрал, запустил то в рантайме программы нету никаких корутин, ООП, шаблонов и итд итп, это языковая семантика. Более того корутин даже в стандартной библиотеке нет, там есть только функции которые их реализуют на уровне OS.
Малой, иди в гугл поищи что такое рантайм
> в рантайме программы нету никаких корутин
Заодно почитай про корутины
Ты думаешь кто тебе их как минимум свитчит и планирует? ОС о твоих корутинах вобще ничего не знает
> статические компилируемые языки, шизойд, у них нет рантаймов
Что думаешь о го рантайме?
Или если я сборщик мусора прикручу к плюсам он перестанет быть рантаймом и неожиданно в компайл тайме разрешится?
Рантайм это любой код который присобачивается к твоему итоговому бинарнику помимо того что ты сам наговнякал.
Другое дело что для корутин рантайм не обязательно нужен, если у тебя кооперативная многозадачность на yield/resume то там просто нужно реализовать переключение контекста и стека, если многозадачность вытесняющая, то там уже шедулер нужен, это тоже без рантайма можно сделать.
> если многозадачность вытесняющая, то там уже шедулер нужен, это тоже без рантайма можно сделать
Каким образом? Типо какой то супер тупой шедулер сделать который просто по таймеру не думая будет на следующую корутину переключать?
какие-то знакомые посты... скажи, а что ты думаешь о текстовых языках программирования и Наоме Хомском?
>Никто не мешает и стек и стеклесс корутины сделать вместе и чтобы они существовали одновременно в языке
Из каробки же этого нет, ты предлагаешь делать, как раньше мы фибры васянили?
>>750532
Пидораст умеет конпелировать тебе фсм во фьючу, упомянутые подключаемы рантаймы - это лишь шедулеры/драйверы.
>Про гошный рантайм который горутинами управляет слышал?
Ты зря сюда го приплетаешь, ещё раз, малой, в го вообще точки прерывания задаются компилятором, там вообще всё очень на другом уровне.
> это лишь шедулеры/драйверы.
> в го вообще точки прерывания задаются компилятором
Ты это к чему вобще? Они от этого рантаймом быть перестали?
Для реализации плюсового рантайма тебе что то кардинально другое нужно будет реализовывать?
>>750698
> Из каробки же этого нет
Ну чисто теоретически это можно сделать
>Раст, плюсы, си это статические компилируемые языки, шизойд, у них нет рантаймов.
Да, все вокруг шизоиды, один ты в белом пальто стоишь красивый.
Почему не использовать корутины обмазавшись хотя бы standalone asio? Для чего нужна асинхронность? В общем-то, для чтения/записи на диск и работа с сетью. Также, может быть, какие-то вычисления, ну это всё равно будет в треде, а не каком-нибудь iocp/epoll. С asio вполне норм код выглядит
Я другой анон и вашем споре не участвовал. Понять смысл твоих постов реально сложно. Ну и ты не понимаешь смысла рантайма. Вот как и этот >>750766
Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах, или всякие ртосы, силами компилятора, без либ, без нихера. А во всяких питонх и причих джавх вот для них рантайм необходим. Ничего и билзко потобного в си/плюсах не было и нет, чтоб тамб там мелки не высирали про свое поделие.
>Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах
Не работают. Си это мультиплатформенный язык, а значит для каждой платформы необходим соответствующий рантайм, ведь платформы разные, а сишный код-то одинаковый. Без дополнительного рантайма одинаковый код будет одинаковым и не будет работать ни на одной платформе, ведь они все разные.
Изучил синтаксис. Уже вначале изучения охуел, например от
std::cout << "hello"
Это получается они блядь перегрузили операцию битового сдвига... дав ей функционал записи в поток... просто потому что она внешне походит на ">>" из шела?! Вы наркоманы ебаные, ухожу обратно на С.
Вот примерно такая реакция каждый раз когда пытаюсь писать на C++. Это же ЕБАНИЗМ какой-то а не язык. Просто читаешь синтаксис в сравнении с С, и такое чувство что Страуструпа была одна идея: "лишь бы чего добавить, не важно что, главное чтобы было". По ощущениям, на нём будто бы писать без дыр невозможно.
Тебя идиота первым заменят
Малой, синтаксис это самая малая беда в яп, если ты даже это пересилить не смог, то лучше вобще не продолжать дальше
>Ну си/люсах пишут программы которые работают вообще без нихера на голых плисинах
В плюсах в этом случае у тебя отваливаются эксепшены и RTTI, потому что они без рантайма работать не будут, стандартная либа если и будет, то очень усеченная.
>А во всяких питонх и причих джавх вот для них рантайм необходим.
Есть micropython и j2me, которые могут работать на микроконтроллерах.
Дед, на esp32 на все есть, только отключено по дефолту, даже STL есть
Enable C++ exceptions (CONFIG_COMPILER_CXX_EXCEPTIONS)
Enable C++ RTTI
(CONFIG_COMPILER_CXX_RTTI)
не линукс а огрызок линукса
>С++ для ООП, на Си ты такое не сделаешь
Сделаю. На C99 можно сделать "типо" полу-ООП с классами, инкапсуляцией и наследованием и даже полиморфизмом но только у аргументов функций. Сами функции перегрузить на чистом С99 вот никак не получится. Но на GCC+С11 с раширениями _Generic вполне можно реализовать ООП. Вот только зачем? Мне похуй ООП это или ЖООПЭ.
>>751133
Хуйню пишешь. Если хочешь написать что-то конструктивное - пиши сразу пасту. Лень писать? чатгпт в помощь. Сообщения по типу "пук" это скучно. "Малой, синтаксис это самая малая беда в яп" - чиво блядь каво блядь.. дэ нахх блээд ёпта. Можно попроще быть? Вас всё равно всех уже ИИ заменили, кодить имеет смысл только как хобби, так что свой снобизм этот можно и оффнуть какбы.
>>750804
>Почему не использовать корутины
Вот кстати ещё с хуйни охуел. "Корутина" новое слово узнал. Что это ёб твою мать за хуйня. Посмотрел как это работает - это антикод какой-то. Хуже goto даже!
Вмазатся лекциями Владимирова, охуеть и погнать.
> Это получается они блядь перегрузили операцию битового сдвига
Это не военное преступление если тебе было весело. Задача сделать чтение и запись выразительными. Выбранный вариант всё же лучше принта, с перечислением переменных и указанием аргументов, где ты можешь ошибится и всё по пизде полетит.
> По ощущениям, на нём будто бы писать без дыр невозможно.
Только на мёртвом языке ни кто не допускает ошибок.
> снобизм
Даун малолетний, это факт
Если ты блять от синтаксиса ебло корчишь, и отказываешься от яп только из за него, то ничего больше калькулятора или других велосипедов на си не напишешь
Хотя если у тебя это хобби, то хоть на бейсике пиши
вобще то вот я
> линукс запускают
На хуй там это говно? Там своя няшная FreeRTOS
>Сделаю. На C99 можно сделать "типо" полу-ООП с классами, инкапсуляцией и наследованием и даже полиморфизмом но только у аргументов функций.
Да, да, что то типа GLib* получится
>Я другой анон и вашем споре не участвовал. Понять смысл твоих постов реально сложно. Ну и ты не понимаешь смысла рантайма
Я ваще ни с кем не спорю. Мой первый пост в этйо ветке был про asio. При чём тут рантайм твой?
Операция битового сдвига это условно:
shl op1, op2, res
А плюсики минусики стрелочки палочки это операторы в языках высокого уровня которые могут делать все что угодно в зависимости от типов.
>Вы наркоманы ебаные
Ахахах! Ты, чел, даже не представляешь насколько C++ мощный язык. Там фичи добавлены не просто так, а с умом. Как результат многолетнего опыта очень многих программистов.
С помощью C++ можно буквально горы свернуть.
Попробуй тоньше.
Они его наконец то решили с питона переписать, лол?
Ну борщехлебам то понятное дело не нужна, а мы тут про реальную разработку говорим
А чего там делать-то? Щас нейродебилы могут лабы делать.
так я реальный разработчик, алоу, в отличие от большинства участников треда, рассказывай зачем тебе пакадж манагер понадобился
минус
Ну раз реальный разраб то вот тебе классические вопросы:
Как вы тяните зависимости в проект, как вы отслеживаете версионирование, и сколько чистый билд занимает времени
Можно git модулями подключать деревья зависимостей, например, а через cmake вызывать их обновление.
Мимо-другой-анон
Да я знаю, вся индустрия так и сидит, очевидные минусы:
- версионирование (по хорошему нужно свой гит разворачивать и туда все внешние зависимости переносить переодично их обновляя)
- собираешься все зависимости из исходников, большое время билдов, раздувание билдов, все потенциальные проблемы связанные со сборкой
- привязка к cmake, как у тебя, так и у вендоров твоих зависимостей
>Да я знаю, вся индустрия так и сидит
Сыросли?
Про минусы, которые ты указал, как бы систему контроля версий ты и так используешь, поэтому пiхуй, а для сотен scratch-проектов - я таким, к примеру, не занимаюсь. Проекты из исходников так и эдак надо собирать, наверное можно ослабить уровень и брать либы с твоего дистра. Так привязка не к cmake, а к гиту.
> Сыросли?
Конечно, условному конану всего пару лет отроду (на питоне написан), а реальные разрабы как выше его в свой проект завезут дай бог еще через пару лет (если вобще будут)
> систему контроля версий ты и так используешь
Гит то понятно используешь, а гитлаб давно у себя разворачивал?
> Проекты из исходников так и эдак надо собирать
На линуксе скачивая пакеты ты их из исходников собираешь?
Понятное дело что их кто то когда то собрал, но это не значит что ты на это время тратить должен
> Так привязка не к cmake, а к гиту
Собирать твой проект гит будет?
Не cmake проект к своему проекту через гит подключать будешь?
>а гитлаб давно у себя разворачивал?
Ну для дома хватает и гит-демона, в офисе можно и гитею поднять. Хотя я вообще не понял к чему ты про с гит-сервак, когда он в любом случае нужен для работы в ко-команде, не через дискеты же дифы носить.
>На линуксе скачивая пакеты ты их из исходников собираешь?
Нет, но я не про всё а про конкретные проекты и важные вещи. К прмеру, есть один редактор, полностью написаны все скрипты чтобы собирать сам редактор из исходников и все модули к нему и так далее.
>Понятное дело что их кто то когда то собрал, но это не значит что ты на это время тратить должен
Ну выше уже высказал, что можно понизить градус до нахождения либархивов в системе.
>Собирать твой проект гит будет?
Если через гит модули манаджить зависимости, то cmake тут не при делах по сути.
> Собирать твой проект гит будет?
> Не cmake проект к своему проекту через гит подключать будешь?
Вообще то в симейк для таких случаев есть функция, которая собирает внешний проект
Читай на что я отвечал:
> Так привязка не к cmake, а к гиту
>>752962
> Ну для дома хватает и гит-демона
Ну так очевидно не про дом говорим
> гитею
Ху
> Хотя я вообще не понял к чему ты про с гит-сервак
Потому что этот гит сервак становится местом откуда ты зависимости забираешь
Если ты будешь в реальном проде забирать исходники просто с гитхаба\гитлаба, то любой анон может взять и насрать в ветку\тэга\коммит откуда ты выкачиваешь что то
> можно понизить градус до нахождения либархивов в системе
И кто тебе эти либ архивы будет ставить в систему и откуда?
> Если через гит модули манаджить зависимости, то cmake тут не при делах по сути.
Еще раз спрошу, зависимости тебе кто будет собирать из исходников? Гит?
То что ты add_subdirectory это не значит что у тебя не симейк занимается сборкой
> За каким хером здесь пакт менеджеры?
> время сборки проекта 3 часа
> эээ бля хуле фритайп не собирается, сычеееев сборка опять сломалась!
> эээ бля а хуле сборка под 100 гигов занимает
> эээ бля, а где дебаг символы для либы, бляяя у меня релизная собрана, пойду пересобирать
> эээ бля, а хуле не линкуется ничего? а ой поменялся компилятор\линкер\стд либа\что угодно, придется всё пересобирать(
> собрал один раз положил где надо
Как минимум два раза собрал, релизную и дебаг с символами
Для прикладного/системного программирования нужны системные пакетники так и так. Это то на чем вспоткнулись растаманы, у него нет abi он им и нахуй не нужон в итоге раст может создать библиотеку для программ на других языках, но не может создать shared либу для программ на расте потому что у тебя есть cargo с исходниками.
Но нахуй они так сделали - есть не только прикладное/системное программирование, но и закрытое корпоративное или просто обособленное как кернел-дев, фирмварь-дев там нет и не может быть привычных тебе библиотек прикладного уровня, но там (как мне поясняли) все равно есть свои библиотеки для того же сетевого стека или io например, это не такие библиотеки которые можно/стоит выделить в отдельный git-проект, вот для таких и нужен пакетник с репозиториями.
Ты когда говоришь про пакеты сразу чётко говори, что имеешь в виду репозиторий с артефактами, а то та же упомянутуя карга, который пакетный менеджер, но ничем концептуально не отличается от симейка с гитом. Алсо, в говне вроде такая же история, только ещё есть кэш по середине.
Так я и уточнил что есть разные пакетники для разных задачь, и вообще не я про них начал.
Что касается карги то я миллиард раз уже писал что весь раст и всю его инфраструктуру сделали фреймворк-макаки с npm.
Как пишутся приложения на говноде с npm - создается декларативный package.json в котором пишутся название программы, зависимости поверсионно параметры запуска и тд итп
И дальше только делаешь
npm install
npm update
npm run
Найди три отличия. А если взять еще всякие корпоративные js фреймворки которые берут на себя обеспечение кросс-браузерности и заставляет макак писать строго по правилам фреймворка и лишь в некоторых местах позволяя вставлять непроверяемый js-код, то это настолько блять очевидно что кроме как врете тут и кукарекнуть больше нечего.
>сё же лучше принта, с перечислением переменных и указанием аргументов, где ты можешь ошибится и всё по пизде полетит.
по этому обратно вернули std::format?
>А когда выпилили std::format, чтобы его было можно вернуть?
std::format немножко похож на printf, правда, только с шаблонами и километрами template-магии? А как известно с++ выпилиывает вещи не технически, а каргокультически:
ты используешь printf вместо нашей ёба функция template? <. .. std::forward <>.... <?*#$&Cm> ? Ну ты не тру с++ програмист, не возьмём тебя на проект
А когда понимают, что обосрались - воротят в зад printf. Так же произошло std::move. Вы что, пишите в си-стайл? Передаёете указатели на объекты? Ну вы не тру программист. Мы просто не паримся и не платим за то, что не используем. Смело передавай по занчению или по ссылке. Ой, пук... Срочно вводим std::move, std::forward, xvalue, rlvaue xujvalue
Вот этого в проект не берем
В том что эта модель за пределами большого корпоративного проекта работает хуево и приносит больше жопоболи чем результата.
>думает что карга не нуждается в чем то типа симейк
Проблема твоей логики в том что симейк или мезон это не сборочные системы, это конфигураторы проекта.
Зачем проекты преконфигурят:
1) Что бы выставить флаги сборки, подключаемых модулей/библиотек (это вроде как в карге есть, но с вопросами)
2) Что бы внезапно создать какие нибудь текстовые включения из темплейтов, внезапно программа то не только из бинарников состоит, но и из языковых файлов, на линуксе их надо gettext -ом через обертку компилить, в шаблонах .desktop замены сделать, а есть еще XML файлы всякие policykit metadata и какой там еще хуйни в современном линукс-десктопе нет, все это нужно обрабатывать так же делать языковые вставки, какая то утилита из gettext умеет со всем этим говном работать.
3) проекты не только из одного языка состоят, вон в запрете луа теперь например.
Что предлагает карга? Включить симейк в проект для этих дел? Ну так можно и Cargo.toml тогда генерировать, просто потом вместо make запускаешь cargo build и всё.
Хотя все равно придётся еще make install делать чтоб это все отправилось по правильным папкам.
Не в Старом Запрете, а в Новом Запрете.
Я немного не въехал о чём спор, но карга запускает билд скрипт на расте (привет мезон и смейк), через который ты уже запускаешь cmake, который тебе сгенерит make файлы, и потом уже запустишь сборочку. Воот такой нескучный атракцион.
Мимо-свидетель-ркн
>Проблема твоей логики
Ты уверен что проблема в моей логике, а не в > симейк или мезон это не сборочные системы, это конфигураторы проекта
Просто все системы сборки и так умееют в:
> выставить флаги сборки, подключаемых модулей/библиотек
> создать какие нибудь текстовые включения из темплейтов
> имееть проекты из нескольких языков
> Так же произошло std::move
На сколько знаю стд мув возвращает правую ссылку на объект. Эта штука раскрывает себя в шаблончиках.
Спор о том что товарищь думает что симейк создан что бы собирать, а это как раз ошибка мешающая многим освоить симейк. Он не собирает библиотеки и бинарники он создает сценарии сборки таргетов. В карге совершенно противоположный подход, там строго декларировано что в какой папке должно лежать и как что куда надо прописывать, там целый талмуд уже насрали всяких опций. Плюсы такого подхода - не нужна подсистема как у симейк. Минусы: шаг влево, шаг в право - пук/среньк.
>На сколько знаю стд мув возвращает правую ссылку на объект. Эта штука раскрывает себя в шаблончиках.
Кто спорит то? Да, он просто кастует. Только в задроченном с++ фишками коде становится трудно писать и менять код. Нужно проверить: что это за сущность, тяжёлая? Как поведёт себя хуйня в в векторе, оптимально? Будет moved или copied? КОнструкторы перемещения определны? Ну самое хуёвое то, что на пару месяцев уходя, например, в какой-нить питон или си, я например, забываю всякие мелкие задроченные с++ хуйнюшки. В других языках на которых я пишу забывать нечего
720x720, 0:06
В других языках тоже так заморачиваться можно, вызовов поменьше поменьше, лишних объектов не создаем, все в переменные суем, в итоге хуже от такого подхода не было никогда, просто код медленней пишется, а что касается мува, то как раз его частое использование это признак плохого кода и непонимания мува как такового. Надо перемещать не сами объекты а указатель на данные внутри объекта:
auto kukarek(std::vector<char> keyword);
std::vector<char> kw;
kw.reserve(512) // выделено полкило памяти
kw = {'V','R','O','T','E'};
kukarek(std::move(kw)) //отдали указатель на выделенную память объекту в процедуре.
Сами объекты нет смысла куда то мувать
А какие пакеты нужны плюсовикам?
>Как вы ВЫЖИВАЕТЕ без пакет менеджеров в 2026?
1. Проект с гуем: в Qt есть все нужное.
2. Проект без гуя: обычно какой-то хардкор, где все самописное.
Что ты за хуйню чешишь про мув объектов или указателей? Мувает как бы сам объект, а чо там внутри его мувающего конструтктор делается - это уже от сущности зависит
Ёбаная сишарп-макака, ты всё ещё не освоил плюсы и все продолжаешь тут серить. Если у тебя гуманитарный склад ума не позволяющий на практике понять что к чему, то возьми книгу из шапки и читай до просветления.
Тупорылый, ты знаешь, что в объекте вообще указателя может не быть? Чо ты там вякаешь-пукаешь? Где технические аргументы
Откуда я могу знать что у тебя в голове, я программист, а не психиатр.
На спор меня разводить бесполезно, я знаю что ты следом понесешь хуету из чатжпт которую сам не понимаешь
>Надо перемещать не сами объекты а указатель на данные внутри объекта:
class Socket_wrapper {
int fd = -1;
};
>Так, чо тут, бля? Так std::move указателя, так! Указатель. Возьмём указатель &fd, PROFIT!
class A {
int m_vasya;
public:
...
Зачем Бьярне вводил ключевое слово class, если struct явно лучше подходит - по-умолчанию все публичное и наследование публичное?
> auto kukarek(std::vector<char> keyword);
> kukarek(std::move(kw))
А нахуя перекидывать rvalue ссылку-то? kw имеет адресс в памяти, и жить должен долго и счастливо. Там можно обычную ссылку юзать. Тем более что в кукареку передаётся вектор по значению (что вообщем-то не правильно, ибо при расширении исходный вектор не получит новые адреса)
> Почему у классов обычно поля объявляют вконце, хотя синтаксис явно предполагает, что они будут объявляться вначале, потому что по-умолчанию внутри класса все приватное. Т.е.
> по-умолчанию все публичное и наследование публичное?
Как я понимаю мысля следущая - если сделать по умолчанию всё публичным, то программист тупо может забыть указать модификатор private а потом через несколько лет его коллега будет бегать с горящей жопой ищя не правильный вызов джуна.
В случаи если всё по умолчанию приватное - компилятор тебя сразу тыкнет в ошибку.
Это потому что сраное ооп головного мозга.
Ну смысл в том что бы перекинуть ссылку на данные в корутину, в тред другой и пусть там память освобождается когда программа доработает. А если ты передашь ссылку то получится что указатель пошел гулять по процедурам как шлюха и где именно компилятору вызвать очистку в случае если это тред/корутина уже хуй знает.
Но так то вообще аргумент функции все равно наверное надо с && писать.
>>753961
Класс и структура разные вещи.
В структуре можно публичные поля иметь, в классе - нельзя.
Кринж с неуча. Съебал отсюда. Пока Липпмана и Прату последних не проштудируешь, не возвращайся.
>если сделать по умолчанию всё публичным, то программист тупо может забыть указать модификатор private
Наследование-то зачем приватным делать? Сейчас это очень редко используется. В 80-х какой-то другой подход к ООП предполагался?
Никто не заставляет так писать. Хочешь - пиши в начале.
Мальчик ты дурак. Пишешь паблик после класса. Класс становится страктом. Все.
> В структуре можно публичные поля иметь, в классе - нельзя.
А как же мьютекс для защиты данных класса? Ему не надо быть приватным, так как его изменение не нарушает согласованность данных внутри класса.
> Ну смысл в том что бы перекинуть ссылку на данные в корутину, в тред другой и пусть там память освобождается когда программа доработает.
Имхо тогда лучше обернуть чем нибудь типо unique_ptr, ибо заебёшься следить где у тебя правая ссылка передаётся а где левая.
> Но так то вообще аргумент функции все равно наверное надо с && писать.
Агась.
>>753979
Что бы пользователь класса не мог добраться до кишочков предка.
>Что бы пользователь класса не мог добраться до кишочков предка.
Никогда не понимал, почему приватность такая великая скрепа в С++. Только в 26 стандарте дали возможность прайваты трогать через рефлексию, хотя private_cast с самого начала напрашивался, если уж const_cast есть.
Потому что приватность позволяет поддерживать согласованность данных. По идее это скрепа всех языков в которых используется ООП. А ООП это уже часть плюсов.
Какая согласованность, если это системный язык, и ты по указателю можешь любую дичь творить? К тому же, как бы ты правильно не проектировал систему, явно будут ситуации, когда вроде нельзя, но очень надо. Скажем хочешь, чтобы сериализатор умел приватные значения у класса трогать без модификации класса.
> Какая согласованность, если это системный язык, и ты по указателю можешь любую дичь творить?
По этому модификаторы типа const или private существуют только для программиста. Ты можешь их обойти, но должен понимать для чего ты это делаешь и что получшь.
>>754053
>>754085
#define private public
#include <супер приватный класс>
#undef private
Видел эту хуйню в продакшн коде много лет назад. Это было последним гвоздём в гроб ООП в моём понимании.
Где приватность реально нужна, так это в модулях для сокрытия реализации. Таким образом, можно не только очистить скоп от мусора, но и ускорить компиляцию, а у нас до сих пор портянки уровня
________bla_bla_impl(int ____________foo, float _____________bar)
Когда std::shared_ptr забыли про zerocost abstraction? Или забыли что они до этого написали в unique_ptr?
> 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
А всё понял, в комитет пробрались идиоты
>Почему std::shared_ptr принимает кастомный делетер в конструкторе, а std::unique_ptr в типе?
Потому что тогда два шареда с одинаковыми типами пойнтера но разными делитерами будут иметь разный тип. Их ни сравнить, ни в функцию не передать без лишних телодвижений. Для юника это несущественно, потому что его снаружи не видно обычно, и два юника между собой редко контактируют.
Не корми.
Нахуя вы вообще на своем красноглазном говне пишите? Как раз сегодня вышла самая лучшая нейронка в мире GPT 6, эксперты и лучшие ученые мира назвали её по своей сути AGI, которая с сегодняшнего дня заменила всеx программистов, даже самых самых красноглазых.
Лучше бы на джаве писали, там хотя бы не так красноглазо все. Но в любом случае лучше в сварщики и плиточники идите, от вас станет в сто раз больше пользы, чем от бесполезных кодомакак, чья профессия устарела как устарели конюхи и крестьяне в свое время.
Все равно язык по факту слишком сложный для человеческого понимания, и нормальный человек это говно учить не будет. А нейронка в сто раз код лучше напишет и в тысячу раз быстреe.
ВСЁ! Закрывайте этот тред.
И нахуй ты 4 месяца своей жизни потратил на эту дрисню? Лучше бы 4 месяца сварку учил, больше пользы было бы. Учить программирование, особенно на таком сложном для адекватного челоевка языке, как в 2026 году учить рисование акварелью - бесмысленно и на работу тебя не возьмут, ибо нахуй ты там нужен, если современная нейронка может в сто раз лучше и быстрее тебя написать кодик?
Иди лучше в сварщики или плиточники, мой тебе хороший совет. Бесплатно раздаю
Язык кажется хорошим на учебных проектах. На больших полная дрисня, потому что компилятор делает многие вещи неявно. Сейчас все новые языки пытаются всё назад откатить и сделать С только чуть лучше зиг джай один с3 заяц. Ты конечно можешь думать, что такие люди как Джонатон Блоу, Ескил Стинберг, Шон Баррет и др. это просто неосиляторы, а ты гений и не такой, дело твоё.
Я имел ввиду что многие вещи вызываются автоматически. Все виды конструкторов, декструкторы. Перегрузка операторов, шаблоны, специализация шаблонов, сам кастит типы на-похуях, писать explicit тебя рано или поздно заебет. Приведение типов, RAII кстати одна из причин почему я в списке в пред. сообщении не упомянул раст, исключения... я заебусь перечислять далее. Вдобавок он компилируется вечность.
Предлагаю тебе сделать, например, арену на С и С++до 17 стандарта, разница на яйцо. Если тебе нужно ООП, дата-хайдинг и пр. гораздо проще изучить как это реализовать на С, вся винда, например, на непрозрачных указателях работает, и сравни это с их же COM-моделью, которая дико переусложненна.
>что такие люди как Джонатон Блоу, Ескил Стинберг, Шон Баррет и др. это просто неосиляторы
Блоу вроде только одну игру сам писал, и то инди платформер. На остальных у него команда писала. Но у него охуенно ценное мнение, конечно. Прямо столп индустрии. Особенно смешно, что ты про геймдев говоришь, где плюсы безальтернативны везде повыше инди и мобилок.
Вообще, судя по теме игрушек, ты школьник или студент какой-то, перечитавший высеров от растошизов и прочих переписывателей вселенной на самом лучшем языке. В "больших проектах" ты вряд ли участвовал, но пришел тут нас всех поучать.
>На остальных у него команда писала.
Да, у него есть команда. Но это никак не забирает у него работу. Он уже лет как 10 стримит, то процесс создания игры, то создание языка, где сам своими руками в прямом эфире долбит по клавиатуре.
Команда у него вдобавок небольшая, можешь credits у the witness посмотреть. Там программистов, кроме него, три человека.
>Прямо столп индустрии.
А кто столп? Мнение кого ты бы послушал? Стинберга я выше упомянул, приглашали консультировать в крупные компании, от blizzard до sidefx.
>где плюсы безальтернативны везде повыше инди и мобилок.
Здесь было много причин, почему это произошло. Одну из них я, например, выше упомянул. Без плюсовых классов взаимодействовать с COM-объектами невероятная пытка, и как следствие взаимодействие с directX, что стандарт индустрии. Вдобавок никто не использует многие фичи, а так же часто имеют свою реализацию контейнеров и алгоритмов.
>Вообще, судя по теме игрушек, ты школьник или студент какой-то, перечитавший высеров от растошизов и прочих
Раст я не люблю.
>В "больших проектах" ты вряд ли участвовал, но пришел тут нас всех поучать.
Да, в больших нет, самый большой был SnowRunner.
>Потому что тогда два шареда с одинаковыми типами пойнтера но разными делитерами будут иметь разный тип.
Ну так и логично, точно такая же логика как и с unique_ptr
Два разных типа так как они принципиально разное делают
сейчас пришлось простыни кода и закупорок писать чтобы пользователь не мог создать шаред птр от типа из сишной либы без моих прокладок, так еще и на все функции из либы для очистки ресурсов пришлось добавлять проверки на нуллптр так как неожиданно это валидное состояние шареда
>Да, в больших нет, самый большой был SnowRunner.
О, сейберовец, слей движок плиз, хочу поглядеть что вы там наклепали
мимо
Я давно там не работаю и вообще выкатился из программирования.
да самая обычная сишная либа которая использовалась в проекте десятилетиями
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, ...> для автоматического создания класса
>>754995
То что ты делашь или делал бесполезная дрочь. Не трогай то что работает. Это раз. Малоки/фри - ответсвенность пользователя, в твоем случае вашей же команды. Это два. Ну и три, лучшее решение переопредедение всех методов взаимодействия с памятью на кастомный аллокатор глобально. Обычно делают именно так.
Не бесполезная, я свою либу рефакторил и оказалось что: то, что в сях выглядело как read_from_file/read_from_data в плюсах стало просто read а из структуры исчезли все калбэк поинтеры.
>>755101
Не, он прав. Это бесполезный дрочь.
Вы так-то правы тоже, но только с точки зрения качества кода и его, хуй знает, робастности/устойчивости, что ли?
Нихуя из этого кабану не нужно. В МЯСКОТЕ, особенно яшке, специально делают ревью, где твоя оценка - как ты бизнесу помог. Фичалидить заставляют всех, чтобы ты "отвественность нёс".
Не "как хорошо ты писал код", на это им поебать, а как ты помог бизнесу. Как будто тебя нанимали не программистом, а ко-фаундером.
Не спрашивайте меня почему так. Я сам не ебу. Но этот рефакторинг - это бесполезный дрочь.
>Зачем Бьярне вводил ключевое слово class
пока он делал "c with classes" это были абстрактные типы данных, потом это стало пользовательскими типами, и в принципе он мог задать ключевое слово type, но решил не изобретать новую терминологию и оставил так как было в симуле - class
>Не "как хорошо ты писал код", на это им поебать, а как ты помог бизнесу. Как будто тебя нанимали не программистом, а ко-фаундером.
>
>Не спрашивайте меня почему так. Я сам не ебу. Но этот рефакторинг - это бесполезный дрочь.
Ну да. Корректный, производительный код никак бизнесу не помогает, рефакторинг нахуй не нужен. То ли дело лэйаут каждый месяц новый и ребрендинг каждый год, ну и куда же без фентифлюшек всяких.
>Не спрашивайте меня почему так.
Потому что ВИЗИБИЛИТИ. Чтобы оценить эффект сложного кода на бизнес, нужно напрячь моск, а галочки - вот они, красивые. Поэтому и выдумывают ебанутые критерии KPI, не имеющие отношения к реальности, и всякие дармоеды процветают на такой хуйне.
Просто принято. Не знаю октуда пошло. Но в сурсах гта3 например делали как ты написал, без объявления private писали сверху.
Не знаю, я чаще встречал стиль
class A
{
public:
A(){}
~A(){}
... // конструкторная поебень
void doSmth() {}
... // остальные функции
void operator+=()
... // остальные перегрузки
protected:
... // всякие функции
private:
... // остальные функции
private:
int x;
int y;
float f;
...
};
Вообще такая структура ведь логична, тебе от класса нужен только интерфейс, а на детали реализации хуй забить.
Кто как обзывается, тот и сам так называется.
>Зачем Бьярне вводил ключевое слово class, если struct явно лучше подходит
Забыл добавить >>756430, что структуры в С++ существуют только ради совместимости с Си. Вообще интересно было бы посмотреть на реальность, где Бьярне для разгона своего языка не использовал бы совместимость с Си и название другое дал. Быть может его плюсы в том мире сидят где-то рядом с Эйфилем и Симулой.
пробелы
Да это нейро-шиз со своими семенами срёт.
Но раз все равно нехуй обсуждать, высрусь, а то у меня сильно подгорела жопа от одного старого видео (по-моему с гуглкода) называлось оно "Объектно-ориентированное враньё" естественно про плюсы.
Мечтаю раскатать разные ложные тезисы и заблуждения по поводу ООП в плюсах, в виде шуточной ёнкомы на базе тохо-сеттинга. Суть (вкратце):
Четыре подруги C(a)pp -ы сражаются (шуточно) со своими сестрами Си-мавари выясняя кто круче и вообще труъ в мире программирования.
Действующие лица (на стороне Цапп):
Командир боевого, суперсовременного корабля с откидным верхом - Лямбда, руководит ходом боевых операций и решает какой контекст брать с собой на корабль.
Бортинженер Корутина, медлительный флегматик в очках, очень хорошо знает своё дело, главное не ставить её в жесткие временные рамки.
Специалист по оружию и боевым экипировкам - Виктория, благодаря силе шаблонов и своему классовому происхождению может носить оружие любого размера и облачаться в костюм любой функциональности.
Четвёртый участник группы меняется от главы к главе дабы познакомить четателя с другими возможностями и недостатками плюсов.
В противоположном лагере (Симавари) четыре безымянные девушки в классическом комуфляже времён въетнамской и мосинками.
Есть идея для трёх небольших глав с милыми девчачьими шутками-прибаутками, но нет сырья и кадров.
>Плюсы это и есть надстройка над си лол, они без си не возможны.
Так было в 80-е, когда был cfront вместо нормального компилятора. С 90х это независимый язык.
Сделать язык совместимым с С и дать ему похожее название это был маркетинговый ход, чтобы набрать классы. Бьерне мог вполне сделать язык с другим синтаксисом и назвать иначе.
Так вроде сделал D-lang
>Вы ещё табы vs пробелы обсудите.
На момент 2026 пробелы убедительно победили. Табы последнее время встречаю только в совсем старом >20 лет коде.
Это удобно, если один класс на хидер. Такое далеко не всегда. Да и видишь ты интерфейс все равно большую часть времени через автокомплит, так что верх-низ особой роли не играют.
>посмотреть на реальность, где Бьярне для разгона своего языка не использовал бы совместимость с Си и название другое дал.
Скажем, взял бы Паскаль, и назвал язык Дельфи.
Кто что мог значения не имеет. На практике баща плюсов это си где в компилятор встроили то что на си мог сделать пользователь: дефайн инклуд андеф = темплейт, атрибуты конструктор/дкструктор ну еще говнеца накидали.
какие то аналогии не нужны, в крестах выбраны уже существовавшие на тот момент формальные модели и скопированы готовые реализации ооп, а конкретно поддерживаются три вида полиморфизма (динамический, параметрический и adhoc), плюс конкретные механизмы инкапсуляции и наследования
достаточно иметь университетскую базу по яп, и просто "узнавать" как было реализован ооп (либо что то другое) в новом для тебя яп