
⚹ https://github.com/sosachbot/cppthreadhat
⚹ Для кусков кода: https://0bin.net/
Ответы на вопросы:
⚹ https://en.cppreference.com/w/
⚹ https://www.cplusplus.com/reference/
Для указателей: ⚹
Прошлый тред: >>3333359 (OP)
Кто не способен быстро понять смысл этого простого выражения тот не достоин называться программистом
char ((x[3])())[5];

Слишком просто. На пикриле сможешь понять что происходит?
Промежуточный код для лямбды?
Не знаю других поводов заводить динамические массивы указателей на функции. Фе, даже набирать противно.
>>10651
Указатель в память указывает, а не на тип, долбоебина безмозглая. Не говоря уже о том что это к плюсам не имеет отношения, в си тред с этим иди пусть тебе напихают хуев.
Лол. Аутист, спокнись. Двач просто звездочки счавкал
В шапке же специальная звездочка для указателей, чтобы копипастить ее.
Есть ли какое то будущее и плюсового разраба в рф?
что то кроме qt и эмбедед макакой стать
Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен. Это просто не практично. Представь себе, что бекенд компилируется час. А куда ещё? Программировать роботов на ROS2? Ты сам не пойдёшь. Бот для торговли опционами/криптой? Создание игр?
В теории конечно, ROS2 мог бы стать альтернативой эмбеддед и RTOS'у, но там как в раше нихуя нет, ни стартапов ориентированных на роботов, нихуя. То в итоге и остаётся один эмбеддед.
Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль.
Я понимаю что макакам эти вещи знать не интересно, у них в мирке и джава не тормозит и на пистоне нейросети пишут, но ием не менее
Грустно(
Устроился на первую работу qt макакой, паралельно с уником, уже пол года как. (случайно залетел вобще)
Для меня студента зп 100к это славно, да и задачи прям халявные, можно хоть пол дня хуи пинать и за пару часов таску закрывать. Но вобще не понимаю куда дальше в этой области двигаться
Развиваться в qt и десктопе? - звучит как парашная идея, включая то что десктоп мертв, тем более на плюсах писать его это ад
Углубляться в предметной области над которой сейчас работаю? - сейчас глянул на хх.ру буквально ноль вакансий с требованиями по ней (мбы мы единственные в рф кто это делает вобще)
Геймдев + комп графика? - две вакансии на рф, с тясячами откликов от челов с горящими глазами
Нейросетки? - там как будто плюсов вобще нет, а если и есть это больше ресерч
В других сферах плюсов как будто и нет, как будто из вариантов только по вечерам в веб\мобилки вкатываться
когда прочитал что у анона выше после пол года зп 200к+, немного всплакнул
>>12640
> Библиотеки
Половина опенсорсная, другая уже давно написано другими.
В итоге из вариантов:
- искать ту единственную кампанию кто этим занимается
- жить на донаты с опенсорса (это вобще реально?)
- переписывать существующие (и сразу на раст еще хехе)
Плюсы (компилируемые языки) нужны везде где нужно SDK. Считаей, что везде, кроме самых примитивных кейсов. Есть либа, что обрабатывать фотки например. Есть клиенты на андроиде, вебе, айоси, десктопе. Можно имплементировать логику либы на каждой платформе отдельно, создав 5 разных решений каждое со своими багами. Или можно написать один раз на компилируемом языке, скомпилировать под нужную платформу, покинуть через адаптера вызовы и вуаля.
Поэтому я не разделяю твоего консерна.
Я другой анон, мимо проходил.
>Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль.
Ну начинается блять... Я не говорю про какие-то отдельные периодические проекты на с++. Естественно, так можно и lua приплести. Ну а чо, можно же и на lua плагины писать. Я говорю про постоянный источник заработка. Не то что ты пару раз стрельнул заказ на какой-то плагин, 500 рублей получил и хуй сосёшь. Базы данных? Ну можно. Сам-то ты сколько баз данных разработал? Сколько миллионов на этом наварил?
>>12653
Бля чувак не знаю. Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Весь смысл с++ это программировать микроконтроллеры. Либо углубляться в финансовую сферу, в high frequency trading и там получать сверх доходы.
Как-то бредово звучит.
1) Почему на питухоне или жабке надо имплементировать логику отдельно для каждого девайса? Всегда считалось это фичей скриптовых байткодных.
2) Что ты вообще собрался не дергать специфичное апи на платформе? Не получится.

Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс. Они там даже зп предлагают. Единственная загвоздка в том что эта вакансия не для тебя нихуя, а скиллового чела отучившегося в европах и штатах, ну или в наших мфти шадах, тогда мб они дадут тебе по верху этой вилки. Еще они предлагают низ вилки как видишь, это цена для всяких госушных горе эмбедщиков, но которые могут быть внезапно ахуенно ебанутыми задротами после лет 10 веслания в госушных говнетах, им они заплатят баснословные 250. В общем вакансия есть, чето даже предлагают, но нахуя это людям которые привыкли пылится в госухе, ковыряться в чем им нравится и когда им нравится или условному споротовичку олимпиаднику который сходу прыгает в хфт стартап и лутает х10 яндексоидных вилок?
ПЫТАЕШЬСЯ СДЕЛАТЬ ПРАВИЛЬНО
@
НЕ ПОЛУЧАЕТСЯ
@
ДА ПОШЛО ВСЁ НАХУЙ
@
ПЕРЕДАЕШЬ УКАЗАТЕЛЬ КАК ЧИСЛО ВО ФРОНТ ИЗ ЛИБЫ
@
ВО ФРОНТЕ В НУЖНЫЙ МОМЕНТ УКАЗАТЕЛЬ ПЕРЕДАЕТСЯ КАК АРГУМЕНТ ФУНКЦИИ ЛИБЫ
@
ТЕСТИРУЕШЬ
@
ОНО ЖИВОЕ
@
ОТКРЫВАЕШЬ БУТЫЛКУ ВИНА
@
РЕЛИЗ ГОТОВ
> Есть ли какое то будущее и плюсового разраба в рф?
> что то кроме qt и эмбедед макакой стать
А чем тебе qt не нравится? По мне так лучше кутемакака, чем бустомакака.
>>12619
> Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен.
Есть и c++ в вебе. И на мобилках. Вообще универсальная штука
Что такое бустомакака? Если кутешная макака это попильный говнет для цифрового гулага, гойслуг и зетников. То бустомакака че такое? Звучит как сервер сайд и асинхронщина, это уже ахуенная специализация и карьера идти писать CDN, а не пылить штаны в мертвой десктопщине в рф и терпеть попилы с которых тебе достается сотыжка и пожизненный бан на перекат на нормальный рынок.
Есть вебасембли, но честно говоря я так и не понял в чом прикол. Он наверное где то там есть, смысл всмысле, но мне кажется это очередная хуйня пришла в голову кому то, и раз это еще никем не сделано то надо сделать. Ну ЧИСТО шоб було, а то вдруг чо
>Есть и c++ в вебе. И на мобилках. Вообще универсальная штука
Чё прям весь бекенд? Как уже выше писали - для сжатия картинок возможно. Или под webassembly, а-ля figma - пойдёт. Но шоб прям весь бекенд - это будет лютый пиздец, который будет собираться целую вечность.
>Есть ли какое то будущее и плюсового разраба в рф?
Нет. В принципе учить С++ в 2026 году имхо смысла никакого нет, если ты в России живешь и НЕ хочешь работать в оборонке. Очень много интересных и хорошо оплачиваемых плюсовых проектов позакрывалось и/или уехало за рубеж. Я в 2020-2021 годах мониторил рынок и у нас было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще, но сейчас этого ничего нет, прям тухляк полный. Сейчас С++ это некоторые проекты в Яндексе, много всякого инфобеза тухлого, в том числе под винду, где надо легаси поддерживать, некоторое количество вакансий связанных с видеонаблюдением и сетями, но это тоже околоинфобез или безопасность так или иначе, либо оборонка и госуха, в том числе проекты для силовиков.
В крупном бигтехе aka Яндекс, VK, Сбер, Авито, Озон доля С++ с каждым годом становится все меньше и меньше. Даже в Яндексе от него постоянно отказываются в пользу Go, Питона и Джавы.
Конечно же какие-то редкие вещи вроде движков СУБД вроде YDB в Яндексе до сих пор на С++ пишут и будут писать, но это очень редкая работа и туда с улицы просто так не зайдешь даже стажером.
>Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах
Это все очень малые доли рынка. Если ты прямо сейчас не занимаешься ковырянием субд, компиляторов или opencv, то оно тебе и не нужно. Это не то, чтобы было сильно сложно для чела с высшим образованием, просто туда ты не вкатишься сейчас в России. И работу сменить это тот еще гемор. Разработчиков субд и компиляторов надо несколько сотен на весь мир, это очень редкая работа и при она не оплачивается сильно лучше бекенд макак.
Чтобы туда вкатиться желательно учиться в хорошем универе в США и посещать курсы по типу тех, которые в CMU идут по базам данных. Тогда может и возьмут стажером в Оракл поддерживать их 40 летнее легаси
>Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс
За пределами роботов и узких мест поиска/рекламы доля С++ постепенно сокращается.
Бекенд на С++ в Яндексе, прям вот чтобы массово, это наверное только в Такси есть. Там для этого вся инфраструктура в виде userver и обвязок для него есть. Вне Такси от С++ на бекенде плюются очень многие.
В Облаке, Кинопоиске, Музыке, Финтехе, Маркете, Еде, Лавке на С++ пишут сейчас очень редко, как правило штучные вещи вроде роботов, где на всю службу одна вакансия иногда появляется. В остальном там везде нынче Java/Go/Python.
>почему ты эмбеддед в макаки записал?
Эмбеддед это как раз макаки в 90% случаях. Какой-то тяжелой умственной работы там нет, сложных алгоритмов тоже. Ебешься с даташитами, читаешь документацию от производителя, читаешь данные из одного порта/пина, пишешь в другой, двигаешь туда-сюда байты.
Разумеется иногда приходится дебажить сложные вещи, находить баги в самом хардваре, погружаться в ЦОС и ТАУ, но это редкость и этим очень мало кто занимается.

>было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще
Заткнись сука уёбок пидорасина! Зачем ты меня расстраиваешь, чтобы я злился? Да? Ты этого хочешь? Хочешь чтобы я расстроился? Ну вот смотри, ты этого добился, поздравляю!
Хе-хе. Я уже давно смирился, что айти тут ВСЕ. Либо мутная госуха, либо российский бигтех за лоупрайс. Такой сытости, которая была тут хотя бы в 2019 году, нам еще долго не видеть, а вероятнее всего никогда и не увидим.
Кстати, нвидия кун больше не заходит сюда? Нвидия его в Швейцарию вывезла кстати. И у меня другой знакомый был, учился на 1 курсе магистратуры ВМК МГУ, делал какие-то нейросети в нашем офисе нвидии, в итоге как гойда началась, его в офисе 2022 года вывезли в Армению, а через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел.
Пишут, все они пишут. Хватит пиздеть. На новых стандартах нет причин не писать. Просто от тебя кривожопа они скрывают чтоб ты к ним не лез.
Ладно, а если серьезно. То я вакансий 50 нашел только от самого яндекса. Это весь тред можно трудоустроить двачной отдел. Но как я и сказал это яндекс. Там менеджмент с козой ходит, а сам ты делать ку должен за лоу прайс клоуном у пидорасов, а до пидораса тебе дорасти не дадут. Скажут не дорос еще.
>Нвидия его в Швейцарию вывезла кстати.
>через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел.
Ну блять, зато я живу в Балаково! Швейцарии до нашего рая ещё развиваться и развиваться! Так что завидуйте молча неудачники!

Хотел бы спросить кое-что про стандарты языка.
Например:
1)Мне на собеседовании задали вопрос "Как у вас со стандартами?"
Что я должен ответить? Они имеют ввиду, что условно проект пишется на С11 и чтобы я в случае чего не использовал фичи других страндартов (С17 и выше), дабы не было проблем с совместимостью? Или тут больше вопрос к компилятору, который они используют и опять же совместимости различных компиляторов и стандартов?
2) Какой основной источник, cppreference.com?
Я вот открыл, в целом там информация очень лаконичная.Это и есть основной источник или еще другие существуют?
У тебя спрашивают, можешь ли ты по памяти назвать всё UB, упомянутое в стандарте, и куда ты полезешь искать инфу об UB, если засомневаешься.
Потому что это база собеседование вайти и персональная шиза собеседующих. Люди развлекаются как хотят, делают че хотят, собеседование это же не экзамен, и по моему опыту большая их часть предрешена уже до начала неважно че там у тебя спрашивают (это не относится к систематическому подходу к найму из всяких фаангов где у них очереди и масштабы).
Ну а так я тебе поясню что человек хотел от тебя. Он просто прощупал твой уровень экспертизы. Сами плюсы по себе уже довольно большой домен и без всякой прикладной области. Так что собеседующий просто выяснил для себя твой уровень экспертности и насколько ты задр. Кстати говоря тему надо понимать хотя бы вскользь все же, если ты совсем чето невнятное пропукал то это будет грустно. Но по твоим вопросам видно что ты стажер какой-нибудь или студент, ну хз, да я бы тебя таким ебать не стал
Надо кабанов ебать налоговой без смазки, просовывать в анус невидимую руку государства или отбирать все субсидии.
У нас в стране вроде как 70лет была система отбора кадров, в том числе квалифицированных, нет надо придумать какую то HR-хуйню с тупорылыми профнепригодными манагерами.
я правильно понимаю, что это очередная бесполезная суета?
А то в отзывах прочитал что структура хуевая.
Алсо, можно старого Страуструпа читать?
На плюсах все 3д и вулкан.
Нет смысла Шилдта читать сейчас. Страуструпа смотря насколько старого и что именно.
страуструп к сожалению не для того, что бы понять как языком пользоваться, а это больше какие-то нюансы языка. Лучше начинать со всякой шизохуйни типа чистого кода и прочего дерьмеца, солида-хуелида, а потом уже почитать страуструпа.
> анон что можешь скачать про std:: any ?
> я правильно понимаю, что это очередная бесполезная суета?
Выглядит похоже на QVariant
> Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо?
Конечно. Разве еще какие то варианты есть?
Аноны, есть ли годные сайты для постепенного вката в спп?
Я не кодер, но знание плюсов может очень пригодиться в работе.
Пробовал давно еще вкатываться в свободное время по каким то книгам и сайтам всяким, но потом возникали более приоритетные дела и приходилось забрасывать. При этом время от времени приходится писать что то на пайтоне, в основном говно скрипты.
Еще пугает что плюсы постоянно обновляются, что то новое выходит. И помню что в последний раз что то решил сделать и заебался с cmake и это тоже подорвало мою мораль. Кстати пишу код в блокноте, ради cmake устанавливал какое то говно от майкрософта, толку от него было мало, в общем очень заёбно всё было.
алсо нормальные люди тайпдефы используют
инб4 using, в курсе что оффтоп, но отвечаю сишнику на его же
> Аноны, есть ли годные сайты для постепенного вката в спп?
https://ravesli.com/uroki-cpp/ - для самых маленьких, для просмотра нужен зарубежный прокси.
Лекции Мещерина на ютубе - более продвинутый уровень.
> может очень пригодиться в работе
А зачем плюсы, пайтона не будет достаточно?
>Еще пугает что плюсы постоянно обновляются
Это не проблема, обновления не прям чтобы революционные, обратная совместимость поддерживается, 11 стандарта должно хватать, а на новых стандартах пишут только на совсем новых проектах.
> заебался с cmake
Да, это та еще залупа, сам с ней не до конца разобрался. А зачем тебе, ты под linux пишешь?
>Кстати пишу код в блокноте
Если у тебя винда, не страдай хуйней и поставь Visual Studio. Она заменяет и блокнот, и cmake.
c vcpkg он охуенный
1) Клонируешь vcpkg репу с тулчейном
2) В проекте создаешь файл vcpkg.json Например
{
"dependencies": ["catch2"]
}
3) В проекте создаешь папку build и игноришь ее в .gitignore
4) В папке build запускаешь cmake -DCMAKE_TOOLCHAIN_FILE=<путь к vcpkg репе>/scripts/buildsystems/vcpkg.cmake ..
5) Все зависимости скачиваются в папку build автоматически
6) В CMakeLists.txt уже можешь спокойно писать свои find_package
Когда пишешь симейк проект приходится каждый чих гуглить, я вот недавно писал сборку gettext файлов через модуль все как положено, а он выдавал структуру файлов не ту которую нужно мучился мучился пока в каком то обсуждении не наткнулся на сообщение где мужик говорит что find_package(Gettext) - устаревший кусок легаси говна, не используйте его функции используйте его только для детекта программ в системе.
Я в итоге решил не использовать вообще и просто написал функцию которая детектит нужные программы вроде msgfmt и xgettext (какие же уродливые функции в симейк это просто пиздец) ну и написал таргет с командами для обработки языковых файлов и установки их в целевую папку с переименованием
Говно как язык сборки в целом
> Иногда пишу
Ну вот проблема возникает когда иногда превращается во что более чем 100 строчек кода
я в неовиме использую neocmakelsp и у меня автодополнение цимейка с документацией
Для таких стандартных вещей как gettext в cmake уже готовые команды есть
find_package это стандартный способ для менее стандартных либ чем gettext или sdl2
Это они боевой рой для новой сво готовят?
>Клонируешь vcpkg репу с тулчейном
Какую репу с каким тулчейном? Совет пойти на деревню дедушке.
Совет пойти пойти к дедушке гуглу
https://learn.microsoft.com/ru-ru/vcpkg/get_started/get-started?pivots=shell-bash
Звучич как будто чел доку читать не умеет
FindGettext https://cmake.org/cmake/help/latest/module/FindGettext.html
Уже само ишет все утилиты, нахуй лисапед писать.
find_package для либ от васянов нужен, если васян экспрортировал в своей либе конфиг cmake
В тот раз cmake нужен был чтобы подцепить какую то библиотеку.
Пайтона не всегда достаточно особенно для уже написанного кода и приходится вникать в cpp и vba, да и в целом знание плюсов это огромный плюс.
Пока останавлюсь на видосах с ютуба.
Cпасибо
Нахуя? Для твоих админских задач по поддержке легаси говна хватит с головой неронки, заплати 20 долларов за о1 и сиди кайфуй не разбираясь в килотонне придуманного задротами бесполезного говна
Это буквально одно и то же, шизойд
include(FindGettext) - это устаревший метод
find_package(Gettext QUIET REQUIRED) - более современный и функциональный
Однако функции в составе этого пакета устанавливают файлы и каталоги некорректно, должно быть как делает intltoolize:
locales/
-- <lang>/
-- -- LC_MESSAGES/
-- -- -- <domain>.mo
А функция из симейк модуля генерирует вот так:
locales/
-- <appname>/
-- -- <lang>.mo
.pot файлы могут быть разных форматов и msgfmt надо для каждого формата его явно указывать (xml/desktop), но симейк функция этого тоже не умеет, как и сказали это устаревшие легаси затычки для совместимости со старыми проектами. Сам модуль нужен теперь просто для того что бы детектить есть вообще в системе нужный пакет с программами.
Я написал свой детект программы, потому что мне нужна была еще другая утилита.
Знания спп открывает больше профессиональных перспектив.
Нейронки запрещены на работе. Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей. В одном чате ради прикола попросили нейронки решить олимпиадные задачки чуть ли не 7 или 8 класса и в лучшем случае это было численное решение.
Нет никаких перспектив. Тебе привиделось или тебе это внушили. Я даже не представляю в каком месте и кто будет с админом обсуждать плюсы, наверное только такой же шизофреник как и ты
Задачку за 7 и 8 класс не решит даже профессор или сам автор если забудет свое условие которое он придумал под говняком. Ты не понимаешь назначение нейросетей. Это прикладной инструмент для бизнеса, а не сфинкс
Попустись, я не работаю админом и никогда им не работал. Ты меня путаешь с кем то другим.
Ты работаешь админом в говногосушной легасной параше интеграторе рфном и занимаешься какой то хуетой пока никто не смотрит
Ты описываешь еботню с гнутым геттекстом а не с симейком. Симейк няшка, а ты плохой пример взял чтобы его критиковать.
>Ты описываешь еботню с гнутым геттекстом
Я описываю еботню с симейком и его пакетами/библиотеками, поскольку симейк это не башскрипт и не мейкскрипт, там зачастую нельзя просто взять и подставить какие то вызовы командной строки и подставлять линковщику какие то опции. Там надо делать все по особому по симейковски, это вызывает трудности а еще там синтаксис лютое говно, особенно все что связано с функциями и переменными, это просто ужас блять.
Почему
https://cmake.org/cmake/help/latest/command/execute_process.html#command:execute_process
>Там надо делать все по особому по симейковски
Ты в любом языке программирования будешь делять "по языковски". В баше надо тоже по башевски делать
Петух ты уже с геттекстом обосрался, тебе мало хуев напихали что ли? Нахуя ты пытаешься доказывать что то в области в которой нихуя не понимаешь, ты даун?
Хуезависимый, спокнись. С симейком все впорядке. Все равно ты без него никуда, это лучше чем всякое непортабельное говно вроде башскриптов в проект тащить.
Я прекрасно знаю симейк потому что его каждый день использую, он забрал очень много крови нерва и пота (и продолжает тратить) и поэтому я не молюсь на него, в нем буквально все сделано плохо. Всё. Едиинственный его плюс это то что он работает выполняет свои функции на 100% и мучения таким образом окупает. Но дрочить на него и петь ему дефирамбы будет только сказочный дегенерат который сам нихуя не пишет только пиздит.
Дифирамбы можно петь только за то что он распостранен и кгда я скачиваю искодники на цпп там скорее всего есть что-то-Config.cmake Поэтому я доволен. А если я в scons какой-нибудь то мне придется учить scons + cmake
Это я не тебе а тем кого ты агитируешь против cmake, как будто есть альтернатива.
>По таким принципам и живут эти парашники
Так аналоговнет до сих пор. Зачастую при критике цпп происходит подмена сложности языка на сложность предметной области. Это не цпп такой специально создан, он адаптирован под области в которых используется, а так же под некоторый перечень ключевых идей(зирокост и т.д). Он не виноват, что все области, где он используются обмазаны говном и сложностью.
Вот взять те же строки, какую из реализаций нужно добавлять в стандарт? У строк десятки типов и реализаций со своими приколами и плюшками, не будешь же каждую из реализаций в язык тащить. Задача цпп - это дать минимально достаточный и мощный язык для написания своих велосипедов под задачу. Особенно я не понимаю претензий к новым стандартам цпп, если на си с классами не писать, то это вообще сказка.
Хватит пиздеть хуйню. Посмотри на планы что вообще собирается делать комитет сейчас: нормальные корутины, экзекуторы, сеть. Даже текущую сраную строчку в стандарт принимали миллиард лет, работа с файловой системой только к 17 появилась. Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык? Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками. Пока стауструпы будут с горящей сракой бежать и дефать эту хуйню от американской госухи чтобы ему придумали за него как это все воскресить и вернуть в продуктовую разработку
>Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык
Так в чем пиздеж, если даже без охуительно полезных фич, которые не успели занести, на этом языке написан весь мир и продолжает писаться, и в том числе авангард технологии (ИИ)? Это ли не доказательство, что база у языка мощная и позволяюющая сделать что угодно?
>Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками.
Нихуя Коуп. Растотрун, ты?
> за то что он распостранен
какая заслуга cmake в этом? если все начнут собираться питон скриптами будешь перед питон вытанцевывать какой он классный
Весь мир написан на джаве и сишке. Плюсы тоже есть, но все от них отказываются, весь бигтех ушел от плюсового кода. А пиздеж в том что это минимальный язык для строительства своих "эффективных" лисапедов. Нет, это не так. А если б было так, то нахуя развивать его в сторону фич которых требует продакшн? Все же все равно пишут свои реализации
симейк это не билдсистема, сколько можно повторять вам ебанутым? Как ты собрался зигой те же языковые файлы собирать? А точнее даже не собирать а создлавать сценарий сборки с кэшированием и мониторингом изменений в файлах.
Костыльные пре-билд скрипты которые предлгается писать на зиге.пидорасте это даже не смешно.
Сборочная система зига и пидораста это замена аутомейк + статичный конфиг проекта, это подражательство ноде-пипу которое в системных языках не работает, не состоят приложения из одного только кода программы.
О, вспомнил. Собирал как-то чужой проект сделаный под Conan, вот эта тема удобная, красивый сайт где можно посмотреть все либы, сами либы обновляются. А потом полез в этот vcpkg, говно какое-то, сайта нет, либы протухшее говно сколько-то лет давности, заброшенное запустение.
>Как ты собрался зигой те же языковые файлы собирать? Никак, для этого должен отдельный скрипт быть. Зачем месить комбайн из говна и палок? Ну можно еще функцию управления кофеваркой добавить, а хули нет?
Какой комбаин, шизик, чем проект собирать прикажешь?
>Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо?
Тебе именно текст надо редактировать? Тогда есть много всяких вариантов. Например:
https://en.wikipedia.org/wiki/Gap_buffer
https://en.wikipedia.org/wiki/Rope_(data_structure)
Прочитал недавно C++ High Performance, сука пиздец еще хочу подобного, там про 20 стандарт и всякие фишечки, рикаминдую
>понимать хотя бы вскользь все же
да что конкретно то понимать?
без воды можешь пример привести
понятно что прощупывал, это же собеседование
какие-то очевидные абстрактные тейки прогнал
Где ты тут абстракции увидел? Это самое что ни на есть прикладное понимание для написания корректного кода. Если ты никогда про уб не слышал ничего, как ты собрался код без уб писать? Ну ладно ты свои лабы ковыряешь, а если ты проект пишешь за деньги, потом ты съебешь, кто твою срань которая в хуй знает какой момент падает будет дебажить? Тебя потом найдем и под шантажом позора перед новыми коллегами пойдешь отлавливать
void ⚹ это не указатель на хтоническую пустоту как показано на рисунке, это наоборот сущность, которой открыты все дороги, она может стать кем угодно.
А вот есть тип данных void, с которым нельзя создать перменную, но который может быть типом возвращаемого значения функций, это реальная пустота.
>build.zig
Ебал в рот это говно, там просто киломитеровый в плане LoC получается файл, нахуя это если можно просто на CMake было делать?
>замена аутомейк
Автомейк - это плагин, пчел, такой системы как автомейк не существует, ты не шаришь.
Ебать шиза. Чел любой указатель - просто указатель на начало памяти. Все.
> Нейронки запрещены на работе.
Не повезло. Надеюсь хоть Интернет разрешен.
> Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей.
Ага, а искать 2 часа ответ на стэковерфлоу, который также может быть ошибочным это гораздо лучше.
> абота с файловой системой только к 17 появилась
Спорное конечно решение, я хоть и пользуюсь, но быстрее нативного решения в виде API операционной системы ничего нет.
А ты же долбоеб, и при сипипи ничего не знаешь. Работа с файловой системой уже была много леи в виде разных библиотек, boost в том числе. То есть решения тестируют на boost, если оно прошло проверку временем переводят в стандарт. Ты же чучело вообще нихуя не знаешь
>Автомейк - это плагин, пчел, т
какой еще плагин, шизик, это программа которая генерирует мейкфайлы из мета-шаблонов.
Синтаксис шаблонов аналогичен qmake, а структура аналогична cmake - в каждой папке создаешь Makefile.am а на топ уровне пишешь:
projectname_SOURCE += main.c
projectname_HEADERS += myapp.h
SUBDIRS += src lib doc
почувствуй что называется разницу.
И все бы ничего но нужен еще autoconf что бы генерировать env переменные и еще дюжина программ для всякой остальной хуйни и все равно будет чего то нехватать.
Симейк куда как более всратый и сложный, но если ты его одолел он тебя наградит отсутствием лишних говен в папках, чистенькими настраиваемыми логами, кросс-платформенной сборкой, в целом грамотной линковкой/сборкой.
Есть вроде как мизон который делает синтаксис примерно как в аmake/qmake но на питоне и с генерацией в симейк, но его надо через пипку устанавливать, хотя конечно если проект требует наличие питона то не вижу препятствий неиспользовать лучше его.
> Тредовцы, а в каких сферах вы работаете?
Безопасность, в основном связана с банками. Но я в Испании живу и работаю на американскую фирму.
ml, dl, signal processing
Эмбедед
Пизжу в интернете что 500к наносек, а на самом деле не работаю, мне сестра просрочку из пятерочки привозит ну и на ее бонусы в маркете всякую хуйню покупаю. Чайник, кроссовки, батарейки, конденсаторы.
Авионика.
В всж сфера в плачевном состоянии, но деньги платят в некоторых местах. Куда перекатываться, как упрусь в потолок по сотыгам, пока хуй знает.
Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался? Конечно есть аномальные вакухи, где готовы платить именно за конкретного человека с конкретной экспертизой, но не думаю что такое разумно вписывать в среднюю статистику. Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки, а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая
>Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался?
Очевидное лидство. Ну или что блоее органично в контексте обсуждаемой сферы начальник. Ну и потолок это сотыги 4, да? На жизнь должно хватить. Но это в текущей конторе маловероятно, поэтому вопрос в том, куда крестомакака вообще податься ещё может.
>Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки
У меня среди знакомых только один фронтендер и получаю я раза в 2 больше. Ну и в целом выше веб-макаки дефолтной.
> а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая
>Это больше в голове у тебя всё, чем в реальности. Я после универчика с кайфом залетел.
>projectname_SOURCE
>projectname_HEADERS
поубивал бы нахуй за эту гениальную идею с суффиксами) и префиксами)) это же пиздец удобно парсить имя переменной и не дай бог тебе где то опечататься
ща вспомнил как выглядел автомейк проект на два десятка таргетов аж хуево стало
У джава мидла в бигтехе вилка 200-300к, у сени 300к и в зависимости от проекта, как правило бывает 370к-400к, но есть и такие кто и до 500к добивает. Всякие техлиды и крутые спецы на 17 грейдах и по 700к получают, предела нет. Но это все домены не связанные с железками. За железки в рф никто никогда денег не заплатит, потому что это наружу не продается и существует только на внутренние дотации. Так что как тебе заработать денег? Поучаствовать в распиле, начальником только да. Наверное если ты еще мидл+, то возможно не поздно поменять домен и идти грести в бизнес, скорее всего не на плюсах, потому что мне кажется ты получаешь все же меньше веб макак
неиронично ощутил тревогу и чувство собственной ничтожности и непознаваемости мира, когда первый раз открыл файл на си и прочёт слово void
Это нормально, но лучше ассемблерный код не открывай
Потому что спрос на неё непосредственно зависит от состояния сферы самолётостроения.
Как хорошо, что я начинал с сишки и void писал во второй строке хеллоуворлда, причём аж два раза.

аутоконф и аутомейк это разные программы которые делают разные вещи, ебучий ты долбоеб
У них даже разные авторы
И нет ни одной бизнесовой. Все это говноинтеграторы, кутешные заводчане и прочие несчастные. Наверно потому они все и делают говно потому что на плюсах все пишут лол. Типа логика такая, если уж нам все равно денег не платят, то давайте хоть в редакторе себя развлекать говном всяким
>строят же мс21, суперджет, ту214, ил96 (не уверен)
Первые два серийно так и не начали производиться. Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать и перевозить пассажиров. Мс21 тоже.
Ту214 и ил96 производятся очень ограниченными сериями, буквально по 1-3 самолета в год.
>Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать
Там уже около 20 почти готовых бортов Superjet New стоит без двигателей, ждут когда двигатель будет готов. Двигатель уже доделали, вроде на прошлой неделе был первый полет с ПД-8.
У импортозамещенного МС-21 в этом году первый полет, со следующего года серия.
>не начали производиться
А как это связано? Работа-то идёт. Тебе авионику на земле писать надо, а не в воздухе.
Я в 2017 году был на собесе недалеко метро аэропорт в конторе, которая софт для иркута писала. ПРоизвели впечатление неплохое. КОллектив молодой. Но выглядело всё очень скромно. Я тогда 80 или 70 запросил. Но я очень скромный был. МОжет, можно было и больше. Там начальник прям выдохнул, когда я цифру сказал. И неприятно потом добавил: да-да, вам нужно работать и учиться, чтобы не быть низкооплачиваемым специалистом, что-то вроде такого. В общем офер мне дали сразу. Но я не прниял.
я к тому спрашиваю, что стоит мне сильно углубляться в эту тему или сразу к CUDA переходить.
буду благодарен любому совету, наставлениям
>анонсы часто ли вы используете SIMD функционал для распараллеливания на уровне данных?
В смысле интринсики? Смысла нет особого, только для каких-то отдельных алгоритмов, где скорость прямо очень важна. Сейчас компиляторы и так векторизуют неплохо. Для трехмерки, например, можно float4 делать (причем желательно отдельно стековую версию с выравниванием по 16 байт). Но это неправильный путь, правильный поперек считать, а не вдоль, т.е. не XYZ в одном регистре держать, а по компоненту в отдельных регистрах для нескольких векторов. Т.е. что-то вроде питоновского numpy использовать. Или сразу OpenCL, SYCL. CUDA, кроме очевидного вендор-лока, плоха тем, что сейчас даблы есть только на некоторых топовых ускорителях. На рядовых видюшках даблы могут в 64 раза медленнее считаться. Для многих научных расчетов нужны именно даблы, и их сейчас быстрее на CPU считать.
Дата-инженеры всегда так пишут, у них и однобуквенные переменные с циферками, и копипаст вместо написания функций и циклов, да и весь код выглядит так, будто переписали бумажку с расчётами на питоне. Они же и в питон пришли из экселя и матлаба.
Тогда уж импортить в месте использования давай по красоте
брат это не SIMD.
там в основе этих библиотек лежит CUDA или OpenMP, или что еще,
но точно не SIMD
ты немного не так понял брат
>В смысле интринсики?
да
>Сейчас компиляторы и так векторизуют неплохо.
ты имеешь ввиду параллельный STL?
почитал про SYCL, выглядит мощно. а на практике?
вообщем спасибо за развернутый ответ, буду дальше изучать
>Сейчас компиляторы и так векторизуют неплохо.
Очень ограничено. У компиляторе нет информации о размере массивов и выровненности данных. Он даже не может доказать что два массива не указывают на одно и то же.
Нужно как минимум делать ему подсказки, а как максимум делать профилировку и переписывать циклы в линейную обработку, ну и в конечном итоге просто расчехлить интринсики, написать реализации для SSE AVX AVX2 NEON и завернуть это все в динамическое определения набора инструкций у машины пользователя (как у ffmpeg и 7zip), потому что компилятор принципиально не будет использовать все имеющиеся наборы инструкций так как они не будут работать на всех имеющихся x86_64, можно его заставить но тогда если ты будешь сам этим пользоваться, либо тогда придется собирать разные бинарии под sse avx и generic
> потому что мне кажется ты получаешь все же меньше веб макак
Удовлетворяя твой интерес: где-то в районе 200к, чуть меньше. Ну я и не мидл+ никакой. Опыта чуть меньше 2 лет. Так что я хотел бы дальше веслать на стрёмной поделке бьёрни. Но из всж компаний я хз дальше где можно вырости до бешеных сотыг. На ум только двагис и яндекс приходят.
>Очень ограничено.
Сейчас уже более-менее. Раньше компилятор совсем хлебушек был:
https://godbolt.org/z/qTMaaYzMa
https://godbolt.org/z/WqKa7YbWv
Приходилось вот такое на интринсиках делать, а сейчас и так сойдет в большинстве случаев.
Кстати, у GCC и clang есть расширение для векторизации, можно вообще без интринсиков делать, и оно будет целиком через регистр передаваться:
https://godbolt.org/z/64vo7e64q
Ты охуеешь, но так называемые интринсики реализованы через эти самые расширения.
Он давно простые циклы векторизует. Вот, например сумма массивов с размером кратным 8.
https://godbolt.org/z/eM9soTj9K
Если убрать кратность 8, то добавятся куски, где добирается некратный остаток. Если убрать restrict - добавится проверка на алиасинг.
Тоже векторизует, также считает кусками по 8, потом добирает одиночными:
https://godbolt.org/z/a695f5bcP
По восемь - это оптимизация под AVX, где 256 битные регистры. Там это будет одно чтение и фьюз двух 128-битных операций, а для старых архитектур ничего не изменится.
а чо по ymm?

1280x720, 0:05
— C++
Дженсен Хуанг, глава компании Nvidia
Он дебил? Ему по должности не положено знать, что такое C++. Он бы ещё о работе старшего дворника рассуждал.
— Kакой язык программирования вы любите меньше всего?
— $$$
Дженсен Хуанг, глава компании Nvidia
в чем не прав?
Вопрос не в том, что любишь-не любишь, а в том, что альтернатив нет.
>либа обрабатывать фотки
зачем когда потные ебанашки с очками-линзами делают все это бесплатно ну либо за подачки от корпораций в лучшем случае?
и это еще хорошо потому что еще не до всех дошло что шлюхе показывающей пизду на вебкаме, необязательно платить
>были вакансии от NVidia
о, да, а еще в треде был нвидиа-кун который заявлял что за много лет они не взяли ни одного челика с hh кек
Не удивительно, сделать CUDA можно было только люто ненавидя кресты и специально делая всё как можно недружелюбнее и кривее. nvcc вообще литералли единственный компилятор, умеющий ловить сегфолты при компиляции кода, настолько это кривое поделие.
class MyClass {
cl::Device device; // или std::unique_ptr<cl::Device> device;
cl::Context context; // или std::unique_ptr<cl::Context> context;
cl::Queue queue; // std::unique_ptr ...
cl::Platform platform; // std::unique_ptr ...
// ...
};
вообщем храню все эти объекты на стеке, все правильно делаю?
да, я понимаю что сам класс получается раздутый...
Вообщем если объект "небольшой" и практически не меняется лучше на стеке держать?
Это не более менее это тупо самое примитивное что можно придумать, тут не нужны даже сложные алкгоритмы в компиляторе что бы заменить пачку перемножаемых флоатов в вектор. Пишешь цикл перемножающий байты или шорты и даже умный компилятор умеющий разворачивать циклы чтоб запихать элементы массива в вектор, не может без подсказок определить можно ли применять вышеописанное так как неизвестно ни количество итераций/элементов массива ни порядок обращения, может ведь быть и так что второй массив это тот же самый массив с некоторым смещением, компилятор не может такие случаи игнорировать иначе код будет нерабочим.
Я уж не говорю о том что твой пример вообще не нуждается в векторизации, скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры что бы что-то сделать, ну правда у тебя в примере это делается просто для распечатки, а так все функции с векторами работают.
Лучше на стеке, но может возникнуть проблемка с инициализацией
При вызове конструктора MyClass конутрукторы cl::Device, cl::Context и тд будут тоже вызваны, если тебе по какой то причине необходимо чтобы они инициализировались позже, то придется использовать std::unique_ptr не только его конечно можно
Неужели Borland C++ Builder?
>скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры
Арифметические операции над числами с плавающей точкой всегда работают на векторных регистрах, если у тебя не древний x87. Одно, четыре или восемь чисел - разницы нет - они будут одинаково быстро выполняться. Да и вытащить элемент из векторного регистра всяко быстрее чем, например, лезть в память, куда-нибудь на стек, даже кешированный.
Чел, ты асм вообще читать умеешь? В первом варианте clang 3.1 пары флоатов распаковывает в регистры, потом считает их поодиночке, потом упаковывает обратно в пары для возврата, получается сложение двух F4 - это больше 10 команд. Во втором варианте, где современный clang - он сразу считает парами, т.е. сложение двух F4 получается за две операции - сначала сложение XY, потом ZW.

>В первом варианте clang 3.1 пары флоатов распаковывает в регистры
Ты сам то его понимаешь его шизик?
Я может родной X86 ассемблер и с натугой понимаю, но блять упакованые то команды как можно не узнать?
Они мало того что риск-подобные, что сразу бросается в глаза, так они еще и плюс минус у всех с похожими патернами, тыкни в любую команду я скажу что она делает не заглядываая в доку.
Пиздец, конечно, как доска скатилась.
>но блять упакованые то команды как можно не узнать?
То, что там векторные операции в асме, не означает, что компилятор реально вектора умножает.
Если ты тупорогий такой, возьми листик, распиши себе построчно, что там происходит. Что приходит в функцию, что возвращается. И главное, что именно там четыре умножения делают.
>операции в асме, не означает, компилятор реально вектора умножает
>как доска скатилась.
Чат-жпт дауненок, ты?
Узнал тебя по шизойдным высерам
спасибо
>>20025
просто паралелю вычисления на GPU используя разные либы.
наблюдаю онлайн как видяха стонет через nvtop (доставляет).
вот начал с OpenCL, затем попорбую SYCL и CUDA
еще хотел попробовать вычисления на несколько GPU распаралелить, но встроеную AMD карту OpenCL не видит...
думаю может как то на виртуалку прокинуть, но чувствую бред получиться

Хули ты тут сидишь вообще, даун? Это для программистов доска, не для развозчиков пиццы.
Еще ведь хуйню несет с таким самомнением, мокрица ебаная. Надеюсь, мудофел, ты ко мне на собес попадешь когда-нибудь.
Зачем там плюсы? Подобные говноскрипты для автоматизации хуйни можно написать хоть на баше.
По производительности сейчас вплотную к куде только вулкан. Если не хочешь трогать кожаный высер, то только вулкан, но в нём бойлерплейта очень много для запуска твоего гпу-кода, ещё и память ручная.
>По производительности сейчас вплотную к куде только вулкан
это проверенная информация? вы уверены в том что говорите?
или это я проспал когда компьют пайплайны стали реально быстрыми?
Окей mulss это оказывается перемножение единичного значения вектора, для пакованых у них mulps
Пиздец у них блядушник в системе команд.

> это проверенная информация? вы уверены в том что говорите?
Да.
> когда компьют пайплайны стали реально быстрыми?
Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc. Куда-графы всё ещё обходят пайплайны, в основном из-за быстрых бранчей и хорошей работы с памятью, но такими темпами вулкан скоро догонит их. Мобилки бустят всё это хорошо, им нужны нейросети, а там кроме вулкана нихуя нет универсального под гпу.
У тебя на картинке скоростьобработки токенов разных нейросетевых моделей в разных форматах.
Ну и да, по ней получается что cuda больше неактуальна
KHR_coopmat это я так понимаю родная вулкановская матричная библиотека для шейдерного языка. А вторая вендорная.
В любом случае про куды-хуюды забываем, учим шейдеры
>Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc
nvcc сам построен на LLVM, что, правда, не отменяет его кривости.
К тому же никто не запрещает использовать PTX бэкенд шланга с libc++. Ну и куду тоже надо уметь готовить: не хуячить мегакернели и оптимизировать.
есть ли удобная альтернатива исключениям?
К примеру у меня в коде много мест, где могут возникнуть ошибки.
Я хочу просто создать класс
class ErrorMessage(string message) {
cout << message ...
return -1};
и бросать его в main()
Так сойдет? или это уже моветон?
блоков try... catch в main у меня будет несколько (один для инициализации объектов и так далее...)
std::expected
https://en.cppreference.com/w/cpp/utility/expected
Посмотри только про него статьи, там очень сомнительные результаты по перформансу для happy path.
Ну и советую глянуть какие-нибудь лекции по различию ошибок и статусов. Для первых кинуть исключение нормальная практика, для вторых нет.
> у меня в коде много мест, где могут возникнуть ошибки
Вот по этой причине и соснёшь, а уж чем обмажешься для отлова не важно. Надо локально всё обрабатывать на низком уровне, уменьшая количество мест в коде, которые могут сломаться, а не просто прокидывать ошибку наверх, в надежде что что-то обработает её. Прокидывание наверх ошибок значит что в случае возникновения ты будешь рестартить кусок когда с ошибкой, но это хуйня полная, лучше чекать до момента где может что-то пойти не так, а не последствия поломки фиксить.