>>3410643 (OP) >>3410651 Указатель в память указывает, а не на тип, долбоебина безмозглая. Не говоря уже о том что это к плюсам не имеет отношения, в си тред с этим иди пусть тебе напихают хуев.
>>3412558 Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен. Это просто не практично. Представь себе, что бекенд компилируется час. А куда ещё? Программировать роботов на ROS2? Ты сам не пойдёшь. Бот для торговли опционами/криптой? Создание игр?
В теории конечно, ROS2 мог бы стать альтернативой эмбеддед и RTOS'у, но там как в раше нихуя нет, ни стартапов ориентированных на роботов, нихуя. То в итоге и остаётся один эмбеддед.
>>3412619 Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль. Я понимаю что макакам эти вещи знать не интересно, у них в мирке и джава не тормозит и на пистоне нейросети пишут, но ием не менее
>>3412619 Грустно( Устроился на первую работу qt макакой, паралельно с уником, уже пол года как. (случайно залетел вобще) Для меня студента зп 100к это славно, да и задачи прям халявные, можно хоть пол дня хуи пинать и за пару часов таску закрывать. Но вобще не понимаю куда дальше в этой области двигаться
Развиваться в qt и десктопе? - звучит как парашная идея, включая то что десктоп мертв, тем более на плюсах писать его это ад Углубляться в предметной области над которой сейчас работаю? - сейчас глянул на хх.ру буквально ноль вакансий с требованиями по ней (мбы мы единственные в рф кто это делает вобще) Геймдев + комп графика? - две вакансии на рф, с тясячами откликов от челов с горящими глазами Нейросетки? - там как будто плюсов вобще нет, а если и есть это больше ресерч
В других сферах плюсов как будто и нет, как будто из вариантов только по вечерам в веб\мобилки вкатываться когда прочитал что у анона выше после пол года зп 200к+, немного всплакнул
>>3412640 > Библиотеки Половина опенсорсная, другая уже давно написано другими. В итоге из вариантов: - искать ту единственную кампанию кто этим занимается - жить на донаты с опенсорса (это вобще реально?) - переписывать существующие (и сразу на раст еще хехе)
>>3412653 Плюсы (компилируемые языки) нужны везде где нужно SDK. Считаей, что везде, кроме самых примитивных кейсов. Есть либа, что обрабатывать фотки например. Есть клиенты на андроиде, вебе, айоси, десктопе. Можно имплементировать логику либы на каждой платформе отдельно, создав 5 разных решений каждое со своими багами. Или можно написать один раз на компилируемом языке, скомпилировать под нужную платформу, покинуть через адаптера вызовы и вуаля.
>>3412640 >Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах, обернутые в пистон/пхп/etc модуль. Ну начинается блять... Я не говорю про какие-то отдельные периодические проекты на с++. Естественно, так можно и lua приплести. Ну а чо, можно же и на lua плагины писать. Я говорю про постоянный источник заработка. Не то что ты пару раз стрельнул заказ на какой-то плагин, 500 рублей получил и хуй сосёшь. Базы данных? Ну можно. Сам-то ты сколько баз данных разработал? Сколько миллионов на этом наварил?
>>3412653 Бля чувак не знаю. Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Весь смысл с++ это программировать микроконтроллеры. Либо углубляться в финансовую сферу, в high frequency trading и там получать сверх доходы.
>>3412664 Как-то бредово звучит. 1) Почему на питухоне или жабке надо имплементировать логику отдельно для каждого девайса? Всегда считалось это фичей скриптовых байткодных. 2) Что ты вообще собрался не дергать специфичное апи на платформе? Не получится.
>>3412558 Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс. Они там даже зп предлагают. Единственная загвоздка в том что эта вакансия не для тебя нихуя, а скиллового чела отучившегося в европах и штатах, ну или в наших мфти шадах, тогда мб они дадут тебе по верху этой вилки. Еще они предлагают низ вилки как видишь, это цена для всяких госушных горе эмбедщиков, но которые могут быть внезапно ахуенно ебанутыми задротами после лет 10 веслания в госушных говнетах, им они заплатят баснословные 250. В общем вакансия есть, чето даже предлагают, но нахуя это людям которые привыкли пылится в госухе, ковыряться в чем им нравится и когда им нравится или условному споротовичку олимпиаднику который сходу прыгает в хфт стартап и лутает х10 яндексоидных вилок?
@ ПЫТАЕШЬСЯ СДЕЛАТЬ ПРАВИЛЬНО @ НЕ ПОЛУЧАЕТСЯ @ ДА ПОШЛО ВСЁ НАХУЙ @ ПЕРЕДАЕШЬ УКАЗАТЕЛЬ КАК ЧИСЛО ВО ФРОНТ ИЗ ЛИБЫ @ ВО ФРОНТЕ В НУЖНЫЙ МОМЕНТ УКАЗАТЕЛЬ ПЕРЕДАЕТСЯ КАК АРГУМЕНТ ФУНКЦИИ ЛИБЫ @ ТЕСТИРУЕШЬ @ ОНО ЖИВОЕ @ ОТКРЫВАЕШЬ БУТЫЛКУ ВИНА @ РЕЛИЗ ГОТОВ
>>3412558 > Есть ли какое то будущее и плюсового разраба в рф? > что то кроме qt и эмбедед макакой стать А чем тебе qt не нравится? По мне так лучше кутемакака, чем бустомакака. >>3412619 > Ты уже сам ответил на свой вопрос. С++ в вебе? Кому он нахуй нужен. Есть и c++ в вебе. И на мобилках. Вообще универсальная штука
>>3412687 Что такое бустомакака? Если кутешная макака это попильный говнет для цифрового гулага, гойслуг и зетников. То бустомакака че такое? Звучит как сервер сайд и асинхронщина, это уже ахуенная специализация и карьера идти писать CDN, а не пылить штаны в мертвой десктопщине в рф и терпеть попилы с которых тебе достается сотыжка и пожизненный бан на перекат на нормальный рынок.
Есть вебасембли, но честно говоря я так и не понял в чом прикол. Он наверное где то там есть, смысл всмысле, но мне кажется это очередная хуйня пришла в голову кому то, и раз это еще никем не сделано то надо сделать. Ну ЧИСТО шоб було, а то вдруг чо
>>3412687 >Есть и c++ в вебе. И на мобилках. Вообще универсальная штука Чё прям весь бекенд? Как уже выше писали - для сжатия картинок возможно. Или под webassembly, а-ля figma - пойдёт. Но шоб прям весь бекенд - это будет лютый пиздец, который будет собираться целую вечность.
>>3412558 >Есть ли какое то будущее и плюсового разраба в рф?
Нет. В принципе учить С++ в 2026 году имхо смысла никакого нет, если ты в России живешь и НЕ хочешь работать в оборонке. Очень много интересных и хорошо оплачиваемых плюсовых проектов позакрывалось и/или уехало за рубеж. Я в 2020-2021 годах мониторил рынок и у нас было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще, но сейчас этого ничего нет, прям тухляк полный. Сейчас С++ это некоторые проекты в Яндексе, много всякого инфобеза тухлого, в том числе под винду, где надо легаси поддерживать, некоторое количество вакансий связанных с видеонаблюдением и сетями, но это тоже околоинфобез или безопасность так или иначе, либо оборонка и госуха, в том числе проекты для силовиков.
В крупном бигтехе aka Яндекс, VK, Сбер, Авито, Озон доля С++ с каждым годом становится все меньше и меньше. Даже в Яндексе от него постоянно отказываются в пользу Go, Питона и Джавы. Конечно же какие-то редкие вещи вроде движков СУБД вроде YDB в Яндексе до сих пор на С++ пишут и будут писать, но это очень редкая работа и туда с улицы просто так не зайдешь даже стажером.
>>3412640 >Обработкой картинок, базами данных, прочими нейросеткамими занимаются приложения либо библотеки на си/плюсах Это все очень малые доли рынка. Если ты прямо сейчас не занимаешься ковырянием субд, компиляторов или opencv, то оно тебе и не нужно. Это не то, чтобы было сильно сложно для чела с высшим образованием, просто туда ты не вкатишься сейчас в России. И работу сменить это тот еще гемор. Разработчиков субд и компиляторов надо несколько сотен на весь мир, это очень редкая работа и при она не оплачивается сильно лучше бекенд макак.
Чтобы туда вкатиться желательно учиться в хорошем универе в США и посещать курсы по типу тех, которые в CMU идут по базам данных. Тогда может и возьмут стажером в Оракл поддерживать их 40 летнее легаси
>>3412680 >Есть. Есть и роботы и бэкэнд и поиск. Но проблема в том что это все яндекс
За пределами роботов и узких мест поиска/рекламы доля С++ постепенно сокращается. Бекенд на С++ в Яндексе, прям вот чтобы массово, это наверное только в Такси есть. Там для этого вся инфраструктура в виде userver и обвязок для него есть. Вне Такси от С++ на бекенде плюются очень многие.
В Облаке, Кинопоиске, Музыке, Финтехе, Маркете, Еде, Лавке на С++ пишут сейчас очень редко, как правило штучные вещи вроде роботов, где на всю службу одна вакансия иногда появляется. В остальном там везде нынче Java/Go/Python.
Эмбеддед это как раз макаки в 90% случаях. Какой-то тяжелой умственной работы там нет, сложных алгоритмов тоже. Ебешься с даташитами, читаешь документацию от производителя, читаешь данные из одного порта/пина, пишешь в другой, двигаешь туда-сюда байты. Разумеется иногда приходится дебажить сложные вещи, находить баги в самом хардваре, погружаться в ЦОС и ТАУ, но это редкость и этим очень мало кто занимается.
>>3412696 >было много вакансий на хх.ру от всяких там иностранных конторок, которые делали 3D движки для CAD/CAM систем, были вакансии от NVidia, были вакансии Интела, были вакансии от Automotive контор, которые работали на атусорс, были вакансии от американских производителей ГИС, много чего было еще Заткнись сука уёбок пидорасина! Зачем ты меня расстраиваешь, чтобы я злился? Да? Ты этого хочешь? Хочешь чтобы я расстроился? Ну вот смотри, ты этого добился, поздравляю!
>>3412704 Хе-хе. Я уже давно смирился, что айти тут ВСЕ. Либо мутная госуха, либо российский бигтех за лоупрайс. Такой сытости, которая была тут хотя бы в 2019 году, нам еще долго не видеть, а вероятнее всего никогда и не увидим.
Кстати, нвидия кун больше не заходит сюда? Нвидия его в Швейцарию вывезла кстати. И у меня другой знакомый был, учился на 1 курсе магистратуры ВМК МГУ, делал какие-то нейросети в нашем офисе нвидии, в итоге как гойда началась, его в офисе 2022 года вывезли в Армению, а через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел.
>>3412699 Пишут, все они пишут. Хватит пиздеть. На новых стандартах нет причин не писать. Просто от тебя кривожопа они скрывают чтоб ты к ним не лез.
Ладно, а если серьезно. То я вакансий 50 нашел только от самого яндекса. Это весь тред можно трудоустроить двачной отдел. Но как я и сказал это яндекс. Там менеджмент с козой ходит, а сам ты делать ку должен за лоу прайс клоуном у пидорасов, а до пидораса тебе дорасти не дадут. Скажут не дорос еще.
>>3412707 >Нвидия его в Швейцарию вывезла кстати. >через полгода в Швейцарию перевезли. Вот так тоже бывает по жизни. Кто успел, тот успел. Ну блять, зато я живу в Балаково! Швейцарии до нашего рая ещё развиваться и развиваться! Так что завидуйте молча неудачники!
Всех приветствую. Хотел бы спросить кое-что про стандарты языка. Например: 1)Мне на собеседовании задали вопрос "Как у вас со стандартами?" Что я должен ответить? Они имеют ввиду, что условно проект пишется на С11 и чтобы я в случае чего не использовал фичи других страндартов (С17 и выше), дабы не было проблем с совместимостью? Или тут больше вопрос к компилятору, который они используют и опять же совместимости различных компиляторов и стандартов? 2) Какой основной источник, cppreference.com? Я вот открыл, в целом там информация очень лаконичная.Это и есть основной источник или еще другие существуют?
>>3413336 Потому что это база собеседование вайти и персональная шиза собеседующих. Люди развлекаются как хотят, делают че хотят, собеседование это же не экзамен, и по моему опыту большая их часть предрешена уже до начала неважно че там у тебя спрашивают (это не относится к систематическому подходу к найму из всяких фаангов где у них очереди и масштабы).
Ну а так я тебе поясню что человек хотел от тебя. Он просто прощупал твой уровень экспертизы. Сами плюсы по себе уже довольно большой домен и без всякой прикладной области. Так что собеседующий просто выяснил для себя твой уровень экспертности и насколько ты задр. Кстати говоря тему надо понимать хотя бы вскользь все же, если ты совсем чето невнятное пропукал то это будет грустно. Но по твоим вопросам видно что ты стажер какой-нибудь или студент, ну хз, да я бы тебя таким ебать не стал
>>3413395 Надо кабанов ебать налоговой без смазки, просовывать в анус невидимую руку государства или отбирать все субсидии. У нас в стране вроде как 70лет была система отбора кадров, в том числе квалифицированных, нет надо придумать какую то HR-хуйню с тупорылыми профнепригодными манагерами.
>>3413859 страуструп к сожалению не для того, что бы понять как языком пользоваться, а это больше какие-то нюансы языка. Лучше начинать со всякой шизохуйни типа чистого кода и прочего дерьмеца, солида-хуелида, а потом уже почитать страуструпа.
>>3413886 > Что происходит, когда мы вставляем символ в середину текста в текстовом файле? Все байты следующие за этим символом смещаются вправо? Конечно. Разве еще какие то варианты есть?
>>3410643 (OP) Аноны, есть ли годные сайты для постепенного вката в спп? Я не кодер, но знание плюсов может очень пригодиться в работе. Пробовал давно еще вкатываться в свободное время по каким то книгам и сайтам всяким, но потом возникали более приоритетные дела и приходилось забрасывать. При этом время от времени приходится писать что то на пайтоне, в основном говно скрипты. Еще пугает что плюсы постоянно обновляются, что то новое выходит. И помню что в последний раз что то решил сделать и заебался с cmake и это тоже подорвало мою мораль. Кстати пишу код в блокноте, ради cmake устанавливал какое то говно от майкрософта, толку от него было мало, в общем очень заёбно всё было.
>>3414020 > Аноны, есть ли годные сайты для постепенного вката в спп? https://ravesli.com/uroki-cpp/ - для самых маленьких, для просмотра нужен зарубежный прокси. Лекции Мещерина на ютубе - более продвинутый уровень.
> может очень пригодиться в работе А зачем плюсы, пайтона не будет достаточно?
>Еще пугает что плюсы постоянно обновляются Это не проблема, обновления не прям чтобы революционные, обратная совместимость поддерживается, 11 стандарта должно хватать, а на новых стандартах пишут только на совсем новых проектах.
> заебался с cmake Да, это та еще залупа, сам с ней не до конца разобрался. А зачем тебе, ты под linux пишешь?
>Кстати пишу код в блокноте Если у тебя винда, не страдай хуйней и поставь Visual Studio. Она заменяет и блокнот, и cmake.
>>3414074 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
>>3414074 Когда пишешь симейк проект приходится каждый чих гуглить, я вот недавно писал сборку gettext файлов через модуль все как положено, а он выдавал структуру файлов не ту которую нужно мучился мучился пока в каком то обсуждении не наткнулся на сообщение где мужик говорит что find_package(Gettext) - устаревший кусок легаси говна, не используйте его функции используйте его только для детекта программ в системе.
Я в итоге решил не использовать вообще и просто написал функцию которая детектит нужные программы вроде msgfmt и xgettext (какие же уродливые функции в симейк это просто пиздец) ну и написал таргет с командами для обработки языковых файлов и установки их в целевую папку с переименованием
>>3414082 я в неовиме использую neocmakelsp и у меня автодополнение цимейка с документацией Для таких стандартных вещей как gettext в cmake уже готовые команды есть find_package это стандартный способ для менее стандартных либ чем gettext или sdl2
>>3414065 В тот раз cmake нужен был чтобы подцепить какую то библиотеку. Пайтона не всегда достаточно особенно для уже написанного кода и приходится вникать в cpp и vba, да и в целом знание плюсов это огромный плюс. Пока останавлюсь на видосах с ютуба. Cпасибо
>>3414229 Нахуя? Для твоих админских задач по поддержке легаси говна хватит с головой неронки, заплати 20 долларов за о1 и сиди кайфуй не разбираясь в килотонне придуманного задротами бесполезного говна
.pot файлы могут быть разных форматов и msgfmt надо для каждого формата его явно указывать (xml/desktop), но симейк функция этого тоже не умеет, как и сказали это устаревшие легаси затычки для совместимости со старыми проектами. Сам модуль нужен теперь просто для того что бы детектить есть вообще в системе нужный пакет с программами.
Я написал свой детект программы, потому что мне нужна была еще другая утилита.
>>3414240 Знания спп открывает больше профессиональных перспектив. Нейронки запрещены на работе. Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей. В одном чате ради прикола попросили нейронки решить олимпиадные задачки чуть ли не 7 или 8 класса и в лучшем случае это было численное решение.
>>3414251 Нет никаких перспектив. Тебе привиделось или тебе это внушили. Я даже не представляю в каком месте и кто будет с админом обсуждать плюсы, наверное только такой же шизофреник как и ты
Задачку за 7 и 8 класс не решит даже профессор или сам автор если забудет свое условие которое он придумал под говняком. Ты не понимаешь назначение нейросетей. Это прикладной инструмент для бизнеса, а не сфинкс
>>3414313 >Ты описываешь еботню с гнутым геттекстом Я описываю еботню с симейком и его пакетами/библиотеками, поскольку симейк это не башскрипт и не мейкскрипт, там зачастую нельзя просто взять и подставить какие то вызовы командной строки и подставлять линковщику какие то опции. Там надо делать все по особому по симейковски, это вызывает трудности а еще там синтаксис лютое говно, особенно все что связано с функциями и переменными, это просто ужас блять.
>>3414356 Петух ты уже с геттекстом обосрался, тебе мало хуев напихали что ли? Нахуя ты пытаешься доказывать что то в области в которой нихуя не понимаешь, ты даун?
>>3414367 Хуезависимый, спокнись. С симейком все впорядке. Все равно ты без него никуда, это лучше чем всякое непортабельное говно вроде башскриптов в проект тащить.
Лучше чем ничего это вообще принцип по которому существует этот обоссаный обосранный сипипи. Лучше дерьма навернуть чем тебе сломали колени, лучше постучаться головой о стену чем навернуть пятилитровочку мочи. По таким принципам и живут эти парашники
>>3414371 Я прекрасно знаю симейк потому что его каждый день использую, он забрал очень много крови нерва и пота (и продолжает тратить) и поэтому я не молюсь на него, в нем буквально все сделано плохо. Всё. Едиинственный его плюс это то что он работает выполняет свои функции на 100% и мучения таким образом окупает. Но дрочить на него и петь ему дефирамбы будет только сказочный дегенерат который сам нихуя не пишет только пиздит.
>>3414386 Дифирамбы можно петь только за то что он распостранен и кгда я скачиваю искодники на цпп там скорее всего есть что-то-Config.cmake Поэтому я доволен. А если я в scons какой-нибудь то мне придется учить scons + cmake Это я не тебе а тем кого ты агитируешь против cmake, как будто есть альтернатива.
>>3414382 >По таким принципам и живут эти парашники Так аналоговнет до сих пор. Зачастую при критике цпп происходит подмена сложности языка на сложность предметной области. Это не цпп такой специально создан, он адаптирован под области в которых используется, а так же под некоторый перечень ключевых идей(зирокост и т.д). Он не виноват, что все области, где он используются обмазаны говном и сложностью. Вот взять те же строки, какую из реализаций нужно добавлять в стандарт? У строк десятки типов и реализаций со своими приколами и плюшками, не будешь же каждую из реализаций в язык тащить. Задача цпп - это дать минимально достаточный и мощный язык для написания своих велосипедов под задачу. Особенно я не понимаю претензий к новым стандартам цпп, если на си с классами не писать, то это вообще сказка.
>>3414396 Хватит пиздеть хуйню. Посмотри на планы что вообще собирается делать комитет сейчас: нормальные корутины, экзекуторы, сеть. Даже текущую сраную строчку в стандарт принимали миллиард лет, работа с файловой системой только к 17 появилась. Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык? Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками. Пока стауструпы будут с горящей сракой бежать и дефать эту хуйню от американской госухи чтобы ему придумали за него как это все воскресить и вернуть в продуктовую разработку
>>3414418 >Что ты мне тут еще будешь втирать про реализации которые надо добавлять и минимальный мощный язык Так в чем пиздеж, если даже без охуительно полезных фич, которые не успели занести, на этом языке написан весь мир и продолжает писаться, и в том числе авангард технологии (ИИ)? Это ли не доказательство, что база у языка мощная и позволяюющая сделать что угодно?
>Он пустой и не развивается и не развился в том темпе котором он нужен, поэтому и пошел нахуй и он неизбежно будет идти постепенно нахуй и вытесняться другими языками. Нихуя Коуп. Растотрун, ты?
>>3414393 > за то что он распостранен какая заслуга cmake в этом? если все начнут собираться питон скриптами будешь перед питон вытанцевывать какой он классный
>>3414428 Весь мир написан на джаве и сишке. Плюсы тоже есть, но все от них отказываются, весь бигтех ушел от плюсового кода. А пиздеж в том что это минимальный язык для строительства своих "эффективных" лисапедов. Нет, это не так. А если б было так, то нахуя развивать его в сторону фич которых требует продакшн? Все же все равно пишут свои реализации
>>3414377 симейк это не билдсистема, сколько можно повторять вам ебанутым? Как ты собрался зигой те же языковые файлы собирать? А точнее даже не собирать а создлавать сценарий сборки с кэшированием и мониторингом изменений в файлах.
Костыльные пре-билд скрипты которые предлгается писать на зиге.пидорасте это даже не смешно. Сборочная система зига и пидораста это замена аутомейк + статичный конфиг проекта, это подражательство ноде-пипу которое в системных языках не работает, не состоят приложения из одного только кода программы.
>>3414182 О, вспомнил. Собирал как-то чужой проект сделаный под Conan, вот эта тема удобная, красивый сайт где можно посмотреть все либы, сами либы обновляются. А потом полез в этот vcpkg, говно какое-то, сайта нет, либы протухшее говно сколько-то лет давности, заброшенное запустение.
>>3414448 >Как ты собрался зигой те же языковые файлы собирать? Никак, для этого должен отдельный скрипт быть. Зачем месить комбайн из говна и палок? Ну можно еще функцию управления кофеваркой добавить, а хули нет?
Какую книжку читали последнюю интересную? Хочется чето про новый 20-23 стандарт и желательно какую-нибудь прикладуху вроде сетей, многопоточки, оптимизаций.
Прочитал недавно C++ High Performance, сука пиздец еще хочу подобного, там про 20 стандарт и всякие фишечки, рикаминдую
>>3413395 >понимать хотя бы вскользь все же да что конкретно то понимать? без воды можешь пример привести понятно что прощупывал, это же собеседование какие-то очевидные абстрактные тейки прогнал
>>3414676 Где ты тут абстракции увидел? Это самое что ни на есть прикладное понимание для написания корректного кода. Если ты никогда про уб не слышал ничего, как ты собрался код без уб писать? Ну ладно ты свои лабы ковыряешь, а если ты проект пишешь за деньги, потом ты съебешь, кто твою срань которая в хуй знает какой момент падает будет дебажить? Тебя потом найдем и под шантажом позора перед новыми коллегами пойдешь отлавливать
>>3410643 (OP) void ⚹ это не указатель на хтоническую пустоту как показано на рисунке, это наоборот сущность, которой открыты все дороги, она может стать кем угодно. А вот есть тип данных void, с которым нельзя создать перменную, но который может быть типом возвращаемого значения функций, это реальная пустота.
>>3414448 >build.zig Ебал в рот это говно, там просто киломитеровый в плане LoC получается файл, нахуя это если можно просто на CMake было делать? >замена аутомейк Автомейк - это плагин, пчел, такой системы как автомейк не существует, ты не шаришь.
>>3414251 > Нейронки запрещены на работе. Не повезло. Надеюсь хоть Интернет разрешен. > Современные нейронки такое себе, часто галлюцинируют, ошибаются, не видят каких то очевидных вещей. Ага, а искать 2 часа ответ на стэковерфлоу, который также может быть ошибочным это гораздо лучше.
>>3414418 > абота с файловой системой только к 17 появилась Спорное конечно решение, я хоть и пользуюсь, но быстрее нативного решения в виде API операционной системы ничего нет. А ты же долбоеб, и при сипипи ничего не знаешь. Работа с файловой системой уже была много леи в виде разных библиотек, boost в том числе. То есть решения тестируют на boost, если оно прошло проверку временем переводят в стандарт. Ты же чучело вообще нихуя не знаешь
И все бы ничего но нужен еще autoconf что бы генерировать env переменные и еще дюжина программ для всякой остальной хуйни и все равно будет чего то нехватать. Симейк куда как более всратый и сложный, но если ты его одолел он тебя наградит отсутствием лишних говен в папках, чистенькими настраиваемыми логами, кросс-платформенной сборкой, в целом грамотной линковкой/сборкой.
Есть вроде как мизон который делает синтаксис примерно как в аmake/qmake но на питоне и с генерацией в симейк, но его надо через пипку устанавливать, хотя конечно если проект требует наличие питона то не вижу препятствий неиспользовать лучше его.
>>3415083 Пизжу в интернете что 500к наносек, а на самом деле не работаю, мне сестра просрочку из пятерочки привозит ну и на ее бонусы в маркете всякую хуйню покупаю. Чайник, кроссовки, батарейки, конденсаторы.
>>3415083 Авионика. В всж сфера в плачевном состоянии, но деньги платят в некоторых местах. Куда перекатываться, как упрусь в потолок по сотыгам, пока хуй знает.
>>3415421 Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался? Конечно есть аномальные вакухи, где готовы платить именно за конкретного человека с конкретной экспертизой, но не думаю что такое разумно вписывать в среднюю статистику. Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки, а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая
>>3415430 >Так в кодописании везде есть непреодолимый потолок, куда ты перекатываться собрался? Очевидное лидство. Ну или что блоее органично в контексте обсуждаемой сферы начальник. Ну и потолок это сотыги 4, да? На жизнь должно хватить. Но это в текущей конторе маловероятно, поэтому вопрос в том, куда крестомакака вообще податься ещё может. >Интересно даже сколько у тебя, мне кажется ты получаешь так же как и веб макаки У меня среди знакомых только один фронтендер и получаю я раза в 2 больше. Ну и в целом выше веб-макаки дефолтной. > а ответственности, профпригодности и ебаний головы в бесконечность больше. Такая вот реальность плюсовая >Это больше в голове у тебя всё, чем в реальности. Я после универчика с кайфом залетел.
>>3414955 >projectname_SOURCE >projectname_HEADERS поубивал бы нахуй за эту гениальную идею с суффиксами) и префиксами)) это же пиздец удобно парсить имя переменной и не дай бог тебе где то опечататься ща вспомнил как выглядел автомейк проект на два десятка таргетов аж хуево стало
>>3415436 У джава мидла в бигтехе вилка 200-300к, у сени 300к и в зависимости от проекта, как правило бывает 370к-400к, но есть и такие кто и до 500к добивает. Всякие техлиды и крутые спецы на 17 грейдах и по 700к получают, предела нет. Но это все домены не связанные с железками. За железки в рф никто никогда денег не заплатит, потому что это наружу не продается и существует только на внутренние дотации. Так что как тебе заработать денег? Поучаствовать в распиле, начальником только да. Наверное если ты еще мидл+, то возможно не поздно поменять домен и идти грести в бизнес, скорее всего не на плюсах, потому что мне кажется ты получаешь все же меньше веб макак
Посоветуйте приличный туториал по симейку, надо восполнить пробел в знаниях, а на рутрекере только книжка на 500 с лишним страниц, я ее конечно прочитаю, но не сейчас
>>3410643 (OP) неиронично ощутил тревогу и чувство собственной ничтожности и непознаваемости мира, когда первый раз открыл файл на си и прочёт слово void
>>3415659 И нет ни одной бизнесовой. Все это говноинтеграторы, кутешные заводчане и прочие несчастные. Наверно потому они все и делают говно потому что на плюсах все пишут лол. Типа логика такая, если уж нам все равно денег не платят, то давайте хоть в редакторе себя развлекать говном всяким
>>3415898 >строят же мс21, суперджет, ту214, ил96 (не уверен) Первые два серийно так и не начали производиться. Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать и перевозить пассажиров. Мс21 тоже. Ту214 и ил96 производятся очень ограниченными сериями, буквально по 1-3 самолета в год.
>>3416114 >Суперджет производился одно время, но на иностранных компонентах. Superjet new так и не начал летать Там уже около 20 почти готовых бортов Superjet New стоит без двигателей, ждут когда двигатель будет готов. Двигатель уже доделали, вроде на прошлой неделе был первый полет с ПД-8. У импортозамещенного МС-21 в этом году первый полет, со следующего года серия.
>>3416114 >не начали производиться А как это связано? Работа-то идёт. Тебе авионику на земле писать надо, а не в воздухе.
Я в 2017 году был на собесе недалеко метро аэропорт в конторе, которая софт для иркута писала. ПРоизвели впечатление неплохое. КОллектив молодой. Но выглядело всё очень скромно. Я тогда 80 или 70 запросил. Но я очень скромный был. МОжет, можно было и больше. Там начальник прям выдохнул, когда я цифру сказал. И неприятно потом добавил: да-да, вам нужно работать и учиться, чтобы не быть низкооплачиваемым специалистом, что-то вроде такого. В общем офер мне дали сразу. Но я не прниял.
анонсы часто ли вы используете SIMD функционал для распараллеливания на уровне данных? я к тому спрашиваю, что стоит мне сильно углубляться в эту тему или сразу к CUDA переходить. буду благодарен любому совету, наставлениям
>>3416162 >анонсы часто ли вы используете SIMD функционал для распараллеливания на уровне данных? В смысле интринсики? Смысла нет особого, только для каких-то отдельных алгоритмов, где скорость прямо очень важна. Сейчас компиляторы и так векторизуют неплохо. Для трехмерки, например, можно float4 делать (причем желательно отдельно стековую версию с выравниванием по 16 байт). Но это неправильный путь, правильный поперек считать, а не вдоль, т.е. не XYZ в одном регистре держать, а по компоненту в отдельных регистрах для нескольких векторов. Т.е. что-то вроде питоновского numpy использовать. Или сразу OpenCL, SYCL. CUDA, кроме очевидного вендор-лока, плоха тем, что сейчас даблы есть только на некоторых топовых ускорителях. На рядовых видюшках даблы могут в 64 раза медленнее считаться. Для многих научных расчетов нужны именно даблы, и их сейчас быстрее на CPU считать.
>>3416188 Дата-инженеры всегда так пишут, у них и однобуквенные переменные с циферками, и копипаст вместо написания функций и циклов, да и весь код выглядит так, будто переписали бумажку с расчётами на питоне. Они же и в питон пришли из экселя и матлаба.
>>3416181 >Сейчас компиляторы и так векторизуют неплохо. Очень ограничено. У компиляторе нет информации о размере массивов и выровненности данных. Он даже не может доказать что два массива не указывают на одно и то же. Нужно как минимум делать ему подсказки, а как максимум делать профилировку и переписывать циклы в линейную обработку, ну и в конечном итоге просто расчехлить интринсики, написать реализации для SSE AVX AVX2 NEON и завернуть это все в динамическое определения набора инструкций у машины пользователя (как у ffmpeg и 7zip), потому что компилятор принципиально не будет использовать все имеющиеся наборы инструкций так как они не будут работать на всех имеющихся x86_64, можно его заставить но тогда если ты будешь сам этим пользоваться, либо тогда придется собирать разные бинарии под sse avx и generic
>>3415531 > потому что мне кажется ты получаешь все же меньше веб макак Удовлетворяя твой интерес: где-то в районе 200к, чуть меньше. Ну я и не мидл+ никакой. Опыта чуть меньше 2 лет. Так что я хотел бы дальше веслать на стрёмной поделке бьёрни. Но из всж компаний я хз дальше где можно вырости до бешеных сотыг. На ум только двагис и яндекс приходят.
>>3416577 Кстати, у GCC и clang есть расширение для векторизации, можно вообще без интринсиков делать, и оно будет целиком через регистр передаваться: https://godbolt.org/z/64vo7e64q
>>3416699 Он давно простые циклы векторизует. Вот, например сумма массивов с размером кратным 8. https://godbolt.org/z/eM9soTj9K Если убрать кратность 8, то добавятся куски, где добирается некратный остаток. Если убрать restrict - добавится проверка на алиасинг.
>>3416763 Тоже векторизует, также считает кусками по 8, потом добирает одиночными: https://godbolt.org/z/a695f5bcP По восемь - это оптимизация под AVX, где 256 битные регистры. Там это будет одно чтение и фьюз двух 128-битных операций, а для старых архитектур ничего не изменится.
>>3412664 >либа обрабатывать фотки зачем когда потные ебанашки с очками-линзами делают все это бесплатно ну либо за подачки от корпораций в лучшем случае? и это еще хорошо потому что еще не до всех дошло что шлюхе показывающей пизду на вебкаме, необязательно платить
>>3416979 Не удивительно, сделать CUDA можно было только люто ненавидя кресты и специально делая всё как можно недружелюбнее и кривее. nvcc вообще литералли единственный компилятор, умеющий ловить сегфолты при компиляции кода, настолько это кривое поделие.
какой подход лучше для такого примера? (это OpenCL либа) 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 ... // ... }; вообщем храню все эти объекты на стеке, все правильно делаю? да, я понимаю что сам класс получается раздутый...
Вообщем если объект "небольшой" и практически не меняется лучше на стеке держать?
>>3416577 Это не более менее это тупо самое примитивное что можно придумать, тут не нужны даже сложные алкгоритмы в компиляторе что бы заменить пачку перемножаемых флоатов в вектор. Пишешь цикл перемножающий байты или шорты и даже умный компилятор умеющий разворачивать циклы чтоб запихать элементы массива в вектор, не может без подсказок определить можно ли применять вышеописанное так как неизвестно ни количество итераций/элементов массива ни порядок обращения, может ведь быть и так что второй массив это тот же самый массив с некоторым смещением, компилятор не может такие случаи игнорировать иначе код будет нерабочим.
Я уж не говорю о том что твой пример вообще не нуждается в векторизации, скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры что бы что-то сделать, ну правда у тебя в примере это делается просто для распечатки, а так все функции с векторами работают.
>>3419915 Лучше на стеке, но может возникнуть проблемка с инициализацией При вызове конструктора MyClass конутрукторы cl::Device, cl::Context и тд будут тоже вызваны, если тебе по какой то причине необходимо чтобы они инициализировались позже, то придется использовать std::unique_ptr не только его конечно можно
>>3419931 >скалярные операции они всяко дешевле, в двойне глупость когда ты складываешь вектор а потом достаешь оттуда значения на обычные регистры Арифметические операции над числами с плавающей точкой всегда работают на векторных регистрах, если у тебя не древний x87. Одно, четыре или восемь чисел - разницы нет - они будут одинаково быстро выполняться. Да и вытащить элемент из векторного регистра всяко быстрее чем, например, лезть в память, куда-нибудь на стек, даже кешированный.
>>3419931 Чел, ты асм вообще читать умеешь? В первом варианте clang 3.1 пары флоатов распаковывает в регистры, потом считает их поодиночке, потом упаковывает обратно в пары для возврата, получается сложение двух F4 - это больше 10 команд. Во втором варианте, где современный clang - он сразу считает парами, т.е. сложение двух F4 получается за две операции - сначала сложение XY, потом ZW.
>>3420335 >В первом варианте clang 3.1 пары флоатов распаковывает в регистры Ты сам то его понимаешь его шизик? Я может родной X86 ассемблер и с натугой понимаю, но блять упакованые то команды как можно не узнать? Они мало того что риск-подобные, что сразу бросается в глаза, так они еще и плюс минус у всех с похожими патернами, тыкни в любую команду я скажу что она делает не заглядываая в доку.
>>3420428 Пиздец, конечно, как доска скатилась. >но блять упакованые то команды как можно не узнать? То, что там векторные операции в асме, не означает, что компилятор реально вектора умножает. Если ты тупорогий такой, возьми листик, распиши себе построчно, что там происходит. Что приходит в функцию, что возвращается. И главное, что именно там четыре умножения делают.
>>3420025 просто паралелю вычисления на GPU используя разные либы. наблюдаю онлайн как видяха стонет через nvtop (доставляет). вот начал с OpenCL, затем попорбую SYCL и CUDA
еще хотел попробовать вычисления на несколько GPU распаралелить, но встроеную AMD карту OpenCL не видит... думаю может как то на виртуалку прокинуть, но чувствую бред получиться
>>3420512 Хули ты тут сидишь вообще, даун? Это для программистов доска, не для развозчиков пиццы. Еще ведь хуйню несет с таким самомнением, мокрица ебаная. Надеюсь, мудофел, ты ко мне на собес попадешь когда-нибудь.
>>3420524 По производительности сейчас вплотную к куде только вулкан. Если не хочешь трогать кожаный высер, то только вулкан, но в нём бойлерплейта очень много для запуска твоего гпу-кода, ещё и память ручная.
>>3420718 > это проверенная информация? вы уверены в том что говорите? Да. > когда компьют пайплайны стали реально быстрыми? Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc. Куда-графы всё ещё обходят пайплайны, в основном из-за быстрых бранчей и хорошей работы с памятью, но такими темпами вулкан скоро догонит их. Мобилки бустят всё это хорошо, им нужны нейросети, а там кроме вулкана нихуя нет универсального под гпу.
>>3420738 Ну и да, по ней получается что cuda больше неактуальна KHR_coopmat это я так понимаю родная вулкановская матричная библиотека для шейдерного языка. А вторая вендорная. В любом случае про куды-хуюды забываем, учим шейдеры
>>3420738 >Когда шейдеры стали собирать в LLVM, а куда всё сидит на кривущем nvcc nvcc сам построен на LLVM, что, правда, не отменяет его кривости. К тому же никто не запрещает использовать PTX бэкенд шланга с libc++. Ну и куду тоже надо уметь готовить: не хуячить мегакернели и оптимизировать.
у меня вопрос по поводу обработки ошибок в современном С++ есть ли удобная альтернатива исключениям?
К примеру у меня в коде много мест, где могут возникнуть ошибки. Я хочу просто создать класс class ErrorMessage(string message) { cout << message ... return -1}; и бросать его в main()
Так сойдет? или это уже моветон?
блоков try... catch в main у меня будет несколько (один для инициализации объектов и так далее...)
>>3421061 > у меня в коде много мест, где могут возникнуть ошибки Вот по этой причине и соснёшь, а уж чем обмажешься для отлова не важно. Надо локально всё обрабатывать на низком уровне, уменьшая количество мест в коде, которые могут сломаться, а не просто прокидывать ошибку наверх, в надежде что что-то обработает её. Прокидывание наверх ошибок значит что в случае возникновения ты будешь рестартить кусок когда с ошибкой, но это хуйня полная, лучше чекать до момента где может что-то пойти не так, а не последствия поломки фиксить.
> Аннотации времён жизни - это способ сообщить компилятору, как связаны между собой разные ссылки, чтобы он мог гарантировать безопасность памяти. Сложно, наверное, без этой хуйни?
>>3421247 Исключения придуманы не для самоподрывов, а для того чтобы на минном поле, в виде какой-то сторонней библиотеки или ввода со стороны пользователя иметь возможность вернутся хоть к какому-то состоянию стека и продолжать работать.
>>3421794 >Они и назвыаются так - исключения, потому что ситуация исключительная Это в си (алголо) подобных языках и их идейных наследниках так. Во многих других нелокальный выход из функции - чуть ли не базовая языковая конструкция. Форт с rdrop, блоки в smalltalk, ну и вся функциональщина с CPS, как пример.
>>3422792 Архитектура процессора от языка не зависит. В си нету исключений потому что в железе нету никаких локальных выходов или что ты там себе придумал, надо городить обработчик сигналов через ядро ОС. И так и во всех описанных тобой языках реализовано на уровне библиотек, включая плюсы.
>>3422870 >В си нету исключений потому что в железе нету никаких локальных выходов В си есть setjmp/longjmp, в железе есть ret, jmp. Железо про функции ничего не знает, естественно, процу все равно в какое место программы переход делать. >надо городить обработчик сигналов через ядро ОС Только под виндой, и то не уверен, что они до сих пор SEH используют для исключений. >реализовано на уровне библиотек, включая плюсы. Чего ты несешь? В плюсах, джаве, шарпы эксепшены - часть языка, их в библиотеку не вынести.
>>3422870 >нету никаких локальных выходов или что ты там себе придумал Современный харкач: человек впервые слышит термин "non local return", но сразу лезет со своим охуенно важным мнением.
>>3423258 >че? Для обработки исключения в общем случае не нужны никакие сисколы, надо пройти вверх по стеку и найти обработчик, который вызовет нужные деструкторы у всего, что на стеке лежит. Это в крестах. В какой-нибудь джаве можно тупо джамп делать, коллектор потом все соберет, что выделялось на стекфреймах. В сишке можно просто переходить на нужный адрес через longjmp, если не что-то не очистилось - сам лох.
>>3423237 >в железе есть ret вот именно что есть просто возврат. Возврат к предыдущей процедуре, никаких возвратов в какое то другое место системой команд не предусмотрено. Все маняпуляции с адресом на стеке это хакерства и UB.
Это во первых, во вторых - исключения подразумевают полную запись стека и отлов конкретного сигнала в конкретном месте программы, у тебя прерывание программы происходит внезапно что ты там собрался возвратом делать шизойд? Тебе надо стек откатить полностью.
>>3423309 В терминах Интела, прерывание - это асинхронное событие от IO, а эксепшен - синхронное событие при ошибке. Пикрил пример эксепшенов, у интела их сейчас 32 вроде. В проце при переходе в защищенный режим есть таблица обработчиков эксепшенов, куда проц прыгает при получении его. Ты же не думаешь что ядро само чекает на сегфолты/флаги каждое обращение к памяти или операцию?
>>3423343 Алсо, SEH в винде - это доступ из юзерспейса к ним, оно медленное как раз из-за костылей прокидывания в юзерспейс и создания структуры с инфой об эксепшене. При аппаратном эксепшене обычно кладётся адрес следующей инструкции на стек и переходит по адресу обработчика эксепшена в ядре. Кресты в теории умеют мапить эти эксепшены в нативные крестовые эксепшены, если ты на голом железе пишешь. И это только на х86, на других архитектурах ещё более извращённые реализации аппаратных эксепшенов есть.
>>3423382 Шизик, ты сначала объясни что ты подразумеваешь под исключениями или сходи погугли что народ под ними подразумевает, а потом приходи рассказывать про то что там было на васике подмикроконтроллеры.
>>3423395 Чел, абстрактные сигналы тебе уже ядро посылает, зачем ты вообще линукс тащишь сюда. Ещё раз - аппаратные эксепшены это не прерывания, это ошибки при выполнении инструкции. Прерывания - это асинхронные события, они никак к инструкциям не привязаны. Пикрил из мануала интела по архитектуре х86. > причем здесь "исключения" (в общепризнанном понимании)? Это и есть эксепшены в классическом смысле - при ошибке выполнения инструкции выполнение передаётся обработчику эксепшена.
>>3423413 >Это и есть эксепшены в классическом смысле - при ошибке выполнения инструкции выполнение передаётся обработчику эксепшена. >>3423382 Классика экзепшенов когда такого слова еще не было. Ебала порванных зумеров можно не представлять.
>>3423413 >Ещё раз - аппаратные эксепшены это не прерывания, это ошибки при выполнении инструкции Бля это опять ты, наркоман. По кукарекам про ядро винды можно было догадаться. съеби уже отсюда, дурачек, хватит хуйню ходить высирать, найди себе полезное занятие.
>>3423431 Спорить с шизиками это не мой профиль. Я тебе предложил пойти куда нибудь в другое место, в /hw/ например, рассказывай там что там у интела и как. Здесь про код, который ты ни читать не понимать не умеешь.
>>3423431 Чел, экзэпшен типа class HyiPizda : public std::exception {...};
throw HuiPizda - процессору, арму, интелу и даже эльбрусу похуй. Ядру ос - похуй. Тут нет никаких экхепщенов в регистре mxcsr или других, нет прерываний аппаратных. Это чисто языково-компиляторская хуйня
>>3423454 >СЛЕВА ДЕРЕВО >@ >А ДАЛЬШЕ НЕ ДЕРЕВЬЯ Раньше считали это проблема машинного интеллекта. Как наивно. Оказывается у биомусорного интеллекта те же проблемы.
>>3423431 я помню случай, когда интал высрали свои теории охуительные насчёт какой-то технологии, но, по итогу эта теория в действительности оказалась поносом индусов на практике, которая работала криво и метод выкинули в помойку просто.
как-же так интел-богов попустили, что же делать против неоспоримых...
>>3410643 (OP) аноны, почему так? как исправить? пытаюсь создать 6 точек с координатами p и r . хочу чтобы они были немного направлены под 45 градусов примерно к горизонту, поэтому решил к координатам прибавлять небольшое случайное число, а конструктор один раз сгенерировал число и при каждом запуске подставляет его. сранд как видите добавил. Point::Point(uint id) {
srand(time(NULL)); int x = (rand() % 10); p = id + x; int y = (rand() % 10); r = id + y; std::cout<< "Запустился Point("<<id<<") "<<"x = " << x << " y =" << y<<"\n"; }
Блять как уже заебали эти плюсы. Только сегодня узнал что есть такое ключевое слово как thread_local и добавлено оно аж в 11 стандарте. 3 года пишу коммерческий код на плюсах. И такая хуйня постоянно случается
Всем привет. У меня вопрос скорее по дизайну Короче есть класс и я хочу через константные шаблоны (или как это правильно называется) по максимум в него захуячить
enum class PrimitiveType { Rectangle, Triangle, Circle, Cube ect.. };
template<PrimitiveType T> class Primitive { // эти типы-enum также пойдут в эти классы std::shared_ptr<Texture> texture; std::unique_ptr<Buffer> buffer; //.... // Метод для получения вершин в зависимости от типа примитива std::vector<float> getVertices() const { if constexpr (T == PrimitiveType::Rectangle) { return { ...data else if constexpr (T == PrimitiveType::Triangle) { return { ...data //..... также хочу с методами сделать void draw() { if constexpr (T == (PrimitiveType::Triangle) | T == (PrimitiveType::Rectangle)) { texture->bind(); //... } else if constexpr (T == PrimitiveType:: ... //... в итоге получиться такая вот простыня. Насколько это говно по дизайну или в целом cгодится? Ну или хотя бы на этапе проектирования пусть будет так, когда уже все виды объектов и операции с ними прояснятcя, то уже реализовать через более модный/современный шаблон, там фабрика типов или какие там есть.
>>3428012 >Только сегодня узнал что есть такое ключевое слово как thread_local и добавлено оно аж в 11 стандарте. Ну тебе может не очень надо было. Как новый стандарт выходит, обычно много статей выходит, что там нового. Нужные вещи как-то сразу схватываются. А так, очень удобно бывает где-то в функции сделать static thread_local std::vector для промежуточных расчетов.
>>3428017 >Почему в качестве переключателей в схемах используют транзисторы, а не диоды? На диодах невозможно построить базис в булевой логике. На транзисторах, два транзистора - это штрих Шеффера, NAND gate, из которых можно строить произвольные логические схемы. Можно делать смешанную диодно-транзисторную логику, но для функциональной полноты все равно транзисторы будут нужны.
>>3428032 Не очень понятно, что ты хочешь делать. Обычно вершинам не надо знать, какого они типа. Т.е. прямоугольник - это просто четыре вершины, круг - N вершин, и каждый примитив просто возвращает интервал вершин в каком-то буфере. Т.е. треугольник 1 - вершины [0,3], треугольник 2 - [3, 6], круг 20 - [100-280] и т.д. В текстуре отрисованный примитив - это или прямоугольник, или полигон, тот же набор вершин.
>>3428032 В ООП это не так делается, тебе не нужны темплейты:
class Primitive { std::shared_ptr<Texture> m_texture; std::unique_ptr<Buffer> m_buffer; public: _ auto getTexture() const { return m_texture; } _ auto getBuffer() const { return m_buffer; } };
class Triangle : public Primitive { triangle privats public: _ vec<float> getVertices() { _ _ return vec<float>(getBuffer()->data, getBuffer()->data + getBuffer()->size );// от балды _ } }
А вообще пиши ка лучше на питоне, ты явно не тот инструмент взял, шаредпоинтеры вообще понимаешь что это и зачем? Судя по всему (по названию переменной) не особо
Почему за столько лет не придумали утилиту cppb, которая бы автоматически собирала проекты? Достаточно было бы написать cppb build и проект собрался. cppb run и сразу запустился.
>>3428171 Потому что нет единого компилятора и единого способа управлениями зависимостями. В других языках они есть, поэтому там и утилиты такие тоже есть. Так что продолжай жрать, что дают, симейклист сам себя не напишет.
Здравствуйте. Можете мне кто-нибудь объяснить как работать с Eclipse 4.34 ? Компилятор к нему cygwin скачал. Как с этим вообще работать хуй проссышь. В С++ я вообще не бум-бум, до этого только на Питоне кодил, мне бы пошагово показать-описать как написать на нем программу, хотя бы просто с выводом, откомпилировать ее, а дальше я сам? Буду благодарен.
>>3428171 У меня есть build.sh в проекте. Он собирает, запускает тесты, бенчмарки и деплоит доку. Придумал я его за полчаса. Ты так не можешь? Как вы заебали со своим нытьём.
>>3428219 Пижи в любом текстовом редакторе, компилируй через командную строку если проект небольшой, либо смаком/баш скриптами/мейкфайлами, тут уж кто как дрочит. Зачем пердолить некроговно это?
>>3428298 У тебя билд сш, у кого то в докере какая то хуйня, другие пидорасы не стали ждать и свою сппб написали, у десятого тулчейн со скриптами в всл, сотый просто в симейк все нахуй ебанул даже выкачивание либ. Тебе пояснять нужно почему это всё хуйня?
>>3428231 >Резистор-диодная логика есть Есть, но на ней можно сделать только И и ИЛИ. Элемент НЕ не сделать, поэтому она не полна, и произвольную схему невозможно построить.
Интересно а как они этого добились? По сути это академическая довольно хуйня, возможно ли доказать с формальной точки зрения что оптимизации не создают совсем иную программу нежели мы определили? Мне кажется нет и современные компиляторы могут определять совсем иную логику. Есть какая литература где это раскрывается?
>>3428567 Симейк у себя там внутри определиться не может что стандарт, а ты говоришь стал. То пэкэдж конфиг, то конан то фетч контент то файнд для зависимостей. Каждая либа это уникальная девочка к которой нужен свой подход. И это мы еще не подошли с вопросам сборки и тестов, просто зависимости подключить это уже цирк с конями
>>3428171 > Почему за столько лет не придумали утилиту cppb, которая бы автоматически собирала проекты? > Достаточно было бы написать cppb build и проект собрался. cppb run и сразу запустился. make, cmake, qmake, qbs, Boost.Build, meson и так далее - тебе мало что ли?
>>3428602 В технологиях стандарты играют очень важную роль, потому что они позволяют решать бизнес задачи эффективно, быстро и понятно. Так что в этом плане лучше иметь один хуевенький стандарт чем стони очень ахуенных. Так например было с развитием интернета, появился тсп айпи и все это очень быстро разрослось до огромных масштабов. Да при этом куча академиков и прочих задротов негодует мол слишком много хуйни вы высрали ребята, стандарт говно, неправильный и не соответствует нашим перфекционистким ожиданиями, вот мы придумали кучу других получше. Но кому не похуй на мнение этих задротов? Главное текущий стек решает денежные вопросы на том уровне который требуется, менеджерам и клиентам все нравится, и если ты не тупой то ты понимаешь на каких людей ориентироваться в этом вопросе. Вот плюсовики люди немного глуповатые и аутистичные. Они не понимают. Поэтому их язык и проиграл в эволюцию
>>3428614 Cmake и Git, это во первых. Во вторых он не хуевенький, он ведь не только сборку обеспечивает но и позволяет интегрироваться IDE вроде QtCreator или даже VS Code. В последнем что бы тот же раст использовать надо и модуль установить и тулчейн.
>>3428619 Только год назад поддержку в студию завезли. А что было раньше в консоли, не похуй ли, там этого консольного говна тысячи, никому не нужного.
>>3428855 >чтобы разрабы не могли слезть со студии А надо ли слезать с единственного комфортного острова посреди океана говна? Чтобы что? Давиться вимом? Или блокнотом на браузере? Последний кстати тоже от Майкрософт.
>>3428171 >собирала проекты насколько плоха идея собирать проект с инклюдами? у меня 3 файла пока, я их просто заинклюдил, в терминале просто выполняю g++ main.cpp
>>3429057 >насколько плоха идея собирать проект с инклюдами? Для маленьких проектов - норм. Минус в том, что проект каждый раз пересобирается заново, это может быть долго когда количество файлов в проекте увеличиться.
Переменная это именованая область памяти. Но операция int* x = new int[10] создает область памяти без имени, однако которой мы можем пользоваться через указатель.
>>3429997 >А там в сорцах именно вот так, лол. Покеж... >А ты как сеть погромируешь? Я прграммирую как игорь сысоев в nginx.
Начитывание определённого куска данных и пототм замена хендлера чтения на следующий. Причём текущий активный хендлер сам по себе несёт информацию о состоянии обработки входящих данных и заменяет вот такие switch. В чём минус свитчей? В том, что в зависимости от состояния у тебя возможны ещё ошибки, ошибки формата данных, таймауты, и в засисмости от текущего состояния соединения все эти действия тоже требуют разной обработки. Меняя хендлеры, ты можешь в одном месте В ОДНОМ ХЕНДЛЕРЕ вместе иметь логику обработки входящих данных, обработку таймаута или разрыва соединения и прочее. ВСЁ В ОДНОМ МЕСТЕ
Изучаю WinAPI, обнаружил в студии крутой редактор ресурсов. Но с его помощью можно создать только диалоговые окна. И меня вопрос, как обычно разрабатывают оконные приложения? Может не нужно определять оконный класс и создавать оконное окно, может программа должна начинаться сразу с немодального диалога? Мне удобнее именно так сделать, чем создавать пустое окно, а потом на него добавлять элементы с помощью CreateWindow.
Это просто тотал пизда. Продакшн реди код. Шаблоны приправленные корутинами, разберется в этой хуйне только профессор, кто вообще мог представить что плюсы к этому придут, как это юзать и где я пока представить не могу. Да, на асио здорово конечно писать сеть, но вот это уже дроч
Вот один момент который мне кажется странным в принятом стандарте для корутин так это то что они связали синтаксис с семантикой. Бля то есть челы из стандарта не смогли различить эти два понятия и завязали ключевые слова на классы стл... Вся стандартная библиотека написана на основе кора языка, а теперь блять наоборот. Это как нахуй? Мозг ломается. Почему просто не добавить было еще других ключевых слов которые бы скрывали под собой реализации и позволяли кастомизировать корутины?
>>3431066 ты б еще спросил как написать статический метод std::source_location::current() и почему иницализер лист очевидно являясь синтаксической сука продукцией не работает если не заиклюдить <initializer_list>
>>3431142 >>3431144 Ты к инфузории придираешься. О производительности на таком уровне даже мысли не проскакивают. Бьюсь об заклад, этот дебил не знает, что такое IO.
>>3431122 Очевидно потому в комитете куча дегенератов которые в первую очередь воют с самими собой у них там разные фракции уровня рыба рак и щука , потом воют с теми кто пишет на плюсах очевидно что сами комитетчики не пишут и только потом делают плюсы.
Книги по языку вы серьезно блять? Я понимаю там книги по многопоточности или вот по той же асинхронщине с корутинами, по работе с 2D данными, по криптографии, по компиляторам в конце концов. Но блять книги по языку это для кого и для чего? Для преподавания в вузе что ли, что бы типа ректор или кто там мог какую то теорию преподавать.
>>3431654 > cppreference.com ты типо совсем додик челу при изучении языка советовать справочник?
> Книги по языку вы серьезно блять? у тебя с возрастом совсем мозги отшибло и уже забыл как сам учил? неожиданно чтобы хотя бы начать программировать нужно научиться азам языка и программирования в целом
>>3431668 Я ничего никогда не учил, у меня были сперва навыки в регулярных выражениях и css, строго для моих небольших задачь, нашел примеры начал играть начал разбираться как это работает и все.
Потом все таки пришлось освоить JS, хотя он довольно сложный и громоздкий особенно его старый стандарт, тем не менее его плюс в том что не нужно ставить тулчейны и осваивать сборку что бы увидеть результат своего говнокодинга, а так же все таки плюс скриптовых языков в том что они сразу показывают где ты обосрался, тогда как тот же си выдает сигментейшн фолт во время работы и поди найди где косяк.
Тулчейны их установка и настройка это то что не дает вкатится и что должно быть в учебниках. От самого простого до самого сложного, с примерами и объяснениями что куда вкладывается и какие условия должны быть, что такое ABI что такое шаред и статик либы, короче все вот это. Про сам язык я вообще хз что там можно читать, если у тебя нет конкретных задачь которые тебе надо решать при помощи выбранного инструмента. А если есть то учебник это самый неудобный источник информации для интересующих тебя вещей, мало того что они там могут быть размазаны по всему учебнику, так еще их там может и не быть или быть с пол чайной ложки.
>>3431875 Только при разработке и отладки. Санитайзер и валгринд разные вещи, адрес санитайзер вроде в неинициализированные указатели свинью подкладывает, а валгринд ее подкладывает за пределами массивов. >>3431880 >учит новичка лучшим практикам и советует каких плохих паттернов надо избегать. Ну вот для новичка это вообще ненужная и вредная информация. Вместо того что бы учиться писать код ты засираешь себе голову чужими предрассудками. Причем как правило на каком то мелочном уровне типа не используйте goto.
>>3431654 Хорошая книга обстоятельно описывает весь язык с примерами, подводными камнями и т.п. По мурзилкам выучить язык можно, но это путь, что будешь наступать на все грабли и потратишь кучу времени на поиск ошибок, когда в книге это всё объяснено.
>>3432094 Хорошая книга тут ни при чем. У людей быстро теряется навык если это не базовая хуйня вроде ходить и на велосипеде ездить. Если ты через пару лет сядешь за руль после сданного экзамена то это считай что ты нихуя и водить не умеешь, а в спорте практически везде так, особенно в профессиональном, если ты выпал на пол года, то это все, пизда, считай заново начинай.
В интеллектуальной деятельности все еще сложнее. Не можешь ты прочитать "хорошую" книгу и освоить такой язык как плюсы, подводные камни и начать его применять. Ты либо пишешь 5+ лет на крестах постоянно, читаешь статьи, смотришь доклады и нон стоп решаешь задачи, наступаешь на грабли и ищешь ошибки. Либо ты язык не знаешь. Хороших книг не существует которые бы научили тебя разработке. И такой подход применим к любой деятельности. Все самому надо делать, смотреть, запоминать, а не хавать пережеванное, тогда от тебя будет толк
>>3426537 Какие расширения принято использовать? Раньше вроде для си использовали .c и .h, а для C++ - .cpp и .hpp. А теперь встречаются .cxx, .cc и даже *.h.
анонче, есть кто пишет используя Vulkan? как полет? сложно ли с OpenGL пересесть? в OpenGL так то ебки много, а в вулкане будет еще больше..страшно сука... или в OpenGL это ебанутая ебка с сишным API и онлайн компиляцей шейдеров. а в вулкане ебка хотя бы по фен-шую будет...
>>3432599 Я тебя не понял. А в чем зашквар, типо строители кибергулага? Ну хз, вот например вакуха, я конечно нихуя не понял что именно им надо и что они делают, но звучит как системный клауд нейтив. По идее хай тир работа. Еще в каспе есть вакансия на sd wan, тоже вроде прикольные задачи на программируемые сети, я почитал это как раз именно бизнесовый проект на SDN, возможно конечно расширяемый до слежки гэбней, еще судя по репутации каспа, но по описанию там такого нет
>>3430516 >>3430542 Трушные олдфаги юзали MFC, Borland C++ и свои обёртки над user32, а затем, когда MS охладел к плюсам, пересели на Qt, GTK и шарп с WinForms. Вообще, удивительно, что студия до сих пор поддерживает диалоговые ресурсы.
Происходит пикрил пускание жидкой подливы. Файла alias.hpp нет, но он есть. В чём тут может быть подвох? Может быть проблема в папке? Нейронка не помогает. Умнику тонна нефти.
>>3412674 >Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Весь смысл с++ это программировать микроконтроллеры
>>3412674 >Лично я не вижу особого смысла в языке. Мне кажется все в конце концов перейдут на rust. Нахуя им это делать? Раст же язык без задач. >Весь смысл с++ это программировать микроконтроллеры. МК программируются на C, дятел.
>>3433131 Тогда ебись с путями но а так вообще убери -Ivtu11 ты включил эту папку как место поиска заголовков и зачем то ее пишешь в инклюдах, это значит что препроцессор в папке vtu11 будет искать vtu11/inc/header.hpp
Раз уж ты выбрал этот путь настоятельно рекомендую следующее: Или включай заголовки без путей вообще (за исключением системных типа <sys/types.h>), заай полные пути поиска через -I. Или откажись от -I вовсе а в файлах пиши #include "../inc/head.hpp" то есть пляши от папки где лежит .cpp исходник в ту сторону где лежит от него заголовок. Тогда проблем не будет.
>>3433189 Во-первых, какое значение имеет архитектура? Если вендор обычно выпускает конпелятор, то это конпелятор для C. Во-вторых, каким надо быть ебанутым дебилом, чтобы тащить плюсы во встройку.
# объявляем с++ проект project(vKOTun VERSION 0.1 LANGUAGES CXX ) # задаем стандарт set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON)
# записываем все наше говно в переменные set(SRC_FILES "main.cpp" "puk.cpp" "ku/karek.cpp" ) set(C_FLAGS -O2 -Wall -ffast ) set(C_DEFS -DDOLBOEB_MODE -D_GNU_BARANKI ) set(С_INCLUDES "${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически) "${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры) "${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка "${PROJECT_SOURCE_DIR}/ptu129" # аналогично )
# в конце скрипта # задаем выходной экзешник: add_executable(vKOTun ${SRC_FILES}) # далее -Iнклюдим список наших директорий target_include_directories(vKOTun SYSTEM AFTER PUBLIC ${С_INCLUDES}) # далее опции компиляции и дефайны target_compile_options (vKOTun PRIVATE ${C_FLAGS}) target_compile_definitions(vKOTun PRIVATE ${C_DEFS}) # далее линкуем либы (если они есть) target_link_libraries(vKOTun PRIVATE ${C_LIBS}) # задаем скрипт install(TARGETS vKOTun DESTINATION ${CMAKE_INSTALL_BINDIR})
>>3433298 Тому кто их 100+ раз заполнял может и очевидно, а кто первый раз видит вообще нихуя не понятно как это заполнять. А там ведь по сути надо тоже заполнять по феншую (как и в симейке) или тебя нахуй пошлют. Разница лишь в том что симейк можно и не брать если не нужно, а пидорастовский томл к изучению обязателен, без него ничего напрямую нельзя собрать.
set(С_INCLUDES "${PROJECT_SOURCE_DIR}" # корневая папка проекта (переменная генерируется симейком автоматически) "${PROJECT_BINARY_DIR}" # папка сборки проекта (нужна что бы подключать генерируемые хидеры) "${PROJECT_SOURCE_DIR}/vtu11" # что бы не писать в инклюдах путь до заголовка )
add_executable(main ${SRC_EXE}) target_include_directories(main SYSTEM AFTER PUBLIC ${С_INCLUDES}) target_compile_options (main PRIVATE ${C_FLAGS}) target_link_libraries(main var mat map arr vtk) install(TARGETS main DESTINATION ${CMAKE_INSTALL_BINDIR})
>>3433311 >>3433308 Это троллинг тупостью? А бсолютно все подчеркивает лёгкость управления пакетами в Расте (Карго) и ебаный ад в Симейке, где без диплома бакалавра не разобраться.
Аноны, которые уже имеют опыт в несколько лет или может быть даже не первый десяток у меня вопрос. Какие книги вы читаете чтобы расти как программист? Меня интересуют не только книги по стандартам или объяснения каких-то вопросов, а вполне по общим темам. Что вообще делаете чтобы развивать свои навыки, соображалку, наблюдательность? Можно, конечно, сказать про рефакторинг и тд, но многие вещи оттуда приходят с опытом. Я имею ввиду, что когда читал книжки по рефакторингу, то до некоторых вещей уже дошёл сам собою.
>>3433314 >С_INCLUDES Наверное коментарии в симейке нельзя так писать, убери их
так то в остальном все верно но твои либы будут компилировать с отдельными опциями компиляции и отдельными флагами (а точнее без никаких так как они заданы только для main), либо позаменяй target_include_directories -> set_include_directories target_include_directories -> set_compile_options
т.е на глобальные функции которые глобально задают опции для всех таргетов/имен, либо для каждой либы свои задай так же через таргет, либо вообще говоря в SRC_EXE положи туда все эти .cpp файлы от либ и они все скомпилятся в объектные файлы по отдельности и сами слинкуются, тебе не нужно из них отдельные либы делать. Это нужно для тех случаев когда у нас несколько программ у которых единая базовая часть выделенная в статическую библиотеку. В твоем коде этого явно не нужно
>>3433324 >Что вообще делаете чтобы развивать свои навыки, соображалку,наблюдательность? если это касательно кода вопрос. То начни пилить сложный проект: компилятор например, сильно поможет понять как вообще все устроено "буковки превращаются в битики", почему возникают те или иные ошибки (синтаксические, семантические, runtime etc). В процессе написания куча вопросов по языку тупо отпадет. Например чем ссылка отличается от указателя (я не про шаблонные определения), а про суть. Ну или ченить попсовое возьми, там свой сервак запили (на процессах, потоках, асинхронный).Пилишь по шаблону,гуглишь(статьи по теме достаточно) что не ясно и так по кругу.
А так совет, не сильно упарывайся именно по языку (это только инструмент). Сто раз уже писали,что только читать книги по кодингу (и писать простые примеры из них) это бред с КПД 20%.Ибо простые, базовые вещи ты и так поймешь в процессе, а сложные через теорию и lib1.cpp не усвоишь. Параллельно смотри всякие видеолекции с ютуба(по сетям, по БД, АКОС, любая база короче которую не знаешь).
ну и последнее насчет книг. Я за все время может от силы 5 книг тебе назову стоящих (кстати две из них от рус. авторов), а сколько я их читал/начинал/читал_частично несчесть. Все тупо бабки, тупо коммерция. Лайфак. Открываешь книгу, смотришь: если в ней ~800+ страниц (это стандарт епту) и из них введение занимает 5% (от автора и прочая хуета), потом еще 5% базовые копипасты(история, общая теория "первые компьюетеры были на перфокартах...") сразу скипай такое говно. Они там охуели, книги уже тупо одним и тем же шаблонам делают. Лучше смотри универовские лекции (там от МФТИ, и других вузов).
>>3433324 Через несколько лет нужно уже думать как перекатиться в лиды/манагеры, как залутать больше сотыг и какую плиточку положить в своей новой хате. Какое программирование? Годами собираешься за клавой горбиться?
>>3433636 >Через несколько лет нужно уже думать как перекатиться в лиды Калпитализм так не работает, тут нельзя ничего планировать больше чем на 5 лет, каждые 5 лет какойнибудь крысис ковид-хуид и твоя контора закрылась либо попросила уйти по собственному желанию. Тут надо не маняфантазировать о том как стану лидом и буду по пол ляма загребать, а грамотно распоряжаться баблом пока оно стабильно поступает в карту.
>>3433918 Ну в общем-то да. Я просто к тому, что фокус внимания немного не туда направлен. Вот у меня есть вышка ивт и те самые пару лет оптыа. Нахуя мне чё-то учить постоянно? Уволят за профнепригодность в одном месте (что очень маловероятно, скорее повысят) пойду в другое.
Аноны, unit-тесты вообще важны для разрабочтика С++? Меня как то на собесе спросили, я сказал в душе не ебу что это. Стоит ли сильно упарываться по этой теме или достаточно иметь общее представление?
>>3434483 Плюсы это бэкенд язык для библиотек. Сам то как думаешь важно ли тестировать свои библиотеки или похуй и так сойдет? Единственное исключение это наверное всякий формошлепий код на кутах где тупо не позапускать автотесты, под остальное тесты должны писаться без разговоров о нужности. Это просто хороший подход к разработке и самое главное один из центральных столпов программирования вообще. Ведь если твой код будет часто падать или решать не ту задачу в один момент люди вокруг начнут очень сильно сомневаться в твоих компетенциях, ты с таким фиаско как собираешься по зп расти и грейду? Поэтому написал функцию -- ебани тест, это отлично поможет понять что с ней так архитектурно даже и мыслить о программировании в совсем другом ключе заставляет
>>3434483 Какие-то тупые вопросы. Видимо совсем зелёный. Unit-тесты - это просто тесты. Насколько они важны? Не важны, если тебе на качество поебать. Если ты привык делать наперекосяк через жопу. Вот ты написал класс/функцию и не знаешь работает она или нет? Это программирование "на авось". В больших проектах такая хуйня не прокатит. Как ты собираешься вести проект где допустим полмиллиона строк кода и десятки разных классов и прочего. Сложность проекта растёт со временем и когда ты добавляешь новый функционал, старый будет ломаться в рандомных местах. Потому что ты его не оттестировал нормально в разных условиях, при разных входных данных. Получится что ты то не предусмотрел, это не рассчитал... Будешь накладывать заплатки, латать дыры. Но это начнёт ощущаться только на больших и средних проектах, где 200+ тысяч строк кода.
>>3434566 Ни в коем случае и никогда. Никакой документации разработчик писать не должен. Если спросят просто кивай. А истории о целых сокращенных отделах которые сидели поддерживали подробную документацию ты можешь увидеть на этой доске и описанную ситуацию наоборот тоже
>>3434483 > Аноны, unit-тесты вообще важны для разрабочтика С++? > Меня как то на собесе спросили, я сказал в душе не ебу что это. > Стоит ли сильно упарываться по этой теме или достаточно иметь общее представление? Иметь общее представление. Все равно ситуация по тестам в каждой конторе будет разная.
>>3434576 > Неужели через эмуляцию событий клавиатуры/мыши и последующее сравнение скрина окна с эталоном? Что то сравнивается с эталоном попиксельно, но нп кутешные вещи, а то что рендерится пониже.
А так да, эмуляция событий тача и сравнение событий bss/евентов в логе.
>>3434566 >а эту хуету Doxygen/Sphinx тоже надо освоить? Ну бля, тот же ответ что и предыдущий. Как ты это представляешь если в команде допустим 10 человек работает и в проекте сотни классов/под-классов/под-проектов/модулей. И как один программист будет объяснять другому программисту структуру проекта? Ну очевидно же, что какую-то форму документации придётся иметь, чтобы ориентироваться во всём этом. Иначе это превратиться в демонстрацию на коленке - эй ты чувак! Смотри вон там класс Scheduler::SchedulerImpl, возьми там метод такой-то...
Естественно это всё не так актуально на маленьких проектах/маленьких бюджетах/маленьких командах. Если ты в одну харю пилишь проект, естественно нахуй тебе doxygen. А когда контрибьютеров много, чтобы они пользовались твоим кодом, надо показать, рассказать, что как работает, дать примеры и т.д.
Никто блять в твою голову не может залезть, если там на 2 тысячи строк кода и ноль комментариев, нахуй такой код кому-то будет нужен.
вот я пилю свой проект (сложный достаточно). Много библиотек, классов, чего только нет. С одной стороны я хочу по максимуму захуячить все в один класс, типа: class Car { Engine engine; Driver driver; // etc... } и через методы дергать все что мне надо. Однако писать тесты для такого кода сложно. Тогда лучше заранее все делать через DI, но это тоже какой-то пиздец получается. Мне интересно как вообще тим-лиды с архитектурой справляются. Сразу хуячат проект где весь код максимально не связный?
Хм, в свежих IDE JetBrains 2025.1 похоже наконец допилили поддержку модулей до стабильного состояния. Потестил вчера в Rider, вроде никаких проблем как раньше нет, подсветка синтаксиса не отъёбывает каждые 10 минут.
>>3434679 Как будто есть что-то лучше. VSCode - забагованный текстовый редактор, Студия - какое-то легаси говно без развития. >>3434753 > cmake то модули нормально уже научился собирать? Со сборкой уже года два как всё в порядке, с ней всё просто. Последние годы только IDE не могли нормально подсветку синтаксиса запилить для модулей, вечно что-то отъёбывало.
>>3434817 > свою дейтельность в россии приостановили Это не так неприятно, как например в Студии. В JB хоть есть поддержка прокси, прописал и работает всё, один хуй как истинные пираты бесплатно им пользуемся. А в Студии экстеншены, заблоченные в России, не работают нормально и прокси не впердолить, только VPN подрубать.
У плюсов даже иде нормальной нет. Одна какая то хуйня, вскод блять, студия (легаси), си лаен вообще больше напоминает какую то парашу для эмбедед разработки и простой хуйни для написания библиотек. Креатор это вообще пиздец прям урод в семье уродов. Этот язык точно кто то проклял
>>3435347 Базовички сидят на Rider с msbuild. Никакого пердолинга с конфигурацией сборки, оно просто работает. И встроенная поддержка vcpkg есть, все либы сами ставятся, проще чем расте даже.
>>3435369 Хуйня, которую придумали гуманитарии ебаные. Имитирует компьютерную сеть внутри процесса на локальной машине, да, это полная шиза. Вместо того, чтобы просто вызвать a() потом b(), ты кладешь сообщение в очередь, дальше обработчик его достает, вызывает a(), результат кладет в новой сообщение, медиатор его достает, понимает что надо вызвать b(), кладет сообщение для b и так далее.
>>3435594 Медиатор, диспетчет, хуетчер - это все сорта говна, одна и та же идея. Инфоцигане придумали 100500 слов, но все крутится вокруг шины событий и асинхронных вызовов. То есть, обычная ненадежная сеть. Писать так внутри локального процесса, где вызов гарантированно будет сделан - это шиза 80 уровня. Зато можно впаривать джунам книжки про чистую архитектуру, чистый код, чистый зад и так далее.
>>3435804 Шина событий и асинхронность необязательно связаны же. Шина событий может просто для декоплинга использоваться во вполне синхронном однопоточном коде. Типичный пример использования принципа инверсии зависимостей. Как обработать обратный вызов в коде от ниже лежащих слоев? Например у тебя в игре есть цикл обработки событий, тебе нужно сделать выход из игры. Выход из игры может быть разный: по нажанию клавиши и при выборе пункта меню. Ты делаешь событие "выход" и это событие обрабатывется в хендлере в цикле, а клавиатура и меню генерируют одно и то же событие. Таким обазом у тебя цикл событий не имеет двух отдельных реализаций выхода из игры и поэтому не зависит от того сколько у тебя причин и мест выхода из игры
>>3435804 Ну то что ты описал звучит как едала для игровых движов запустили сцену А она там бесконечно крутится, пукнули/умерли/еще что то сделали из цикла вышли вернули значение. Далее взависимости от него заного A либо в B либо в меню. Обычно это все делается тупо сишными вызовами по косвенным адресам, либо как в скриптовых языках вообще возвращают класс в виде переменной и "деспетчер" его запускает как (new sceneClass).run() чем это плохо - тем что что в каждом игровом движке надо по новой вот эту костыльную хуйню переизобретать, ведь все игры в этом плане устроены одинаково - это последовательный переход от одной сцены к другой.
>>3435885 В гуи очередь событий оправдана. Представь, что вместо вызова выстрелить(оружие,цель) ты кладешь событие "стрелять" в очередь, потом где-то хз где в коде обработчик достает это событие и делает стрелять. Вместо четкой структуры и навигации по коду у тебя получается месиво из обработчиков, которые хуй пойми в каком порядке друг другу кидают сообщения.
>>3435885 Причем вместо единой шины событий ты бы мог сделать много сервисов для той же цели декоплинга. Например для обработки выхода сделал бы сервис "выходятор" c методом "выйти". Выходятор бы дергался в коме меню после pollEvent и при выботе пункта меню. Главное отличие единой шины только в большей абстракнности и универсальности. Если бы у тебя не было шины событий то у тебя было бы 100500 "шин", чтобы пропихивать их кругом по коду.
>>3435926 Я с этим согласен, что ивент бас- это проследние прибежище для того чтобы декоплить зависимости. Но почему-то разрабочики на godot считают по-другому...
>>3435931 Но а с другой стороны игры слишком оопешные по свой сути. По сути в каждой игре перекрестное взаимодействие у 100500 "объектов" и ты никуда не уйдешь от этой сложности. Например в ECS ты будешь класть компоненты в репозиторий откуда в цтикле будешь их выбирать. По сути та же шина.
Игру нельзя написать как утилиту для обработкт текста или программу обработки хттп запроса, между которыми разница в архитектуре небольшая.
Насколько С++ кроссплатформенный? Многие пишут, что С хорошо переносится, но на деле: в POSIX один интерфейс, в WinAPI - другой, в какой-нибудь нестандартной ОС вообще третий. На пример, даже управление файлами на уровне каталогов различается по апи. Многопоточка тоже зависит от апи ОС. А вот в новых стандартах С++ вроде появились классы одинаковые везде, но действительно ли ни каких подводных камней с переносимостью нет?
>>3436843 >в POSIX один интерфейс, в WinAPI - другой, в какой-нибудь нестандартной ОС вообще третий К языку это не имеет отношения. Если хочешь кросплатформу, пердолься с Кьютом каким нибудь, но там то же свои проблемы.
>>3436843 > в POSIX один интерфейс, в WinAPI - другой Что ты имеешь в виду? В винде никогда не было стандартных плюсов и сей, там всегда было подмножество именуемое VisualC. Бил Гейтс считал что программы должны быть приколочены к винде ее собственными непохожими стандартами/типами, некрософт до сих пор пожинает наследие пидора очкастого и его клоуна.
На дворе вроде как 2025 век, а приходится всё ещё писать костыли типа: setlocale(LC_ALL, "Russian"); чтобы отображались русские буквы, а не кракозябры в Windows.
>>3437402 Попробуй windows, современная ос, а то всё пердишь в калсою 50-летней давности. Хотя даже эта современность наступила еще в 2000 году, юникод, все дела, пора бы уже подтянуться, за 25 лет-то.
>>3410643 (OP) Ща начну пилить свой проект, буду делоть на последних стандартах ибо могу, будут и модули, и принты и представления и прочие умеые указатели, каеф
Интересно стл станет когда-нибудь продекшн реди? Мне кажется до этого мало кто доживет из современников. Забавно вообще как они имплементируют библиотеку. Типо если они в чем то сомневаются или чуть чуть что-то не так, то и нахуй это делать)) сами разберутся
Вы тут обсуждаете что угодно, но блять не самые базовые вещи, а именно паттерны и шаблоны проектирования. Какие шаблоны, кроме основных (синглтон, фабрика, обсервер, стратегия, строитель и т.д., ну ты понел) ты применяешь на регулярной основе? Больше всего меня интересует практика применения фасадов,Composite и Flyweight? Да, и вообще структурные шаблоны плюсы и минусы, для каких сценариях лучше применять
как в этом Clion говне обновить индексы? Я сделал реструктуризацию проекта (по папкам раскидал условно файлы некоторые). Проект собирает и работает, но часть заголовочных подчеркнута красным (file not found). Я перезапускал проект, IDE, делал Reload Cmake Project (чтобы индексы обновить), удалял папку build. Какого хуя это не исчезает???
>>3437851 >шарпа true чувак на дворе 2025 год, сейчас от хорошего дизайна зависит 80% успеха, производительности, масштабируемости, тестирумости, поддержки, все короче, юноу
>>3437849 Нахуй это надо дыбыл. Ну веб макаки дрочили все эту херню, потом собрались все на микросервисы переписали, даунский сброд, сейчас опять достают эти огромные многотомники дидов и снова дрочат копролиты. Так они же идиоты. Ты что хочешь быть идиотом? Я вообще даже и не вспомню когда меня на собесе спрашивали копратерны. Большую часть кода я за карьеру написал как сетевую это ио баунд задачи которые что то конкретное решают, нахуя там этот дроч? Плюсы это не совсем бекенд язык, даже если он в беке появляется то как правило решая конкретную задачу или оптимизацию, опять же зачем тут паттерны, только мешать будут. Если только какие-нибудь фаст пимплы и прочее, но это скорее техники чем
>>3438713 Не пишут, то работа, как работодатель приказал, так рабы и пишут, нет воли, нет выбора, это к треду не относится. А люди пишут программы на компьютеры, компьютеры это декстопы, десктопы это винда, других нет.
То есть, если разговор про прошивки и прочую рабочую срань, это не разговор про "под что пишут", а разговор в "какую шарагу устроиться". Это не тред трудоустройства и сравнения шараг, а тред написания софта, смотри первый параграф выше.
>>3438679 >ты же не считаешь 1% декстопов выбором 99% десктопов сейчас - это вкладка браузера. Морда современной проги - это или веб/электрон или кросс-платформа вроде Qt. Винда как единственная платформа умерла даже в игрулях, своем главном бастионе.
>>3439161 Сейчас модно внаглую называть черное белым и наоборот, срать тупостью когда очевидно, что это тупость. Не знаю как называется эта болезнь, но мозги точно мертвы.
>>3437015 Так в том и дело что мокрософт при очкарике был нишевой конторой с набором программных продуктов, а сегодня это гигакорпорация всосавшая в себя кучу всего. Для размеров сегодняшней майкрософт бизнес уровня xbox (считавшийся во времена очкарика большим прорывом для компании) это не то чем надо заниматься компании такого уровня (продали бы уже ее габену что-ли). А в сервера суперкомпьютеры майкрософт залезть не может, так как с виндой и своими говностандартами ее там нахуй не ждут, а майкрософт линукс гордость непозволяет. Если бы пидор очкастый сразу бы внедрил позикс окружение и стандартные библиотеки как в макоси, майкрософт бы сейчас чувствовал себя намного увереннее. Как минимум он бы сейчас был на ровне с ораклом, а не ходил бы насрав в штаны.
>>3438644 Че он так общаться то начал, я ему никакие промты не писал. Временами такие фразы бывают проскакивают. Видать там уже обучалка по двачу поехала обучаться?
>>3439964 И все еще не понял, потому что в шапке хуета.
int ⚹d; void ⚹p;
- это не "указатель на тип", это просто переменные указателя которые вообще говоря могут быть равны. int в данном случае означает две вещи: 1) размер сегментов в памяти для считывания/записи (4 байта делаются одной командой ldw или stw) 2) какого типа преобразования надо делать перед записью или после считывания
Например:
int8_t b = -127; // 0x80 d[0] = b; // (int)-127 - это 0xFFFFFF80, то есть перед записью надо расширить число 32битным знаком
int64_t l = d[0]; // то же самое только расширение 64битным знаком после загрузки 32 битного числа
Ну а void это просто голая переменная указателя подходящая для хранения и сравнения адреса, но не предполагающая какие то обращения по нему в принципе.
Это все довольно простые и банальные вещи (лоу тир так сказать) мид-хай тир это:
Подскажите кто-нибудь ковырял ui либы под десктоп? Нашел вот тут парочку, посмотрел некоторые brisk HikoGUI cycfi/elements Nuklear
Писал кто-нибудь на них что? Какая наименее забагованная? Плюс хотелось бы иметь еще возможность кастомизировать виджеты без сильной боли чтоб приложуха не напоминала общий библиотечный стиль
>>3439988 Неумные тоже есть, никто их не удалял, пользуешься ими, а умнокал игнорируешь. Смотри как настоящие профессионалы на крестах программируют. Сначала понаписал соевого кала, а потом проблевался и удалил.
Как установить Qt на винду в условиях санкций? Установил QtCreator с гитхаба в Program Files, потом скачал установщик Qt и установил в папку C:\Qt. Но подключить Qt как kit в QtCreator не получается - ошибка на скрине. Как исправить эту ошибку и связить IDE с Qt?
>>3440832 Неактуально. Указанный в статье прокси выдает мой айпи и инсталлер пишет, что установка с моего айпи запрещена. Онлайн-инсталлятор устанавливает только Qt, но не устанавливает QtCreator. QtCreator надо ставить отдельно, после чего повторяется вот эта ошибка >>3440826
>>3440840 С шестой версии больше никаких офлайн инсталлеров >>3440826 На винде - никак. Учись пользоваться сторонними репозиториями типа Homebrew или собирай из исходников.
>>3440891 Большая часть вакансий это куте-десктоп\эмбедед госуха. Поэтому большинство тут работающих делают именно это. Ни на каком другом языке ты это не реализуешь, есть еще опция писать это все на си, но бля, это уже совсем дедовщина.
Наверное есть еще всякие короли разработки которых допустили до плюсов в больших коммерческих компаниях. Занимаются они хайлоадом, поисковыми движками, языковыми моделями, но лично я не припомню найм с улицы на такие вакансии. Обычно таким ушлым приемом занимается яндекс нанимая наивных студентов на вакансию по плюсам а потом закидывая их разгребать кал на питоне условном
>>3440463 Это понятно, что выводятся символы по знакоместам. Интересует как именно можно в С++ выводить символ в определенное знакомество? У нас же только потоковый ввод/вывод из коробки.
короче есть 3D двигло (майнкрафт). Пока что я только генерирую мир (заполняю чанками) Один чанк(16^3) это 4096 кубов, каждый куб это ~144 байта. Отрисовывается из них примерно 10-15% нужно заполнить буфер вершин(полигоны/кубы) и отправить его на рендеринг в OpenGL. изначально код написан на сырых указателях и адресной арифметике на макросах: #define VERTEX(INDEX, X,Y,Z, U,V, L) buffer[INDEX+0] = (X);\ buffer[INDEX+1] = (Y);\ buffer[INDEX+2] = (Z);\ buffer[INDEX+3] = (U);\ ...etc. INDEX += VERTEX_SIZE;
хочу перехуячить все на std::vector + push_back говорят сейчас push_back - inline и достаточно быстрые В целом производительноьб упадет на 5-15% (10% потери рендеринга для 3D игры это мне кажется дохуя...) Но избавит меня от ебки с голыми массивами их размерами и прочим. Я понимаю что это всегда вопрос компромисов, но как бы поступил ты анон.
>>3440967 >4к варнингов >Студенты наши писали ПИЗДЕЦ. Надеюсь вы их всех нахуй отчислите и отправите на сво. Желательно сразу в шторм z. Плохой программист хороший штурмист
вы так говорите как будто варнинги в половине случаев не ложно-положительное выдает так еще и всякие modernize которые вам начнут выдавать что нужно на auto переделать
>>3440967 Если ты собираешь более новым стандартом, чем под который код написан, то варнинги это норма. Ты бы ещё спросил почему из winapi тонна варнингов лезет, если попросить компилятор чекать либы. >>3441715 > modernize Это шланг-тити. А собирать с Wall - это просто хорошая практика, компилятор плохого не посоветует.
>>3442292 А Qt поддерживает С++ 20? И там вроде по лицензии какие-то подводные камни, что программы чуть ли не авторам Qt принадлежат и ты им будешь пожизненно должен.
>>3442393 > А Qt поддерживает С++ 20? А что именно он должен "поддерживать"? > И там вроде по лицензии какие-то подводные камни, что программы чуть ли не авторам Qt принадлежат и ты им будешь пожизненно должен. Где ты такую хуйню нашел? И пока есть интернеты какое вообще может быть "вроде"?
>>3442321 Не использует. Если бы использовал, не тащил бы в винду за собой говна на сотни мегабайт. Qt - НЕ мультиплатформа, по крайней мере винду это говно не поддерживает, только линуксы, может еще маки, не уверен. В результате всё говно с линуксов тащит на винду где оно нахуй не нужно. Пидарасы не хотят делать поддержку винды.
>>3442574 Юнткс есть на всех платформах, поэтому юниксовое пео многоплатформа, чего не скажешь о виндятине (с течением времени платформы только отваливались, кек).
Почему никто до сих пор не догадался написать сборщик проектов как в современных языках, чтобы можно было просто писать: cppb new prj1 cppb build cppb run
>>3442916 Это примерно то к чему движется симейк и конан. Глядишь мы когда-нибудь увидим нормальную интеграцию обоих и в будущих версиях появится упрощенный синтаксис для всего этого
>>3443109 так не пойдет. там в цикле рендерить дохуя надо в runtime. а тут копирование структур + push_back в рантайм рендеринге надо стараться такого избегать
>>3442313 >Они решили грохнуть самую главную киллерфичу шинды? я не вдавался в детали этого ебучего куска говна - ОС window когда писал на WinAPI у меня работало на 10-ке или 8-ке, точно не помню но на 11 слетало почитал, они так короче что-то поддерживают, что-то не поддерживают. короче забил болт и стал писать на C#,благо там приложение хуйня из под коня была
>>3442320 >Написать драйвер, например. Как это сделать на Qt? зачем тебе GUI для драйвера? Qt использовать надо если более менее крупное UI десктоп приложение. Qt тяжелая либа. легковесного GUI (нормального) на винде под C++ нет либо пиши GUI на C#/Typescript и дергай оттуда свой Сишный драйвер.
>>3443197 > нормального Нормального нет подтверждаю. Вообще я помимо кутов нашел пикрил шляпу, написана эта херня на расте, и тянет за собой еще 10 мб кала в релизе (что к слову так же как и куты). То есть буквально клон кутов и есть. Нахуя это выкакали я так и не понял, видимо прикол в расте (ща все перепишем линукс перепишем)
Слинт называется если кому интересно, плюсовые обвязки все есть. Наверное лучше тем что не тянет динамическую дрисню, но 6ые куты тоже в это умеют хотя и с ограничениями
>>3443197 Да нахуя мне GUI блять? Пишут что WinAPI не будет работать и что на него якобы положили болт. Спрашиваю: чё вместо него? И тут мне начинают втирать про какие-то гуи и Qt. Почему все думают, будто WinAPI - это обязательно гуй?
>>3443204 >Спрашиваю: чё вместо него? так тебе syscalls нужны, точнее API для работы с ними. ну тогда WinAPI или WinUI 3 и UWP (это новые аналоги) я просто хуй знает, на сколько тебя хватит разбираться в этом виндовском говне. книг по WinAPI нормальных нет, ибо никому не это нахуя не надо в 2025, только старье про новые API, хз гугли
>>3443192 >а тут копирование структур + push_back >надо стараться такого избегать Какого такого макака ебучая? Я тебе показал примерно как на плюсах с динамическими массивами работать по уму и без сырых указателей. По феншую/воровским понятиям иди на пистоне пиши не лезь в плюсы.
А вообще нужно учить CMake, если есть планы устроится С++ разработчиком? Дело в том, что в вижле он не особо-то и нужен, проекты собираются зеленой стрелочкой.
>>3443247 ты либо тупой, либо не понял вопрос не знаешь, не лезь в высокопроизводительную разработку. создание структур, упаковка их в вектор и затем запись в массив это очень долго читай вопрос внимательно, это все делается в цикле рендеринга тут другие законы, это тебе не на qt кнопочки красить
>>3443621 > создание структур, упаковка их в вектор Нахуя тогда ты приперся спрашивать как переписать сишный код на плюсы не зная по сути ни того ни другого языка? Документацию открой, про структуры и динамические массивы почитай, потом приходи сюда срать пидорас.
>>3441400 >но как бы поступил ты анон. Во-первых, для каждого чанка создал бы VBO. Геометрия чанка между кадрами почти не меняются, каждый раз генерить - слишком медленно. Во-вторых, у тебя для каждой вершины передаются 6 флотов, целых 24 байта. Это очень много. Позицию вершины можно хранить как линейный индекс в кубе - 161616, а координату чанка передавать в uniform. Т.е. в шейдере будет что-то типа gl_Vertex = uniform_pos + vec3(index%16,index/16%16,index/256). U,V тоже можно пожать до индекса, освещение до одного байта. Итого: положение 2 байта, uv - тоже 2 байта и освещение 1 байт. Получилось 5 байт на вершину.
Итого, что получается: Каждый кадр мы генерим и заливаем на гпу геометрию только для новых чанков, старые уже в видеопамяти.(плюс удалить данные чанков которые стали не нужны). Количество чанков которые мы генерим за кадр стало в разы меньше (было 400, стало 2), данных у нас стало в 5 раз меньше. И на скорость вектора становится вообще поебать. Использую его в своем коде для накопления данных, чтобы на гпу отправить. Какой смысол в 2025 вручную пердолиться с массивами?
Окей, не завезли частичную специализацию шаблонов функций. Но, почему все говорят, что это якобы потому что есть перегрузка функций. Перегрузка не хуя не замещает частичную специализацию, например template <typename T> struct X<T&> {}; специализация для всех ссылочных типов, как они думали я это перегрузкой сделаю. Хорошо что есть функторы, я это реализую с их помощью. Так что правильный ответ это лень комитета и лень разработчиков компиляторов.
>>3443345 > А вообще нужно учить CMake, если есть планы устроится С++ разработчиком? Дело в том, что в вижле он не особо-то и нужен, проекты собираются зеленой стрелочкой. А че его там "учить"? Проект уже готовый будет, тебе в CMakeLists.txt только новые файлики подкладывать в 99.99% случаев и все
>>3443345 Все проекты пишутся и собираются симейком, и коммерческие и опенсурсные. Что ты там в "вижле" собираешь? Лабы свои? Открой любую хуйнюшку на гитхабе там будет симейк как стандарт, а не майкрософтовский кал
>>3443811 >Позицию вершины можно хранить как линейный индекс в кубе - >161616 я понял, идея хорошая, но пока возьму на карандаш, еще рано усложнять настолько. А так упаковку 3D массива в плоский линейный сейчас использую, но для других целей и все в RAM. Пусть пока все просто работает, я же еще даже за физику не брался (удаление, добавление вокселей/кубов и т.д.)
Итого: положение 2 байта, uv - тоже 2 байта. короче 6 флоатов --> упаковать в два шорта и один байт. сами 3D координаты упаковать плоский линейный 1D массив и держать его в VRAM. так же если упростить?
>И на скорость вектора становится вообще поебать. а вот этого очень бы хотелось
Аноны, у меня есть проектик на плюсах, но я хз как его дальше оптимизировать по скорости. Можете подскать, где я могу нанять опытного разраба, чтобы тот глянул мой код?
>>3443218 да там у них вроде нету официального легаси, просто одно говнецо наслаивают на другое либо че нить рядом переписывают что то же самое делает но другим способом
>>3443215 база не меняется: рихтер + windows internals, тупо читаешь ничего не перепроверяя, чисто набрать нужный старт; но конечно разработка под винду мертва, нахуй я в нулевые всем этим упарывался
>>3444456 Гпт и не должен мочь в оптимизацию, это не для этого инструмент, это все равно что сказать что компилятор не умеет собирать сломанный код. Гпт это помощник который погрузит тебя в решение задачи, которую буквально решали уже миллиард раз. С тобой рядом сидят все профессора с пхд и лучшие программисты мира как в аниме аватар, а ты: "не может". Ну можешь нанять себе инженера, ставка от 60$ в час будет у тех кто этим профессионально занимается. Готов платить?
>>3444637 Нейросеть не придумывает ответы и не решает для тебя задачи, она просто запрос переводит в шкалу/сигналы расчехляет тензоры из нейро-мождели ищет/вычисляет ближайшие, конвертирует их обратно в текст/раскрашеные пиксели/звуковую волну и ты видишь результат. Это симулятор человеческой памяти, причем чисто на математических алгоритмах и только на выдачу, на запись надо спецжелезо использовать, иначе 100 лет будет модель записываться.
>>3444926 Так было на ранних LLM. Сейчас в LLM с ризонингом их тренируют с RL для поиска кратчайшего "пути" для решения "задачи", а текст там только для записи этого "пути" в виде токенов. Уже год как все поняли что надо что-то делать чтоб сетка могла выдавать решения, отсутствующие в датасете, а не просто быть как база данных.
>>3445154 > сверточная сеть Дед, ты там из какого года капчуешь? Это настолько устарело, что пиздец. Гугли как блоки трансформера и аттеншен работают, они уже вообще в другую сторону от настоящих нейронов ушли, пикрил примерно как базовый блок трансформера выглядит. Свёрткой "признаки" разве что из пикселей извлекают, да и то в сыром виде свёртка непригодна даже для пикселей, только в связке с аттеншеном.
Суп, программисты. Дайте советов мудрых. Имею общие знания функций, массивов, условий. Написал консольный канкулятор. А что дальше? Что писать? Гугл предлагает примерно следующую последовательность: 1. Хелло, ворлд! 2. Калькулятор 3. Список контактов 4. Приложение для общения в чате. Есть какие-нибудь проектики, по сложности находящиеся между "списком контактов" и "чатом"?
>>3445925 >Написал консольный канкулятор А ты как написал? Он типа принимает на вход 2+2 или 3х3? А должен уметь -+2х+2.0 и многосложные типа 2+2*2 вот тогда начинается заёб или самое интересное. А ещё код покажи тебе тут пояснят за солид и другие блм
>>3445925 Тебе это все нахуй надо? Ты какую цель преследуешь? Работу найти или что? Если что-то другое и тебе интересно программирование как у вас даунов это обычно бывает, то нахуй спрашиваешь? Пиши что хочешь
>>3446988 Нет никаких материалов. Это просто КАЛ. Юзай ллмку, она любой симейк тебе напишет. Лучше потрать время на какой то домен или лишнюю статью по плюсам почитай
>>3446988 не трать на это время. лучше изучи как программы компилируются, объектные файлы линкуются, символы связываются, структуру ELF. Как библиотеки подключаются и их функции вызываются. Собери сам парочку библиотек ручками. Попутно утилиту make освой.
>>3447198 Зачем это надо? Вот мне нигде кроме собеседований это не пригодилось. Тупа дрочь бесполезный. Ну вот это же чисто гуманитарное знание, как стишок. Знаешь ты стишок и можешь рассказать его -- молодец пятерка, нет, ну пиздец дурачок ептыть двоешнык. Кстати там где и спрашивают подобную залупу типа расскажи что там за заголовки у бинаря, или что происходит после g++ хуйня_нейм те компании и были лютой хуетой. Нахуй это все надо? Ты что разработчик компиляторов?
>>3447198 Это я знаю. Во многих книжках описан процесс компиляции. Но вот про cmake нигде не пишут. Есть пара книжек, где немного упоминают make и даже пробовал простенькие сам писать, но слишком геморрно даже для любительских проектов.
бля как же я ору. у меня даже нейронка запуталась в эти правилах перегрузки конструкторов и неявных преобразования.
Проблема - "Вы передаёте real_gl и real_fs, которые являются lvalue. Но компилятор не может привязать временные объекты к не-константным ссылкам (это запрещено в C++)."
"В вашем примере объекты real_fs и real_gl — не временные, а именованные lvalue-объекты. Ошибка возникает из-за другого правила C++: не-константные ссылки (T&) не могут принимать временные объекты, но в вашем случае проблема в другом."
>>3447374 бля если для тебя make "слишком геморно даже для любительских проектов"
то в Cmake не лезь (глубже базового функционала). не надо думать, что раз есть функции, которые выполняют кучу работы за тебя, то все будет заебись работать.
Я до сих пор для одного старого пердуна не могу Cmakefile написать чтобы на его mcvs запускалось.
на простых проектах cmake удобен конечно. но когда сборка состоит из нескольких Cmake файлов и поддиректорий. Вот там начинаются пляски с бубнами. а в связке с Clion это превращается в какой-то пиздец. Когда после изменений, чтобы проект собрался нужно удалять папку сборки. Ебать нахуй 2025 год, тьфу нахуй, тьфу, тьфу... про подключение unit тестов я вообще молчу.
Я видел такое... видел такое что даже ИИ и не снилось. Огромные проекты на симейк с десятками зависимостей расписанных на тысячи строк сложнее чем плюсовой код этих проектов. Десятки статических либ с одной и той же копипастой... Нескончаемые ифы под каждую платформу, тесты, десятки полиси, компиляторов и незадокументированных переменных сборки. Я видел прямую копипасту C++ кода прямо в симейк файл для автогенерации. Я видел это...
Звучит как хуйня. Сто пудово все вакансии будут только на госушный военкокал с этими их доступами. Яндекс лютая галера и вся бизнес логика там уже написана, 2гис я кстати дохуя видел вакансий, они там вроде даже от кутов хотели уходить и переписывать движок, но бля, это так уныло нахуй. Что странно так это что они еще не разорились
>>3448087 > пук-кукарек иди в свободные карты (organic/openstreet maps) вклад вноси пидорас тупорылый. Еще раз сюда без кода спрашивать хуйню придешь будешь отпизжен и обоссан.
Это я долбоебина тупоголовая или Страус действительно пишет свои книги, чтобы гейткипить? Ну очень тяжело читается, поэтому легче было cppreference + исходники stl проштудировать.
я тот анон, который пишет свой майнкрафт с нуля на "голых" шейдерах. Сейчас я могу генерировать мир, создавать и удалять блоки, перемещаться по миру. Еще много работы впереди, но я хочу заранее поинтересоваться. Насколько сложно будет реализовать сетевое взаимодействие? Ну чтобы два персонажа находились с одном мире (как в онлайн игре). Это надо будет свой сервак какой-то делать/покупать? Я знаю сетевые протоколы, сокеты и прочее, но в остальном совсем не шарю.
>>3448545 >>3448651 Умеет он писать, но все эти книги уже давно неактуальные, а последние его попытки запрыгнуть в поезд и правда не очень удачные, особенно для только только начинающего. Деду под 80 лет, какие вы хотите от него книги? Язык уже давно отошел комитету
>>3448545 The C++ Programming Language (1st, 2nd, 3rd, and 4th edition)[26] The Design and Evolution of C++[27] The Annotated C++ Reference Manual.[28] вот эти 3 книжки заебись, отличные, хорошо написанные но это не самоучители программирования, это книги по с++, в том смысле что автор книги написаны для подготовленных программистов, к примеру автор не пишет что такое полиморфизм, а пишет о особенностях реализаций полиморфного поведения в с++ ну и все такое по сути книги наследуют концепции K&R ------ A Tour of C++ (1st, 2nd and 3rd edition)[24] Programming: Principles and Practice Using C++[25] а вот это лютое гавнище, этакий Last of Us 2 от мира программирования, кхе кхе но мне несколько не жалко молодых уебков что учатся с++ по этим книжкам, ибо нахуя вообще учить с++ в 2к25 непонятно
>>3448795 >уже давно неактуальные "дизайн и эволюция" вообще самая главная книга написанная о плюсах, кек вообще то ее следовало бы каждому итт почитать, а то многие вообще не понимаю с какой химерой имеют дело плюсы вообще можно сравнить с виндой десяточкой, два гибридных уродца которыми люди были вынуждены пользоваться
Добрый день, ребят. Столкнулся с проблемой передачи многоканального звука (5.1/7.1) с одного компьютера на другой (основной ПК -> стрим ПК) по HDMI в карту видеозахвата Magewell Pro Capture Dual HDMI 4K Plus LT для OBS Studio. Оказалось, что "из коробки" карта может отдать только 2.0-звук, а для большего количества каналов у поддержки нет готовых приемлемых решений для OBS Studio, а сама тех.поддержка отпинывает меня к их Magewell SDK, где есть примеры рабочих программ на разные случаи. Среди тех примеров, которые я там искал есть MultiAudioCapture, исходники которого мне кое-как удалось собрать в exe, чтобы это работало. Прямо сейчас он позволяет перенаправлять звук в OBS Studio, пользуясь ещё и прослойкой в виде программного микшера Voicemeeter, в итоге с двумя костылями звук приходит в OBS Studio c задержкой в 0.2-0.25 секунды и приходится настривать смещение по звуку. Собственно пришла другая идея, что было бы здорово это всё оформить как плагин к самому OBS Studio, чтобы бы он как настраиваемый источник в самой программе, что, по идее, должно свести задержку звука до минимума. Но тут и начались проблемы с которыми я не могу разобраться и требуется помощь. Для создания плагина к OBS Studio разрабы программы настоятельно рекомендуют пользоваться их шаблоном для плагинов. Всё это дело должно, как будто бы, собираться через Cmake, что для меня совсем тёмный лес. Пытался несколько раз с помощью нейросетей решить эту задачу, но создалось ощущение, что ИИ меня водят кругами и сами не понимают как правильно настраивать cmakelists.txt. Собственно исходники OBS studio есть, есть Magewell SDK с живыми примерами, которые как отдельные программы работают, установленны VS 2022, Cmake, но со всем этим мне очень тяжело разобраться, к программированию не прикасался с первого курса универа, и то там был VB, а в примере вроде бы C++. К кому мне обратиться по поводу написания плагина? Сколько это может стоить? Сам я очень далёк от этой темы и ломаю голову уже полнедели, с программированием даже не на "вы", на "ваше величество".
Пик - так выглядит окно MultiAudioCapture, собранной из исходников примера, работа которой, в целом, меня устраивает и хотелось бы просто её оформить в плагин.
Постараюсь мониторить тред, имейл для связи - cerberrius@mail.ru
>>3449411 Ты пишешь звук с компьютера потом куда то стримишь и там какой то картой захвата пишешь? И ты просишь написать какой то плагин к OBS что бы он как то обошел ограничения железа с драйвером и записал тебе зачем-то какой-то 5.1? Могу подсказать номер учереждения в твоем городе где тебе окажут необходимую помощь.
>>3449424 Странный ответ, приятель. Многоканальный звук нормально передаётся только по HDMI, по нему же передаётся видео с основного ПК на стрим ПК. Что вас смутило? Ограничения железа нет, заявлена поддержка картой 8-канального звука, но реализации программной нормальной под OBS Studio нет. С тем и пришёл.
>>3449431 Если бы ты писал звук с микрофона+синтезатора+гитары я бы еще понял, но ты спрашиваешь какую то дичь, у тебя блять карта для захвата видео ты пытаешься в нее что то со звуком проворачивать, у тебя нормально с кукухой все?
Если речь про 25 год то я бы сказал что учить что-то кроме плюсов вообще не имеет смысла, потому что программирование как таковое и как профессия останется только в Industrial Engineering. Все остальное скатится на уровень фронтенда с зарплатами в 1-2к долларов
>>3449457 современные видеокарты умеют отдавать звук через hdmi, можешь в диспечере устройств глянуть, наверняка у тебя будет тоже соответствующий драйвер поставлен в звуковых устройствах, в том числе и встройки процов тоже это умеют делать, отдавать звук через hdmi который на матплате распаян, в том числе и многоканальный звук они отдают нужно это для если упрощено говорить для "мониторов с колонками" а у него настроен такой вариант когда два компа, на одном компе он играет, и изображение (со звуком вместе) отдает через видюху через hdmi кабель на второй комп, где у него уже стоит карта видеозахвата и уже с этого компа идет стриминг в сеть нужно это для того чтобы разгрузить основной комп и минимизировать задержки (возможно он профессиональный киберспортивный игрок) ну и его проблема в том что софт который организует эти трансляции, передает двухканальный звук, в то время как существует техническая возможность передавать и многоканальный звук, но она просто не раализована вот он и просит написать плагин к obs studio который бы это делал
>>3448634 Да пишешь допом программу-сервер, эта программа может ничего не отрисовывать. Она знает где находится каждый куб и игрок и его движения. Клиентское приложение получает информацию где находятся кубы и игроки в его зоне видимости. Подтверждение движения и других действий могут быть двух типов: 1)действие произошло у игрока и отправляется на сервер, а с сервера другим игрокам. 2) создаётся запрос на действие, если сервер думает что это действие возможно то подтверждает и действие происходит у игрока и у других тоже.
Гаап (Gaap) — тридцать третий дух, великий губернатор и могущественный принц. Появляется, когда солнце находится в южных знаках зодиака, в человеческом образе, и идет впереди четырёх великих и могущественных королей, указывая им путь.
>>3450199 ну а нахуя тебе знание шаблонов и более того умения метапрограммирования шаблонами? такая же ненужная хута с полутора юзкейсами ты даже не сможешь с лету назвать зачем метапрограммирование нужно в спп, вернее эти самые полтора юзкейса тоже ненужная хуета забиваешь себе ей голову
посоны мы вот тут смеялись над растопидорами как они собираются убить цпп но придется признать тот факт что в плане уебищности синтаксиса они уже обошли кресты. время компиляции на подходе. что дальше? тревожно..
>>3450751 > время компиляции на подходе Так уже, раст собирается дольше крестов. Особенно с кучей зависимостей. Раст ещё любит пересобирать зависимости каждый раз. А уж наличие хот-релоада в крестах вообще обоссывает раст. В крестах разве что миллион шаблонов может притормозить скорость сборки как у CUDA, а у раста наличие борров-чеккера/лайфтаймов всегда медленно компилирует код.