>>2112427 Не надо пуллить проект и запускать IDE, если хочется покопаться в чьих-нибудь исходниках. Со сниппетом на 50 строк таких проблем нет, но тут жаба блять. Да и кодревью легче проводить.
>>2112447 Чел С быстрее всего. С++ это тот же С только с классами, темлейтами и STL грубо говоря. Классы стоят дорого. Но быстрее кодить и расширять функционал корпоративных приложений. Языки становятся медленнее из-за того что хотят быстрее писать коммерческий код.
Сейчас похоже на скорость положили окончательно. Ну или отдельно нанимают С++ бога и делают С++ вставки, честно говоря не знаю. Было бы забавно увидеть в каком нибудь питоне вставку С++ а в ней asm вставку с байтаёбством.
>>2112447 Наивно реализованные алгоритмы без оптимизации могут показывать близкую производительность с маргинальным отрывом крестов. Но как раз выразительность и практические неограниченная свобода(язык спроектирован так, чтобы доверять программисту, он знает что делает) позволяют из крестов выжимать самые эффективные реализации и это все подкреплено очень глубокими оптимизациями внутри компиляторов, которые разрабатывают уже десятилетиями. >>2112448 Почему же? Самый богатый и передовой в плане технологий движок Unreal Engine на крестах полностью. Да и в Unity на Шарпе только высокоуровневые вещи.
>>2112460 Ну у нас тот же Яндекс есть, в нем какой-то хайлоад на плюсах пишут. А переезжать куда? В Штаты? Не думаю, что в Европе ситуация сильно лучше чем у нас.
>>2112466 Аргументируй. Про первые 10% сам Страуструп сказал. Ну и это в среднем. Не знаю какое у тебя образование чтобы понимать что такое среднее значение.
>>2112454 С не может быть быстрее на комплексных задачах. Простой процедурный код имеет одинаковую производительность, тогда как работа со сложными структурами данных на крестах имеет гораздо больше выразительных возможностей, которые превращаются современными компиляторами в гораздо более эффективный машинный код. Тогда как код на C и так переносимый ассемблер.
>>2112478 Кресты не Жаба, которая вынуждает переход к абстракциям. В крестах абстракции только там, где они дают более эффективную реализацию. Ты не платишь за то, что не используешь.
>>2112488 За создание классов с геттерами и сеттерами возможно. Если честно не знаю. Если С отличается от С++ по сути классами то это из за них. Поправьте если не так.
>>2112253 >FizzBuzz Чет0то почитал. блядь, я не понимаю почему каждое десятилетие появляется хуита которая орет что если не можешь в такую чушь, то не программист... Раньше было "почему люки круглые а не квадратные"... Теперь это
Куда делись нормальные вопросы? например задача комивояжера (это хотя бы актуально и потребуется на практике)? Нахуя нужна эта олимпиадная дрочь?
Да блядь современный программист вообще не математик. Его задача рисовать окошки и кнопочки, да данные дергать туда-сюда, и чтобы быстро. Какие блядь числа?
Я в продакшене уже пять лет. Я блядь числа складывал последний раз видел в школе, и одной математической формулы за это время не выводил. Вся работа - монотонно дрочить тяжелые базы данных, пытаясь найти оптимальный путь и не тормозило. Да кнопочки таскать чтобы было юзабельно
>>2112707 Поясню тебе за Жабу. На Жабе ГУИ умер. Swing покойник, последний коммит в SwingX был 10 лет назад, причем его так и не приняли в мейнстрим и закопали вместе с репозиторием. SWT безнадежно устарел, хотя коммунити Еклипса его подпирает костылями, но тщетно, ведь под капотом на Винде Win32 API, а попытки переписать на WPF уже 12 лет заканчиваются ничем. В итоге нормальной поддержки HiDPI так и нет. JavaFX полуживая. Оракл ее закопал и выкинул из рантайма. Хотя это единственный инструмент для создания современного ГУЯ для Жабы. Пока поддерживается сообществом. API кривой, требует штудирования собственного языка разметки. Есть надстройки JetBrains над Swing и хоть код открыт, но лицензия не свободная, а все завязано на платформу IntelliJ.
На крестах и шарпе у тебя нативный доступ к WPF, графический нашлепыватель форм в студии, вот это всё. Хочешь кросплатформу - есть активно развивающийся Qt с богатым набором и продвинутым нашлепываетелем форм, GTK в конце концов.
>>2112704 Искал искал и не нашел. Возможно у Эккеля где-то в книге. Книга старая и возможно С++ уже быстрее. Нашел статью только чтобы как то оправдаться.
>>2112781 У сообщества Debian много лет существует проект бенчмарка языков. Они выбрали набор из 10-ти компутационно тяжёлых задач, реализацию которых на своем любимом язычке модет прислать кто угодно, если она соответствуем входным/выходным даным и алгоритму. Так вот, как C-господа не пыжатся, но таки чаще всего крестовики их обгоняют, причем иногда в полтора-два раза. Отличный показатель, что абстракции и дополнительные выразительные возможности на C++ компилятор разворачивает в более эффективный машинный код, чем чистую процедурщину на C, которая и так близка к машинной. Время в секундах.
>>2112880 Я знаю, но из альтернатив мало чо интересного, IMGUI это то, что нашёл, окошко и прочую хрень там рисует OpenGL, быстро, но в документации надо копаться. Из плюсов, не нарушает классический цикл программы с while
https://ultralig.ht/ Нашел такую шнягу, пойду курить. Есть оконный режим, в котором можно рисовать свой HTML-ный гуй. Надо только разобраться как происходит взаимодействие нативного кода с JS.
>>2112707 Если GUI тяжёлый в плане количества контролов и логики их взаимодействия, то под вендой C#, кросс - Qt. Во всех остальных случаях удобнее Web и жопаскрипт.
>>2112810 С-господа это по сути слесари, которые возятся с железом. Среди них попросту нет людей, способных нормально написать матаний. А вот писатели на фортране могут дать пососать всем остальным, благо язык позволяет.
>>2112831 Да. Бэкенд на плюсах заворачивается в nodejs модуль и цепляется в виде зависимости. Либо фронт (react) крутить на nginx и организовать общение с бэком (демон на c++) через http запросы.
>>2112893 Короче покурил, не готово для продакшена в GUI: - нету субпиксельного рендеринга шрифтов, еб твою мать - нету нативного диалога выбора файла, можно свой костыль написать, но еб твою мать, костыль для собтвенной генерации миниатюр слишком дорогой - нету drag'n'drop-а, что пиздец - нет HTML5 Video - нету Canvas-ов!! последнее вообще убило. У HTML5 движка(а под капотом обрезок WebKit), заточенного под GUI нету Canvas-ов. еб твою мать И это только то, от чего пригорело мне.
Что понравилось: есть нативная поддержка окон, при чем отрисовка DirectX, OpenGL, Vulkan в зависимости от платформы. Есть колбеки из DOM элементов, DOM можно дергать прямо из Си-шного кода, это оочень круто, посоны, есть нормальный интероп с JS.
Если допилят будет пушка ракета!! Обещают что в следующей версии VS Code будет заводиться под Ultralight. Что же, посмотрим.
>>2113454 Интероп с JS кодом там через жопу и ведро бойлерплейта, доступа к DOM-у нет вообще. Ебал я ваш Электрон в таком виде на крестах.
>>2113456 Если накуриться в хлам, то можно взять Chromium Embedded Framework. Но там очень низкоуровневый API. Зато есть интероп нормальный и колбеки с JS в нативный код. Но я не готов на такие жертвы для pet проекта.
>>2112707 Выгоднее в плане денег? Qt и никак иначе. У них ща целевое назначение - auto electronics, рисование гуёв для автомобильных бортовых компьютеров, за это неплохо башляют даже в мазер раше.
>>2113470 Да вроде еще до 11 стандарта завезли. Еботня с wchar вроде только в винде тогда была, да и то потому, что винда тогда в принципе с юникодом не дружила.
Помогите разобраться с этим SDK, интересует в частности B288 https://github.com/pocketbook/SDK_6.3.0/tree/5.19 Как начать с ним работать вообще? Хочу написать приложение для Pocketbook 740 Я поставил виртуалку с линухом, ввёл эту хуету >$SDK_ROOT_DIR/bin/update_path.sh А дальше что?
>>2113470 По факту нет. По-прежнему работать с UTF-8 стандартными средствами нельзя. >>2113518 https://en.cppreference.com/w/cpp/header/codecvt Охуенно завезли. И объявили deprecated в 17-м, порекомендтвав тспользовать сторонние либы, ахаха. Там в комитете какие-то шизоиды старые сидят и кричат что юникод нинужон и ASCII хватит всем.
>>2113777 Там по идее символы, не вмещающиеся в 1 байт, представляются в виде двух байтов или даже четырех, разве нет? Просто итерироваться по строке и доставать отдельные символы очень неудобно из-за этого.
https://ideone.com/OFnrw7 Можно ли вывести числа фибонначи через for-each более коротким способом (без вложенной структуры)?
Я придумал такое: https://onlinegdb.com/RaOcQd0FO После того как поставил ссылку перед operator++ (на строчке 27) оно даже перестало создавать новую структуру на каждом шаге (что мне очень люто не нравилось), но всё-равно вызывается лишний конструктор B(B) который на строчке 47 вызывается. Хотелось бы его убрать. Я потыкал перегрузки оператора = или конструктора, но не смог добиться его исчезновения какие бы конструкторы я там не объявлял.
>>2112253 >FizzBuzz Решал такую задачку на си в школе-21 на экзамене. Эта та где надо выводить типа если число делится на 4 без остатка то fizz если на 7 то buzz? Если то и это то fizzbuzz. Решил сам где-то за час. Была разрешена функция write(); while без break; for goto запрещёны.
>>2111351 (OP) Анонасы, чё учить дальше? Ща коротко о себе Учил с++ на протяжении двух лет по разным книгам (Страструп, Шлее(для QT), Саттер и т.д.), написал сотни разных тренировочных программ (мелочь всякая), студентам задачи решал, освоил немного геймдев с sfml, машинное зрение openCV, чуть-чуть сетевого программирования и потом забил на это дело сроком на 2-3 месяца. Сейчас проблемы в жизни порешал и решил вернуться обратно, вот только две проблемы - я забыл всё нахуй и я не знаю чё там сейчас востребовано. Для потенциального трудоустройства ещё целый год, поэтому время есть. Чё делать?
>>2114225 Блджад, снимать штаны и бегать по собеседованиям. Чисто разведка боем, узнаешь, что нужно, что используют, в каком объёме, ну ты понел. По моему попыту: Qt - либо мега-гига-чед-сениор с С2-английским в международную контору за $5000 сразу, либо старший помощник младшего научного сотрудника в НИИ ХУЯ за 65 килорублей с формой допуска пилить гуйцы под винХР; биржи и прочий финтех - тоже хотят мега-гига-чед-сениоров, правда, и платят хорошо, но на собесе выебут и высушат многопоточностью, lock-free, когерентностью кэшей, NUMA, DPDK и прочим низкоуровнеебанием. Есть еще гейдев - ну тут ты понел. Если кратко - оно того не стоит. Вообще. Могу порекомендовать телеком - платят поначалу так себе, но поднатаскаешься в современном эмбеде, никсах, сетевом взаимодействии от L2 до L7 включительно, тех же NUMA и DPDK, а там и денег больше попросишь, и уйти в более хлебное место с попытом гораздо проще. Кароч, разведка боем - твой путь, падаван.
>>2114403 В ближайшие пару месяцев всё-равно не будет возможности сгонять на собес, поэтому вот и спрашиваю. НУ многопоток я изучал, чет даже писал, но не особо серьёзное (для серьёзного опыт нужен, которого нет и откуда взять я хз). Пытался в сети, но дальше чатика дело не зашло, хз, то ли объясняется слишком сложно, то ли я тупой. В общем вот. А, ещё был WINAPI, но я эпично проебал свой проект, забыв его сохранить и установив линукс.
>>2114444 WinAPI уже тыщу лет как мёртв. Под винды всё пишется на дотнете в лучшем случае, а чаще уже на электроне привет, чатики по 2 Гб рамы. Весь эмбед - это никсы, не обязательно линукс, но он пригодится, POSIX везде один и тот же. Многопоток - это для синьоров-помидоров, вряд ли джуна будут спрашивать что-то серьезнее мьютексов-кондваров-асинков, а там всё просто. Кароч, тут уже не язык, а скорее прикладное, там, купи малинку, собери под неё что-нибудь в билдруте или йокте, уже что-то.
>>2114465 Можешь подробнее рассказать про малинку? Хотел попробовать писать на Ардуино, но меня отговорил какой-то чел на форуме, типа это бессмысленно. Про микроконтроллеры был вопрос на собесе, типа есть ли опыт, я сказал, что нет и забил, подумал, что это слишком узконаправленная специализация
>>2114469 Пчел, вместо того, чтобы метаться из угла в угол и писать всё подряд, ты бы лучше направление денежное себе выбрал и копал в одну сторону. Всё, что ты делал до этого, слишком банально.
>>2114657 >два года хуйнёй занимался Видимо this >>2114658 >направление денежное Это какое такое? Я язык учил и всякую хуйню, чтобы типа разбираться. Один хуй на работе покажут, что надо делать именно им
>>2114927 Ну вот эти вот "они" могут быть коммерческими организациями с деньгами (банки, телекомы), а могут быть нищим российским производством (конторы, делающие эмбед). Погуглив вакухи в соответствующие конторы можно понять какие языки и технологии надо учить, а какие не надо.
делаю тут калькулятор по видосам. Толи устал толи действительно так есть но вижу что разрывы между кнопок неодинаковые, пиксели сравнил - сходятся разрывы по 2 пикселя. может чё со стилями?
Поясните про символьные типы. Char это понятно, ASCII символы. Но почему не получается с помощью char_t, wchar_t вывести например кириллицу в поток? char16_t test = 'б'
>>2115133 Чтобы несколько разрабов могли вести разработку параллельно и потом сливали всё воедино без ручного перебирания файликов, ещё можно в любой момент переключиться на старые или новые версии проекта без распаковывания архивов с исходниками.
>>2115131 Я про всю эту тему с кодировками. Стоит ли вообще эту тему задрачивать и дальше продолжать изучать плюсы? Просто там очень много нюансов и-за тупой винды
>>2115140 С кодировками ты ещё столкнёшься, но не в том виде, чтобы выводить в консоль кириллицу, а, например, при чтении файлов или обработке данных из сети, но там не надо возиться с системной локалью, вместо этого юзаются библиотечные функции для конвертации кодировок. Сейчас это не самое важное.
>>2114944 >Погуглив вакухи в соответствующие конторы можно понять какие языки и технологии надо учить, а какие не надо.
Учить нужно ту предметную область, в которой тебе будет интересно развиваться. Много денег платят за жабий энтерпрайз в банках, только вот попав в такой энтерпрайз, ты рискуешь навсегда остаться в том болоте. А через 10 лет пойдешь жить на улицу, так как твои знания спринга и хибернейта в 2030 году уже не сильно нужны, а твоего банка может и не стать. Примерно то же самое происходило с Java EE в течение последних нескольких лет.
Я вот поработал в энтерпрайзе и больше туда никогда не вернусь. Сейчас в нативщине полно интересных проектов, точнее они всегда были, та же графика, рендер, всякие геометрические ядра, графические движки, распределенные системы и хайлоад, базы данных вроде кликхауса от яндекса + хуавей что-то свое пилит, компиляторы, сетевые шутки, анализ трафика в реалтайме, HFT, ROS, инфобез, да и еще куча всего интересного наверняка есть. Никто же не заставляет идти на ближайший завод формочки на Qt рисовать или на том же заводе микросхемы паять за 30 тыщ в месяц. Конечно, хоть какое-то образование нужно иметь чтобы вкатиться на интересные проекты, но базовой технической вышки, знания плюсов и каких-нибудь специализированных курсов по предметной области вполне хватит для джуна-стажера. Тем более, что по плюсам, многопоточке и распределенным системам есть очень годные курсы на русском языке.
Плюсонелы какие-то лохи. Задрачивают один из самых сложных языков чтобы получать гроши, или кранчить в бодишопах геймдева. Не, я плюсы люблю, это самый высокопроизводительный язык в мире, в конце концов, с морем возможностей, но, БЛДЖАД, это хобби, не больше. Надо смириться и искать работу на Жабе и тому подобному.
>>2115354 Интеллектуальная пропасть между человеком, способного изучить плюсы в ньюансах и деталях между спринг-макакой какой-то просто феноменальная, но типичный обыватель этого не понимает и считает плюсы просто устаревшей технологией, не модно, не мелобежно, епт.
Кто-нибудь на собеседования ходил на мидла или синьёра недавно? Что спрашивают обычно? Что подразумевается под >понимание принципов ООП >понимание многопоточности Пишу на крестах уже года 3 и понятия не имею, есть ли у меня это понимание.
>>2115354 Это какой-то миф. За кресты платят не сильно меньше чем за жабу. На 20-30к отличается зарплата между всеми "мейнстрим" языками. Будешь получать не 300к на руки, а 270. Не велика потеря. Сравнил бы лучше жабу и эликсир, там чуть ли не x2 разница.
>>2115354 программисты вообще нафиг не нужны стали с тех пор как был написан софт что стал позволять проигрывать 4к порно через интернет а банковскую проводку можно было прекрасно делать еще в 70е на коболе и все было норм а чтобы рассчитать ядерную бомбу и полет на луну, компы вообще нахуй не нужны были достаточно было набрать баб с логарифмическими линейками и книгами таблиц
>>2115366 Пиздишь, ебаный неуч. Если бы не инженерный шедевр Apollo AGC и его софт в core rope памяти, это банка из фольги на Луну никогда не села бы. Почитай хоть про инерциальную навигацию, необразованный дебил.
>>2115359 >понимание принципов ООП SOLID, GRASP, паттерны банды четырех. >понимание многопоточности Ооо, а вот тут ебать будут долго и счастливо! А какие способы синхронизации вы знаете? А в чем разница между мьютексом и спинлоком? А когда что использовать? А что можете рассказать про деструктор асинка? А что такое lock-free? А в чем разница между memory_order_seq_cst и memory_order_relaxed? А про барьеры памяти знаете? А вот у нас атомик такой, вот атомик сякой, вот барьер какой, в одном потоке такая хуитка, в другом такая - что будет? А в чем разница между compare_exchange_weak() и compare_exchange_strong()? А на арме? А на x86? А как у них когерентность кэшей достигается? И т.д. и т.п.ю
>>2115380 Второе просто, а первое не знаю совсем. Реально до сих пор в крупных конторах угорают по паттернам? Я думал это неактуально уже, у нас никто их не обсуждает, просто пишут чистый, читаемый код и всё.
>>2115359 У меня коллега сходил на пару десятков его везде отхуесосили, не считая ебических тестовых заданий на дом, предложили лишь в одном месте 140, да и то, добираться охуеешь, теперь сидит готовится на джава Джуна, сказал на хуй эти креств
>>2115831 Так если просто работать работу, то рано или поздно остановишься в развитии. В идеале нужно либо учиться (особенно когда ты еще не сеньор) либо прыгать по проектам в поиске сложных задач.
>>2115739 Да ничего он тебе не расскажет. Где-то слышал про "интересные направление" и "много курсов", решил вот высраться.
По факту энтерпрайз есть и на плюсах в аутсорс за неплохие деньги, но говнище редкостное. Движки и графика - вакансий мало, долбоёбов вкатышей много, 80% блядский гейдев. Геом. ядра с 80-х пишут и там работы ещё меньше, нужны в основном матанисты-алгоритмисты, а не щи плусплус. HFT на спаде, в основном допиливание того, что есть. Сети и безопасность всегда будт ноги кормить. Остальные направления (компиляторы, хуйлоад и прчее) слишком сложны для большинства вкатывающихся.
>>2115838 Да фиг знает, там как кривая выведет. Ты можешь прокачаться и под себя сначала проект выбить, а потом целое направление прорабатывать архитектуру, иметь долю и попёрдывать в кожаное кресло. Ну то есть после определённого момента уже не важно, как ты там с++ знаешь.
6. Неплохой курс про видеокарты, конкретно про С++ речь не шла почти, но вот для интересующихся графикой и вычислениями на видеокартах наверняка зайдет.
Годных курсов по сетям или компиляторам на русском, увы, не нашел (про компиляторы есть курс от стенфорда, называется Compilers, есть на рутрекере). Но думаю базовых курсов по плюсам, которые выше скинул, вполне хватит чтобы джуном куда-нибудь залететь.
>>2115854 >Движки и графика - вакансий мало, долбоёбов вкатышей много, 80% блядский гейдев. Геом. ядра с 80-х пишут и там работы ещё меньше, нужны в основном матанисты-алгоритмисты, а не щи плусплус. HFT на спаде, в основном допиливание того, что есть. Сети и безопасность всегда будт ноги кормить
Тут согласен, хотя по личному опыту пара знакомых пошли работать в графику писать рендер и движки. Геймдев конечно дно в плане условий работы, но интересных задач там довольно много (если это конечно не говно под андроид уровня три в ряд и прочая срань). HFT в России не особо живой, но в финтехе (в том же дойче) все еще нужны спецы. За рубежом вакансий ощутимо больше.
>Остальные направления (компиляторы, хуйлоад и прчее) слишком сложны для большинства вкатывающихся
Сейчас почти любой относительно интересный бекенд так или иначе с распределенными системами или хуйлоадом. Понятно, что писать круды на той же жабе гораздо легче, устроиться проще, да и вообще зачастую платят больше. Но вот развития на такой работе будет немного, только первые полгода-год, когда ты только пришел джуном. А если попадешь на древнее легаси говно, где все программирование заключается в пердолинге огромных XML конфигов для spring 3 или вовсе java ee ibm websphere, то спустя пару лет внезапно поймешь, что твой опыт вообще никому не был нужен, а в среднестатистическом универе лабы были гораздо интереснее твоих рабочих тасок.
Компиляторы просто мало кому нужны, но в том же JB и хуавее компиляторы пишут. А еще есть ИСП РАН, где можно студентом за еду поработать над их компиляторами, хотя иногда бывают гранты и заказы от других контор, вот там уже доходы побольше будут. И про всяких лидеров отечественного и не очень процессоростроения забывать не стоит, в тот же МЦСТ нужны компиляторщики, а интел и вовсе стажировки для студентов проводит (но там не только компиляторы).
Если брать сферического вкатуна в вакууме, то ему конечно не нужно учить плюсы или вообще что-то сложное, где нужны знания вычислительной математики/осей/сетей/архитектуры пк/алгоритмов, если у него нет хотя бы базовой прогерской вышки. Им нужно в пхп, 1С, фронтенд, джаву.
>>2115758 У него несколько лет стажа, мы пишем на ++, python, qt, php, сразу и фронт и бэк. Просто все ищут спецов строго под ++ и всем похуй что ты там ещё дохуя всего умеешь. Какую нибудь ебнину спросят по поводу передачи параметров в ф ию и кадр стека и когда через регистры возвращается, а когда через стек или любят олимпиадную задачку дать и мост бибу, скатывались мы все через НИИ, через несколько лет из ++ двое ушли вообще из профессии, трое в Яву, а мы в другую контору. Теперь те кто себнул в Яву уже на 170 сидят , а мы блять разбираемся как мьютексы реализуются в ос, т.к. это спрашивают.
>>2116077 >мы пишем на ++, python, qt, php, сразу и фронт и бэк Ну как бы в этом и проблема, вы работаете в каком-то мутном месте, где одни и те же люди пилят все подряд, а в современных крупных конторах нужны специалисты под одну отрасль, а не под все сразу. Кстати сам С++ не заточен под какую-то конкретную область, вы можете дрочить несколько лет какие-нибудь сетевые протоколы или графику, а на новом месте вас попустят на каких-нибудь численных методах или пребразовании лапласа, лол.
В джаве все +- стандартно в этом плане, 8/11 версия, спринг, хибернейт, sql, какое-то количество легаси, но везде пишется бекенд и ничего более.
Вот смотрите, есть например класс Монстр, есть его конструктор: Монстр (сила=1, ловкость=1, жизнь=5, и т.д.) : m_сила(сила), m_ловкость(ловкость) и т.д. От него я наследую класс Гоблин с конструктором: Гоблин (сила=5, ловкость=7, жизнь=10, и т.д.) : Монстр(сила, ловкость, жизнь и т.д.) И я допустим создал дохуя дочерних классов от Монстра. И теперь мне понадобилось внести изменение в класс Монстр, а именно добавить новое поле скорость, чтобы конструктор выглядел примерно так: Монстр (сила=1, ловкость=1, скорость=1, жизнь=5, и т.д.) : m_сила(сила), m_ловкость(ловкость), m_скорость(скорость) и т.д. И теперь мне приходится во все конструкторы дочерних классов ручками вписывать это изменение, и это в 21 веке. Как автоматизировать?
>>2116092 Да. Место мутное. Околонаучная хуйня. От нас ждут быстрых прототипов, что-нибудь придумать, разобраться. Проблема в том что мы уже работали в крупных конторах где работа от забора до обеда и нам там было хуево, а тут долгое время очень нравилось, это действительно было охуенно и с железками повозиться и сервера на линуксе развернуть и бд попроектировать. Пишешь какой-нибудь сервис для датчиков, а потом твои приборы отправляют в экспедицию, смотришь, охуенно, но сейчас как и все у нас развалилось к хуям, пришла в рук-во новая команда, выпиздованная с предыдущего места. Просто тяжело съебнуть с работы на которой вообще не надо особо напрягаться, просто осознаешь что дальше дно.
>>2116191 Ну кстати в той же джаве ты будешь с утра до вечера выполнять говнотаски по перекладыванию джейсонов, а твоими коллегами будут 35 летние гречневые работяги. Хочешь относительно интересную работу - иди куда-нибудь в яндекс/хуавей/сбердевайсы, там сильные команды и нормальные задачи. Если уходить из плюсов, то наверное лучше куда-нибудь в го или на худой конец раст, сейчас они на подъеме, озон и авито пишут на го, а скилловым стажерам вообще готовы по 90к платить.
>>2116092 Да нету у них проблемы. Есть два стула - эникейщик, скачущий по разным работам за среднюю зп и узколобый специалист на пайке, для которого по 2-3 вакансии в год открывается. Им на первом стуле комфортнее ибо реально интереснее, хотя при нехватки компетенций - полная жопа.
>>2116367 Обновляется, но иначе, чем другие языки. В C++ первичен стандарт, он сейчас выходит примерно раз в три года (98, 03, 11, 14, 17, 20), дальше в соответствии со стандартом реализуют/обновляют компиляторы, но, конечно, не мгновенно.
>>2116378 30 - точно нет, так быстро ни один язык не умирает, всегда будет время перекатиться. Более дальние сроки сложно прогнозировать, но в расте нет ничего такого, чтобы нужно было срочно бросить кресты и всё писать на расте.
>>2116379 Через сколько по твоему,умрет с++? Я Планирую обучять ЯП,и стою между с# и с++,по этому думаю,что бы не было такого.что бы когда отучился язык уже умер бы
>>2116381 Лично я не думаю, что он умрёт, но зарекаться не стану. Если начнёшь учить прямо сейчас, такого, что научился, а язык умер, точно не будет. Ты успеешь его хорошо выучить, найти работу и поработать несколько лет, и только после этого могут на горизонте замаячить проблемы.
>>2116469 Схуяли технарю быть руководителем? Он проходил интервью, жопу рвал доказывая как он пиздато шарит в технических аспектах. Не его заставляли, а он сам прилагал все усилия чтобы попасть на должность технаря. А теперь что? Он себя не на своем месте чувствует чтоле?
>>2116381 >>2116659 А с чего вдруг С++ должен умереть? На расте во многих случаях писать не так удобно, как на плюсах, приходится постоянно залезать в unsafe. Может, какие-то криптостартапы и перешли на раст, то вся остальная индустрия системщины (и там где просто нужен перфоманс) сидит на плюсах. А других конкурентов у С++ просто нет.
>>2116664 c++ умрет потому что он не модный-молодежный,в отличии от rust.Постепенно количество новый проектов на плюсах начнет стремиться к нулю и настанет cpp-капец.Останется только поддержка легаси
>>2117003 >Крупные фирмы берут в бэк Только яндекс и частично мейл.
>>2117003 >самса, интел и касперский пытаются в системную прогу Самсунг (во всяком случае их ресерч центр) больше по машинному обучению. В касперском в основном узкая специализация на кишочках винды. В интеле годнота, да, только непонятно какие оклады, да и вообще в Москве у них не так уж и много вакансий.
А если брать не выборочно топ компании, а обычные, то там сразу же всплывают формочки на Qt, MFC, C++/CLI, ембеддед и какие-то мутные НИИ и оборонные предприятия.
Выучил основной синтаксис, некоторые std классы (vector, string, list, map), основы ООП и прочую базовую хуйню. Какую книгу прочитать про такие вещи как std::move, std::unique_ptr и т.д?
>>2116978 В большинстве случаев It является производной от другой сферы деятельности. Есть производство - под него возникают эмбед конторы. Банки, страховщики и им подобные - энтерпрайз и финтех. Торговля - web и дизайн студии. И так далее. Особняком стоит разработка игр, которая не является производной отраслью.
Рассеянская экономика состоит из трубы, оборонки, торговли, сферы услуг и развлечений. Посему работа на с++ это говНИИ, нищий эмбед, блядский игрострой и хуй да нихуя хороших вакансий от зарубежных компаний.
>>2118308 Дорогие машины, особенно новые, это просто выброс денег в мусорку. Их логично покупать ради развлечения, только если для тебя вся стоимость машины это карманные деньги. Как арабские шейхи, которые летят в ЮК чтобы заказать себе новый Ягуар, и покупают ВСЕ цвета сразу, чтобы потом по настроению выбирать. И доставляют из самолетом. Вот для них это норм трата.
Поясните за CMake/make, что это такое и зачем нужно. Ну либо ссылочку дайте. На первый взгляд это какой-то костыль ебейший. В других ЯП с которыми я знаком достаточно просто в начале файлика написать пару ключевых слов аля import/export/package и путь до файла и все работает, а тут какой-то дополнительный язык программирования со своим синтаксисом для этого нужен, лол.
Если надо заранее объявлять память, то как реализуются сущности постоянно увеличивающие (или уменьшающие) занимаемую память, как векторы, таблицы в exel, абзацы в word?
>>2118583 Заранее выделяется большой кусок памяти, а потом, если вдруг не хватило, выделяется новый кусок побольше и в него копируется всё, что было в прошлом куске.
Аноны, подскажите пожалуйста, в проекте на QT есть массив static qbytearray recievedData, который содержит в себе данные из комопорта (путем recievedData.append) , могу ли я сделать этот массив(а так же его размер) видимым для всех функций окна mainwindow, при условии что изначально я не знаю его конечный размер.
>>2118586 >Как к вам можно попасть? Зааплаится на воркдее или хх - я именно так попал. Без какого либо блата\знакомых\етц
>Какие скилы нужны? с++, алгоритмы, матан ? От вакансии зависит. С++ очевидно нужен на все С++ вакансии, но если ты хочешь на девтека - будь добр имет опыт 3д графики, если на системщика - ну попиши пару лет системное ПО и тд.
>Что спрашивают на собесе Чел, тоже самое, что и везде - С++ и предметную область
Понял. Тебе нужна методология тайминга, а не инструменты тайминга, попробуй погуглить чт то такое. А так то что ты описываешь это нормально, скорее всего при первом запуске у тебя данные кешируются на цпу и последующие просто юзают его, это не проблема std::chrono или иного инструментария, а фичи современныx цпу.
Поясните, что делает weak_ptr::reset. Cppreference говорит, что “releases the ownership of the managed object”. Имеется в виду, что он освобождает владение объектом для всех shared_ptr или просто сбрасывает ссылку на объект у weak_ptr?
В проекте нашел код такого вида: В конструктор класса подается интерфейс типа ICar. Когда создается инстанс этого класса, то туда подается реальный объект Car. Ничего необычного. Но для чего-то в конструкторе класса написана такая логика: Ctor(ICar ⚹ car) : m_car(static_cast<Car ⚹>(car)) { … } m_car - это ICar Кто-нибудь может объяснить смысл этого каста? Зачем так делается?
>>2119555 ну, наверное, они делают срезку до Car потому что все остальное их не интересует, или хотят отключить виртуальные функции в интерфейсе ICar, кто знает что в голове у программистишек на самом деле
>>2116674 также говорили и про джяву, и про D, о котором зумеры даже и знать и не знают. Это судьба любого очередного убийцы плюсов, увы. Раст в лучшем случае займёт другую нишу, особо не пересекаясь с С/С++, в худшем случае кончит как D.
1. Почему в ассемблерном коде нет обращений к ячейкам оперативной памяти, а только к регистрам? 2. Проблема утечек памяти известная проблема в плюсах. А что если взять глобальную переменную i и каждый раз ее инкрементировать/декрементировать при выделении/освобождении памяти. Так можно отслеживать утечки памяти. 3. >>2119944 > Раст в лучшем случае займёт другую нишу, особо не пересекаясь с С/С++ Почему?
>>2119968 > 1. Почему в ассемблерном коде нет обращений к ячейкам оперативной памяти, а только к регистрам? Есть, если копнуть чуть дальше хеллоуворлдов на асмемблере. > 2. Проблема утечек памяти известная проблема в плюсах. А что если взять глобальную переменную i и каждый раз ее инкрементировать/декрементировать при выделении/освобождении памяти. Так можно отслеживать утечки памяти. Так можно узнать только то, что в программе где-то утечка. Бесполезная инфа, если не знать, где. Да и смартпоинтеры есть.
>>2112467 Намного лучше. И в Европе, и в США, да и не только. Я сам из Израиля, занимаюсь embedded и пишу почти фул тайм на плюсах, здесь способный джун-байтоёб вполне может начать с з.п. 5500-6000$ при МРОТе 1600$ и средней з.п. по стране 3500$. Веб-макаки зарабатывают не больше. Либо столько же, либо меньше, но конечный потолок з.п. в итоге выше у байтоёбов, поэтому опыт и продвижение по карьерной лестнице играют в их пользу. Такая же ситуация и в Европе могу ручаться только за Эстонию, Швейцарию и Германию, так как имею друзей-разрабов оттуда, и в США. В принципе, в любой стране с хорошим развитием IT отрасли байтоёб оверолл будет зарабатывать больше, чем веб-макака, особенно синьор.
>>2119968 >Почему? В мире языков программирования невозможно и совершенно недопустимо делать все с чистого листа. Независимо от того, какие новые идеи пытаются внедрить (безопасность, эффективность, простота, стоимость и т. д.), невозможно оставить все и начать заново.
Когда девы начали кодить на высокоуровневых (не асм) ЯПах, все писали на Фортране. В то время забросить Фортран было невозможно. Понадобилась пара гениев, которые создали C - язык, у которого было ключевое преимущество - было очень легко перевести код на Фортране на C. Другим преимуществом C было то, что его компилятор был очень простым, поэтому его реализация на новых машинах была очень простой и безболезненной. Си как бы стал продолжением Фортрана, причем сам переход был очень мягким с учетом особенностей Фортрана. Была также создана операционная система Unix, полностью написанная на C. Все это привело к тому, что мир потихоньку перебрался на С. И стоит учесть тот факт, что в те времена программирование лишь зарождалось, никакого наследия еще и в помине не было.
Но потом произошло еще кое-что: Simula, Smalltalk привнесли очень важную парадигму программирования - ООП. В любом случае, как всегда, в то время было невозможно начать с нуля, как и при переходе с Фортрана на С. Было необходимо внести небольшие и прогрессивные изменения в новый язык C, но с учетом парадигмы ООП, по максимуму сохранив совместимость. Это понял другой гений - Бьярн Страуструп, создавший C с объектами (сегодня C++). Эта идея (построить будущее, сохранив прошлое) позволила медленно перейти на новый язык. Этот переход был возможен только потому, что C++ был полностью совместим с C, включая даже ABI, и включал в себя совершенно новый, ранее неизвиданный прогресс в области информатики - объектно-ориентированное программирование и обобщённое программирование (привет темплейтам, позволяющие делать многие вычисления в компайл-тайме). Даже сегодня, 40 лет спустя, этот переход очень трудный и медленный. C++ полностью так не заменил Cи и, вероятно, никогда полностью его не заменит. Посмотри на мапу любого процесса на своём компьютере - ты увидишь кучу динамических библиотек (которые не легаси и активно поддерживаются и обновляются), которые написаны на голом С, даже не на плюсах. Но важный момент заключается в следующем - для перехода на новый язык единственная возможная альтернатива - сделать так, чтобы он каким-то образом поддерживал прошлое наследие. Никакой резкий и кардинальный переход в мире языков программирования категорически невозможен.
В настоящее время C++ - это непрерывный прогресс и отсутствие стагнации: C++ 98 -> C++ 03 -> C++ 11 -> C++ 14 -> C++ 17 -> C++ 20 -> C ++ 23 и так далее. Все это сохраняет полную совместимость с прошлым наследием и с языком С. Единственное, что позволяет какому-либо языку заменить другой в его же нише - очень медленный и адаптивный переход, и никак иначе. Выскочки, предлагающие нечто разительно отличающееся и новое, либо умирали (например D, а раст пытается сделать то же, что и пытался язык D), либо выживали и занимали другие ниши (Java и т.п).
Если даже в 80ых годах резкий переход был невозможен, то сегодня, когда написаны миллионы программ, есть миллионы программистов, миллионы учителей, сотни тысяч бесплатных библиотек, почти все операционные системы написаны на С/С++, несколько бесплатных полностью оптимизированных компиляторов C++ (для всех машин, а не только тех, которые поддерживают LLVM, как в случае с растом) и активный комитет C++, который постоянно развивает язык, то просто невозможно взять принципиально новый язык программирования, да ещё и в области системного программирования, и заменить им наследие С и С++.
Почему раст, скорее всего, мертворожденная поделка или в лучшем случае нишевый ЯП, который не будет пересекаться с С++ в его области? Поскольку языки вроде раста не представляют собой достаточно важный шаг в развитии компьютерных технологий, а также они несовместимы с прошлым и, скорее всего, будут сильно меняться в будущем, то вероятность этого языка выстрелить таким образом, чтобы он убил С или плюсы - это сюр. Это просто невозможно по тонне причин, включая экономические. Он максимум займёт другую нишу, но это в лучшем случае.
>>2119968 >1. Это зависит от архитектуры процессора. в x86 можно совершать direct addressing, но это из-за легаси 40-ка летней давности, когда еще не существовало виртуальной памяти. В современных ОСях это рудимент, так как помимо модели виртуальной памяти, присутствует ASLR (address space layout randomization) и многие бинари являются позиционно-независимыми могут исполниться вне зависимости от базового адреса, куда загрузился бинарь, засим для адресации переменной/функции нужно посчитать её абсолютный адрес в рантайме, для чего и используются регистры. >2. Бесполезная хуйня без задач, ибо есть умные указатели.
>>2119977 >Намного лучше. И в Европе, и в США, да и не только. Я сам из Израиля, занимаюсь embedded и пишу почти фул тайм на плюсах, здесь способный джун-байтоёб вполне может начать с з.п. 5500-6000$
Понятно, что лучше в плане карьеры и зп. Я бы хотел перекатиться куда-нибудь, но понимаю, что для меня это в принципе невозможно - я крайне необщительный стеснительный человек с тревожным расстройством, боюсь людей, водить машину, принимать активное участие где-либо, по сути я инвалид. И если в РФ я могу найти какую-нибудь работу за 400-500$ программистом у себя в родном мухосранске, то в другой стране я очень быстро опущусь на самое дно социума.
Другое дело, если ты по жизни активный и умеешь располагать к себе людей, не боишься чего-то нового, то наверное попробовать перекатиться стоит. Но это явно не про меня. Мое место здесь, в родном задрищенске, здесь я родился, здесь я в скором времени и умру.
>>2120020 Ну тогда лечись, вроде врачи научились лечить тревожное расстройство. Выбор за тобой - жрать говно в стране, где IT не развит от слова совсем, и довольствоваться крудошлёпством в говноконторе за копейки, либо перекатиться в нормальную страну и жить как белый человек. Всё в твоих руках если вылечишь свою голову офк
>>2120012 Ясно. У каждой ниши задач свой язык, который трудно заменить, если он не поддерживает обратную совместимость и не предлагает кардинально новые идеи.
>>2120012 > Понадобилась пара гениев, которые создали C Гениев-то гениев, только вот они жидко обосрались, поставив на слабую типизацию. Но они хотя бы было первопроходцами, им простительно. > Было необходимо внести небольшие и прогрессивные изменения в новый язык C, но с учетом парадигмы ООП, по максимуму сохранив совместимость. И это сделали пара других чуть менее гениев, создав Objective C, который принес в сишку всю выразительную мощь Smalltalk. > другой гений - Бьярн Страуструп Творожок из-под залупы он, а не гейний, который до сегодняшнего дня, похоже, так и не понял какое убожество породил. > объектно-ориентированное программирование В крестах одна из самых убогих пародий на ООП. > обобщённое программирование Не хватало каши из двух языков (препроцессор и, собственно, сишка), так ввели третий. Охуеть каким нужно быть дауном для этого.
>>2120109 >поставив на слабую типизацию Которая, внезапно, упрощает многие моменты. Да, небезопасно. Но если ты знаешь что ты делаешь, то это мощный и гибкий инструмент, не требующий лишний телодвижений. Олсо, когда создавался С++, слабая типизация в сишке также бралась в расчёт. >И это сделали пара других чуть менее гениев, создав Objective C Не спорю, этот язык так-то держит всю системную часть macOS. >В крестах одна из самых убогих пародий на ООП Одна из самых убогих пародий на ООП в пайтоне, а в плюсах с этим всё нормально в расте ООП вообще нет, там какая-то полупроцедурщина, полуфункциональщина - ни рыба, ни мясо. Каковы твои аргументы? >Не хватало каши из двух языков (препроцессор и, собственно, сишка), так ввели третий. Охуеть каким нужно быть дауном для этого. В плюсах шёл упор на сильную типизацию, в отличие от сишки, что сподвигло создать типобезопасный и более выразительный аналог макросам. В проде почти никто вообще никто, наверное не пишет чисто в парадигме метапрограммирования весь софт. Но грех не юзать темплейты тогда, когда надо, не абузя их слишком сильно. С++ тем и силён, что даёт тебе почти что бесконечный набор инструментов. Ты, как разраб, только должен выбрать правильный инструмент в нужный момент. Да, этот язык беспощаден к новичкам, но опытный С++ разраб может творить чудеса. Этот язык - воистину швейцарский нож. В плане scalability этот язык безоговорочно №1 в мире. Есть 1001 причина тому, что его не только Раст не убьёт, а вообще любой другой язык.
>>2120012 >для перехода на новый язык единственная возможная альтернатива - сделать так, чтобы он каким-то образом поддерживал прошлое наследие
C делфи все перебрались на другие языки, а сам делфи похоронили. Сейчас десктоп пишут на электроне и на qt, на легаси почему-то всем давно похуй, хотя делфи был не самым плохим инструментом своих лет
>>2120029 >IT не развит от слова совсем Может и не развит, но по сравнению с почти всей Европой, в РФ много вакансий на самые разные темы, особенно в Москве. Может в бритахе веселее в плане фаангов и HFT, а в германии в плане эмбеддеда (у них просто производство не совсем сдохло в отличие от нас), но во в среднем европа очень отсталая в плане технологий.
>>2120029 >либо перекатиться в нормальную страну и жить как белый человек Без своей недвиги ты будешь жить не как белый человек, а как самый настоящий раб, который платит ипотеку всю жизнь до смерти. Ну и белыми людьми даже твои дети не станут, ибо их постоянно будут подъебывать из-за национальности предков. А вот внуки уже вполне, только не факт, что к тому времени белые люди вообще будут существовать в достаточном количестве, а не на уровне погрешности.
>>2120360 Подъехали манясравнения. Делфи был просто некогда более популярным языком, чем сейчас. Он нигде и никогда не господствовал. С С/С++ всё с точностью да наоборот. Ты вообще в курсе, что на этих двух ЯПах держится весь мир компьютерных технологий? От прошивки в твоём холодильнике и стиральной машине до софта на марсоходах и космических шаттлах. Браузеры, базы данных, игровые движки, операционные системы, роботы, интернет вещей, вся автомобильная промышленность включая автономную, самолёты - от гражданских до истребителей, прошивки роутеров, веб серверы, хайлоуд всех мастей, медиа плееры всех видов, компиляторы, виртуальные машины, инфраструктура других, более высокоуровневых, ЯПов движки жса все написаны на плюсах, JVM написан на плюсах и т.п., сотни тысяч опенсорсных и закрытых библиотек, которые составляют почти 100% от рантайма ЛЮБОЙ программы на твоем смартфоне/настольном ПК. Продолжать? С и С++ В Е З Д Е, на этих языках literally держится весь айти и весь мир компьютерных технологий. Переписать 5% из всего вышеперечисленного - это сотни миллиардов долларов и годы кропотливой работы. Ни одно, ни другое нахуй никому не упёрлось, тем более, если новый ЯП не даёт какого-то технологического йоба-прорыва спойлер - не даёт
Ты всерьёз сравниваешь Делфи, который был временным инструментом для удобного скриптовысирания, с основой всех компьютерных технологий в мире? Ты адекват?
>>2119977 >. Я сам из Израиля, Вот кстати самая дорогая страна где я был. Как приехал охренел что израильская редиска у нас в три раза дешевле чем в самом Израиле лол
>>2120383 >но по сравнению с почти всей Европой, в РФ много вакансий на самые разные темы Рассмешил. В рашке нет нихуя, кроме нвидии, Касперского и 100500 контор, нанимающих веб-макак и крудошлепов на сверхунылую работу. На этом парашкинский айти заканчиваетя. >европа очень отсталая в плане технологий По сравнению с рашкой-то? В голос с твоего манямирка. Ты ещё скажи, что там з.п. меньше, дабы усилить градус сюра, лол >Без своей недвиги ты будешь жить не как белый человек, а как самый настоящий раб, который платит ипотеку всю жизнь до смерти Открою тебе секрет - во многих развитых странах молодые люди до 40 не то, что не имеют собственной недвиги, а предпочитают ее не покупать до 40-45 лет, снимая все это время квартиры. И это лучше, чем когда тебе в наследство достается совдеповская хрущевка/брежневка 40-50 квадратов от бабушки, просто твоё сознание не воспринимает другии реалии, в чём обвинять тебя не имеет никакого смысла, это лишь констатация факта. >Ну и белыми людьми даже твои дети не станут, ибо их постоянно будут подъебывать из-за национальности предков Весь мир знает россиян, как самых ушлых ксенофобов. Представь себе, не во всём мире люди такие, как в странах СНГ. Хотя тебе и это непросто осознать, наверное, в чём, опять же, обвинять тебя не имеет никакого смысла, очередная констатация факта и ничего личного. Ты вряд ли хотя бы раз бывал за границей про жить я вообще молчу в развитой стране, так что не рассуждай с такой уверенностью о том, чего не знаешь наверняка.
>>2120395 Дружище, в Израиле МРОТ в 9 раз выше чем в России, о чём речь? Как ты можешь сравнивать абсолютные цены, не учитывая покупательную способность, соотношение местной валюты к курсу доллара и т.п.? Кстати, при всем при этом в Израиле помидоры дешевле, чем в России. И огурцы, по-моему, тоже :) Хотя так или иначе это такое себе сравнение. К чему оно было вообще?
>>2120400 >В рашке нет нихуя, кроме нвидии, Касперского и 100500 контор, нанимающих веб-макак и крудошлепов на сверхунылую работу. На этом парашкинский айти заканчиваетя.
Ну, тебе виднее. Раз тот же JetBrains, Huawei, Яндекс для тебя очередные галеры для вебмакак, которые только и делают, что клепают круды, то наверное так и есть.
>>2120400 >По сравнению с рашкой-то? В голос с твоего манямирка. Что не так? Тот же банкинг или такси у нас гораздо более продвинут технологически. И интернет гораздо дешевле и быстрее. В Германии лет 5 назад далеко не во всех магазинах были терминалы для оплатой по карте, а не наличкой, лол.
>>2120400 >предпочитают ее не покупать до 40-45 лет, снимая все это время квартиры Ну да, иностранцы ведь так и хотят отдавать 20 лет деньги чужому дяде за халупу, а потом начать снова отдавать, только уже банку. Это просто они умные и хорошо распоряжаются средствами, не то что тупые россияне, которые вон то в ммм, то в финико вкладываются.
>>2120400 >Ты вряд ли хотя бы раз бывал за границей про жить я вообще молчу в развитой стране, так что не рассуждай с такой уверенностью о том, чего не знаешь наверняка
Я то как раз бывал и в Германии, и в Лондоне. И да, взрослые люди на приличной работе тебе в лицо никогда не скажут, что ты чуркобес. Для коренных жителей ты просто будешь чужим. Но вот дети, особенно в public school, уже совсем другое дело. У нас в российских школах тоже травят и пиздятся постоянно. Но на работе такого практически нет. Думаешь, в швятом западе все дети, включая тех, кто из неблагополучных семей, воспитаны и будут вежливо относится к твоему дитятко?
>>2120411 Я не сравниваю, я делюсь) Жили там у друзей работающих вроде как раз за МРОТ. А так даже МРОТ сравнивать нельзя, ибо в РФ зп считается сумма из которой уже были вынуты налоги на мед и соц что дебилизм.
>>2120420 >В Германии лет 5 назад далеко не во всех магазинах были терминалы для оплатой по карте, а не наличкой, лол. 15 лет назад уже во всех магазинах были. Вообще во всех. И были автоматы, которые принимали "электронные деньги", это через специальный чип на карте, по ЭЦП, без подключения к интернету.
>>2120420 > хотят отдавать 20 лет деньги чужому дяде за халупу Ну если ты в 20 лет осел в каком-то месте, и уже решил, что укоренился и будешь жить на этом месте до пенсии, то ок. Но в европах народ мобильнее сейчас.
>>2120390 >Браузеры, базы данных, игровые движки, операционные системы, роботы, интернет вещей, вся автомобильная промышленность включая автономную, самолёты - от гражданских до истребителей, прошивки роутеров, веб серверы, хайлоуд всех мастей, медиа плееры всех видов, компиляторы, виртуальные машины, инфраструктура других, более высокоуровневых, ЯПов движки жса все написаны на плюсах, JVM написан на плюсах и т.п., сотни тысяч опенсорсных и закрытых библиотек, которые составляют почти 100% от рантайма ЛЮБОЙ программы на твоем смартфоне/настольном ПК. Продолжать? С и С++ В Е З Д Е, на этих языках literally держится весь айти и весь мир компьютерных технологий
Все, что ты перечислил, довольно штучные и редкие вещи. Тех же движков барузеров и графики сейчас очень мало постоянно используемых. ОСей сколько? 3? Медиа плееров сколько популярных? 2-3? MPC-HC тот вообще сдох вроде. Компиляторы сейчас пишутся на том языке, для которого был сделан компилятор. Виртуальные машины, а сколько их? JVM, V8, CLR, интерпретатор питона. Вроде больше популярных нет. Про автомобили, самолеты, электростанции - там у каждой конторы свой велосипед и нет каких-то фреймворков. И в принципе ничего не мешает отдельной конторе переписать свою хуитку на раст или что там новое еще будет.
>>2120436 >этого мало? Да, это вполне можно переписать на новые языки за осязаемый промежуток времени. Особенно если появится язык для системного программирования, где будет читаемый синтаксис и не будет десятков разнообразных случаев выстрелить себе в ногу и UB. Если такой язык будет, то на него постепенно начнут пересаживаться.
>что тогда частые вещи? Например банковский софт, который пишется на жабе. Его написано очень дохуя, и весь он зависит от Spring. Тут перейти на новый язык не получится, просто потому что очень многие вещи сделаны с помощью одного мега-фреймворка. Фронтенд на js, где без больших фремворков никуда. В мире системного программирования просто нет йоба-инструментов на все случаи жизни, которые превращают программирование в использование одной библиотеки, от которой потом отказаться практически невозможно.
>>2120439 Новый софт на коболе уже не пишут лет 20 точно. Все новое пишется на новых языках. Просто постепенно переписывают древние куски на новые технологии. Естественно все разом переписать нельзя. Ну и тут нужно учесть, что многие компании, в которых написано куча легаси, просто вымирают со временем. И их код зачастую никуда не продается и нигде больше не используется. А им на смену приходят новые, где изначально берут инструменты, актуальные в данный момент времени.
>>2120446 Кобол это пример, что даже вот настолько древние вещи могут жить, софт реально использоваться. Хотя создан в другую историческую эпоху, с другими технологическими возможностями.
На самом деле вопрос, а зачем уходить с Си-плюсов, когда можно писать на них? Какой-нибудь раст даёт какие-то особые преимущества? Не уверен. А вот то, что там и близко нет такого количества наработок, библиотек, это очевидно. И людей, способных серьёзно работать на языке мало.
Всё-таки язык или должен давать какие-то принципиально новые возможности, или же у него должна быть очень серьёзная поддержка. Как у Go.
>>2120485 > На самом деле вопрос, а зачем уходить с Си-плюсов, когда можно писать на них? Какой-нибудь раст даёт какие-то особые преимущества? Не уверен. У раста компилятор тебя держит за дебила, который не может нормально следить за памятью, и постоянно подтирает тебе жопу. И в ряде случаев он прав
Можно ли вкатится в плюсы без вышки ? сычевал всю жизнь дома, поэтому вышки нет, возраст 26+ лвл. Попробовал жс, попробовал джаву, 1С даже пробовать не собираюсь Меня даже собесить не будут без вышки ?
>>2120548 >Меня даже собесить не будут без вышки ? А чем ты можешь заинтересовать работодателя? Если вышка есть, то ты вроде как обучаемый и не особо тупой или ленивый. Зачем брать челика, который 26 лет на печи просидел? Или чем ты там занимался.
На джуна можно и без вышки вкатиться. Ну а потом зависит от предметной области. Где-то сразу нафиг пошлют или даже не перезвонят.
>>2120586 >вышка >обучаемый и не особо тупой или ленивый Вообще никакой связи нет. За годы обучения в вузе понял, что намного важнее подскакивать кабанчиком и иметь связи в виде старшекурсников. При этом можно быть непробиваемым дубом. Другое дело, что челу 26+, опыта нет, и это уже тревожный звоночек. Плюсы, наверное, один из самых длительных по вкату языков, быстро не получится. И да, зависит от предметной области, кому-то принципиально наличие во, кто-то будет смотреть на опыт, рекомендации, а на диплом пох. >>2120548 Пройдись по вакансиям и посмотри. Там же не просто так указывают требования. Но на твоем бы месте я забыл про плюсы, если планируешь войтивайти. Серьезно. Тебе нужно рабочий опыт здесь и сейчас, а не через полтора года. И то под вопросом.
>>2120596 >подскакивать кабанчиком и иметь связи в виде старшекурсников Ну так это и есть часть работы рядового прогера. Или ты думаещь, что асоциальные сычи обладают навыками телепатии и всё знают/умеют?
>>2120439 >>2120446 Могу поделиться с вами своей печалью: работаю в американской конторе над жутким легаси! Это Си код сконвертированный из кобола. Я вам никогда не пожелаю возиться с такими проектами
>>2120320 > Которая, внезапно, упрощает многие моменты. Нихуя она не упрощает, только проблемы на пустом месте создает. Посмотри на тот же Go: Робу хватило ума и опыта протолкнуть в язык сильную типизацию, и код от этого покорежило не сильно, нивелировав при этом целый класс ошибок. > Да, небезопасно. Но если ты знаешь что ты делаешь Проблема в том, что ты ни хуя не знаешь что делаешь. Несомненно приятно фантазировать о себе, как о сверхчеловеке до тех пор, пока ты не прожмешь кнопочку и не напишешь "out = 0;" вместо "∗out = 0;", а ведь компилятор вполне мог бы дать за такое по рукам. > когда создавался С++, слабая типизация в сишке также бралась в расчёт И потом начинаются всякие расщепления, и Скотт Майерс пишет несколько томов Effective C++, где объясняет как с этим бороться и как избежать. > Одна из самых убогих пародий на ООП в пайтоне В питухоне при всей куцести его объектной модели, есть хотя бы __getattr__, что ни на есть самый канон ООП в духе Smalltalk. Более того, там классы объекты первого порядка. > в плюсах с этим всё нормально В плюсах все просто пиздец, потому Страуструп уебан-недоучка. > в расте ООП вообще нет Так раст и не позиционирует себя в качестве ООП языка. Там один в один скопировали тайпклассы из Haskell, и получилось прекрасно. > типобезопасный и более выразительный аналог макросам Во-первых, шаблоны не типобезопасны, они нихуя не знают о типах и вообще об остальном языке. Во-вторых, это "более выразительны" по факту на полшишечки. Что макросы хуйня, что шаблоны. А все потому, что это отдельные языки в себе. > С++ тем и силён, что даёт тебе почти что бесконечный набор инструментов Нет, это называется хуевый language design. > но опытный С++ разраб может творить чудеса Опытный С++ разраб первым делом выбрасывает 80% языка и запрещает в гайдлайнах их юзать остальным. > Есть 1001 причина Пиздишь как дышишь. Есть ровно одна причина, и эта причина — legacy.
>>2120706 >Страуструп уебан-недоучка Окончил Орхусский университет (Дания, 1975) по математике и информатике, защитил диссертацию (Ph. D.) по информатике в Кембридже (1979). Бьёрн Страуструп получил степень доктора философии, когда работал над конструированием распределённой системы в компьютерной лаборатории Кэмбриджского университета (Англия). Член колледжа имени Черчилля. Ныне профессор Техасского университета А&М.
хм, черкани ка свой бекграунд, даже интересно стало, раз ты считаешь этого человека "недоучкой"
>>2120706 >шаблоны не типобезопасны, они нихуя не знают о типах и вообще об остальном языке лол, сьеби с этого треда, плиз просто сьеби иди нахуй, слышиш? самодовольное мудило блядь
>>2121532 пиздец.... Я тоже не знал об этой хуйне, я думал что все pod типы инициализируются мусором и насрать какой там new зовется. Пока явно не проинициализауешь (присваиванием или конструктором)
А то что есть случаи когда компилятор туда сам пропишет ноль... Только проверив компилятором узнал что правда такая хуита накручена
И что самое фиговое - ни в какой книжке по С++ об этом не написано (или написано мимоходом и уже давно забыто)
Как и множестве других нюансов. Из моего недавнего: например почему ссылка на pod тип менее эффективна чем его копия по значению? И сколько байтов должен занимать аргумент, чтобы его стоило передавать по ссылке, а не значению? (ну то есть почему int надо передавать по значению)
>>2121406 Это все хуйня. Тот мудозвон мог быть на фронтире развития распределенных систем 40 лет назад, но это не означает, что он хоть что-то понимал в дизайне языков, см. пикрелейтед. >>2121410 Если ты не понимаешь о чем я пишу, съебывай сам. Шаблоны по семантике это тьюринг-полный язык-надстройка над уже имеющимся языком, они не пересекаются нигде, кроме как в захардкоженых заклепках в кишках компилятора.
А как понять узнать установилось ли новое значение? В с++ коде setData вызывается и там возвращается бул, а вот model.edit всегда true. Надо явно setData в qml коде писать?
>>2121590 хорош юлить, сученок твой первый пиздеш был о >шаблоны не типобезопасны, они нихуя не знают о типах а ты слезаешь с темы через >Шаблоны по семантике это тьюринг-полный язык и че блядь? как буд то мы без тебя это не знали иди нахуй и перестать писать ебанутые портянки в тред можешь обидеться, мне похуй но не пиши хуету сюда
>>2122793 >аргументом может быть только Graph_lib::Point IDE не может этого знать. Тем более у тебя в общем случае там сколь угодно хитровыебанные преобразования типов могут быть.
Кто запихнул в шапку Программирование. Принципы и практика использования C++? Для кого составлены такие ебанутые задания? Сиди вырисовывай линиями домик, по хардкоденным координатам. Нарисуй программу которая рисует звездообразные шаблоны. Что за Пиздец? Я нихуя не понял. Эта книга вообще для институтов предназначена, это там любят тратить время на всякий бред
>>2123026 Solution это и есть готовое решение. Само слово решение - это калька с английского языка, никто так не говорил раньше в русском языке в этом смысле. Чтобы подчеркнуть, что оно должно быть практически реализовано я бы добавил pre-existing или ready to use.
>>2123252 А, я понял. Ты хочешь в QML проверить результат который возвращает setData. Походу там вот так в лоб без вариантов.
На всякий случай, у тебя точно может быть ситуация, когда присвоение будет не валидным?
Я вижу два пути: 1. валидатор if (Utils.validateFooBar(text)) { model.edit = text; } else { ... } Валидатор может не только true/false, а и код/сообщение ошибки возвращать. 2. сделать модели отдельный Q_INVOKABLE метод который вызывать вместо присвоения - это для случаев когда валидатор не канает
Есть огромная таблица, состоящая из нулей и единиц. Позиции единиц задаются в запросах вида i l r, где i- номер строки, l и r номер левого и правого столбца, в которых начинается и заканчивается одна из последовательностей единиц в i строке. Требуется быстро определить имеют ли две строки этой таблицы столбец, в котором у обоих строк стоит единица. Че делать?
>>2123008 да это говно, страуструп разленился в конце жизни, хуевые книги начал писать, на отьебись, его и в интервью спрашивали типо чем вам нравиться заниматься, он отвечал что "проводить время в кругу друзей и родных и бухать", лооол, ну а хули сидит в своем морганстенли в отдельном кабинетике и за нехуя получает 2 ляма баксов в год у страуса есть 2 годные книжки - "дизайн и эволюция" и "язык программирования с++, 3е специальное издание" в последней книжке и задания на кодинг самые охуенные вот
>>2123855 1. Отсортировать отрезки по левому краю 2. Проходим по массиву отрезков и ищем когда левый край i+1 отрезка меньше чем правый край i => т.е. есть пересечение
>>2124070 Как правильно перформанс измерить? У меня очень нестабильные результаты получаются, если использовать google benchmark без настроек. В целом, второй вариант быстрее, но в нем все равно есть проверки и бранчи. Хочется измерить точно и именно с выводом, чтобы проверить, на сколько быстрее конечная версия программы отработает, а не отдельная её часть.
>>2124111 >Зацикли на 100000 раз и результат по времени подели Нихуя ты умный. Гугл бенч так и делает. У меня проблема в том, что я получаю разные значение среднего времени на итерацию.
>>2111351 (OP) C++ не тру ООП стало быть? Ведь в нем нет полной инкапсуляции объектов. >Исконные правила ООП, в том числе и алгоритмические, предполагают полную инкапсуляцию объектов. Объект должен сам решать, что делать когда его что-то попросят, а не выставлять наружу публичные методы, которые дёргает всякий, кому не лень. Настоящий инкапсулированный объект должен принимать снаружи сообщение, причём не в контексте вызывающего объекта, а в своём собственном. Потом думать, хочет ли он это сделать, делать это и в ответ посылать сигнал о результате действия.
>>2124302 Красавчик. После школы прекратил ботать олимпиадки? В icpc не участвовал? Где учился? 1 место на всеукре это вроде почти везде бви. Даже в России. Но это сейчас так. Ты то где-то в 2005 поступал. Я хз че тогда было.
>>2124315 Я бы капец хотел на всерос выйти, но только я, к сожалению, ни дня в жизни с преподами олимп прогой не занимался. Только математикой, да и то поздно начал. Но все равно че то взял. Призер 1 уровня по мате, но всеукр, конечно, несравнимо круче.
>>2124315 >После школы прекратил ботать олимпиадки? Да, олимпиадки заточены на школьное образование и школы их поощряют. ВУЗы как-то не очень. А во взрослой жизни никто не задает задачи, на которые знают решение.
>>2122756 Убей себя, говно. Мое изначальное утверждение, что шаблоны ни хуя не знают о типах по-прежнему справедливо, здесь нет нужды юлить. Ты банально не сможешь передать std::vector<Derived> в функцию, которая принимает ссылку на std::vector<Base>, потому что шаблоны это отдельный язык, они ни хуя не знают о Си-с-классами под ними, что уж говорить про ко- и контровариантность, их максимум - это унылое кодовысерание. Открой сорцы какого-нибудь std::is_base_of и охуей от убогости костылей, на которых стоит всё TMP.
>>2123855 Только с третьего раза вдумчивого чтения понял, о чем речь, ты бы хоть схемку нарисовал для наглядности, гондон косноязычный. Надеюсь ты никогда не будешь учавствовать в составлении тз или документировании кода, хуй поймешь, что ты имеешь ввиду.
>>2124799 Есть такое. Тоже сначала раз 5 прочитал, чтобы понять что ему надо найти пересечение отрезков. А так задачка для лёгкого собеса, за несколько минут решается.
>>2124824 Да масса применений. Сортировка heap sort (куча имеет структуру дерева), быстрый поиск элемента (дерево АВЛ, чёрно-красное), поиск строк и сжатие текста методом LZ (префиксное дерево). Ряд геометрических задач (в том числе и на отрезках, как у дебича выше), решается с помощью бинарных деревьев (хотя чаще там quad tree встречается).
Единственный момент - уже написано овердозуя кода, использующего деревья, посему на практике ручками их писать приходится не часто.
>>2124848 Если тебя смущает __entity_name, то префикс __ пишется, чтобы имена не совпадали с именами в проекте, где будет использован stl. В целом нет единого стандарта как офрмлять код, так что видов лапши в с++ больше чем во всей Италии. Здесь вам не питон с pep8.
>>2124196 > когда его что-то попросят > а не выставлять наружу публичные методы Просить объект что-то сделать сделать посредством публичных методов нельзя?
>>2124827 > Может ты тупой? Тупой это ты, потому что тебе нормальные люди объяснили, что ты непонятно описываешь задачу, а ты вместо того, чтобы принять критику, огрызаешься. > Что я не так написал? Ты не умеешь грамотно выражать свои мысли так, чтобы они были понятны другим людям, не умеешь просто и лаконично описать задачу.
>>2124610 >Мое изначальное утверждение, что шаблоны ни хуя не знают о типах по-прежнему справедливо нет, это неверное утверждение вот и все твоя базовая предпосылка - ложь
>>2123909 >>2124856 > пересечение Совпадение вы хотели сказать? Потому что под "пересечением" подразумевают, когда отрезок пересекает другой под определенным углом(чаще всего под прямым углом), а не лежит параллельно рядом с ним.
>>2125053 нет тот челик утверждает что "шаблоны с++ ничего не знают о типах языка" это утверждение неверно и меня очень раздражает что этот человек при этом пишет длинные пасты в с++ треде в /pr это вредный человек значит
>>2125002 Вот решение, проще и быстрее предложенного этим аноном >>2123909 Создаем переменную для суммирования длин отрезков в битах. Создаем строку для проверки. Далее проходим таким алгоритмом по каждой строке: 1) Отнимаем от правого края левый и прибавляем получившуюся длину отрезка в переменную. 2) Ксорим строку из таблицы со строкой для проверки. 3) Узнаем количество битов в строке для проверки. 4) Если количество битов в строке для проверки меньше, чем в переменной где суммируем длины отрезков, то значит мы попали на строки, которые совпадают в определенных столбцах.
>>2123855 > Требуется быстро определить имеют ли две строки этой таблицы столбец, в котором у обоих строк стоит единица. Кстати, это решение >>2123909 отпадает, потому что сортировка таблицы в 310^5 >>2123890 огромных строк займет хуеву тучу времени и это занятие совсем не быстрое.
>>2125054 У тебя одномерная задача. Индекс i это не координата в геометрическом пространстве, это индекс набора отрезков. А вот [l, r] действительно координаты (заданные на одной прямой)
Отрезок - множество точек, набор отрезков - тоже. В теории множеств пересечение множеств - это множество, все элементы которого принадлежат пересекаемым.
В задаче надо определить, что есть хотя бы одна пара наборов i и i+1, для которых пересечение не пусто.
>>2125095 А как понять, что алгоритм работает "быстро"? Сортировка решает вопрос за O(NlogN). Простой перебор - O(N^2). Абсолютное значение (100500 или мильёнмильярдов) имеет смысл, только если мы ограничены по памяти.
>>2125063 Охуеть у тебя аргументация, конечно, на уровне "тебе смешно, а мне обидно, тебе говно, а мне повидло". Покажи мне, как на крестовых шаблонах сделать банальный map, чтобы я мог писать так: std::vector<int> foo {1, 2, 3}; std::vector<std::string> bar = map(foo, [](int x){ return std::to_string(x); }) Очевидно, тип вектора на выход определяется исключительно типом лямбды. Ты или приносишь мне код, или идешь на хуй со своим кукареканьем.
>>2125255 Молодец. А теперь давай без ограничения на то, что на вход должен быть именно вектор, т.е. может быть любая коллекция с итераторами обхода и initializer_list конструктором.
>>2125268 Хотел бы уточнить: map принимает на вход некую коллецию какого-то типа, по которой можно делать https://en.cppreference.com/w/cpp/language/range-for и на выходе дает точно такую же коллекцию, элементы которой имеют тип, определяемый лямбдой.
>>2125054 >под "пересечением" подразумевают, когда отрезок пересекает другой под определенным углом Пересечение - это наличие общих точек, а про угол - это уже твои фантазии
Алсо задача одномерная
>>2125095 >сортировка таблицы Ты ебанутый? У тебя 3⚹10^5 = 30000 отрезков, и какая таблица в жопу
>>2125091 >Вот решение, проще и быстрее предложенного этим аноном >>2123909 Нет. У тебя квадратичная сложность (если быть более точным O(nm), где n - число отрезков, m - размер таблицы), потому что для ксора тебе нужно пройтись по каждому биту отрезка
>>2125268 Ну так, что знают шаблоны о типах или нет? Вон, тип контейнера выводится от типа второго аргумента. Давай, поманеврируй что это не считается и врети. И это не считая целой кучи шаблонов в type_traits которые возвращают разную информацию о типе. Ты тупостью троллишь штоле, уебок?
>>2125294 > Ну так, что знают шаблоны о типах или нет? Нет, конечно. Нихуя они не знают, все то же унылое кодовысерание, ничего нового. Если хочешь опровергнуть, неси обобщенную версию map, которая работает с любым вменяемым контейнером. > И это не считая целой кучи шаблонов в type_traits которые возвращают разную информацию о типе. Ты сейчас это на полном серьезе спизданул? Открой этот самый type_traits и посмотри код. Ты после этого всерьез будешь утверждать, что шаблоны хоть что-то знают о типах? Все, что вижу я это захардкоженные костыли.
>>2125299 Если на входе std::set, то и на выходе должен быть std::set. Можешь заюзать initializer_list конструктор для возвращаемой коллекции, но лучше сделать на итераторах с оберткой поверх лямбды.
>>2125279 >задача одномерная >>2125118 >У тебя одномерная задача. В условии говорится о обычной двумерной таблице, где там указано, что таблица одномерная? Вот в условии написано: >Позиции единиц задаются в запросах вида i l r, где i- номер строки, l и r номер левого и правого столбца То есть у таблицы есть строки и стобцы, как в екселе. А одномерная таблица, это, блин, строка, ряд, последовательность.
>>2125322 >Задача сводится к одномерной задаче, блин. Потому что ты так скозал? >Вы мозги пытались включить вообще и поотрубать шлак из условия? В условии говорится о таблице со столбцами и строками.
>>2125302 >Ты сейчас это на полном серьезе спизданул? Открой этот самый type_traits и посмотри код. Ты после этого всерьез будешь утверждать, что шаблоны хоть что-то знают о типах? Да, серьезно. Я пишу std::is_pointer_v<void> и о сюрприз, это значение true. Что это по твоему блядь? Или это у меня галюциннации?
>Все, что вижу я это захардкоженные костыли. А, ну то есть твоя претензия, что не красиво? Детали имплементации и вкусовщина. Ты в исходники zlib заглядывал? Там тоже код некрасивый, но все пользуются, потому что какая разница что внутри, если оно работает?
>>2125302 >Нет, конечно. Нихуя они не знают, все то же унылое кодовысерание, ничего нового. Если хочешь опровергнуть, неси обобщенную версию map, которая работает с любым вменяемым контейнером. О да, а что такое вменяемый контейнер*, ты нам не расскажешь. Чтобы потом ты мог вилять жопой как тебе угодно. Либо давай конкретные условия, либо иди нахуй. Свой обосрамс с вектором ты так и не признал, резво перерыгнув на другую задачу.
>>2125330 Мое уважение. Ща, погоди, он скажет что все равно прав, потому что с std::array не работает.
Какие выводы по этой >>2123855 задаче можно сделать: 1) Условие написано очень не четко и косноязычно, поэтому некоторые аноны(например >>2123887>>2123909), поняли его неправильно, решив, что таблица это одномерный ряд, хотя в условии идет речь об обычной таблице со столбцами и строками. 2) У этой задачи может быть два варианта условия - с одномерной и двумерной таблицей соответственно. 3) Аноны нашли оптимальные решения для двух случаев: решение для одномерного условия >>2123909 и для двумерного >>2125091 .
>>2125355 >Задача СВОДИТСЯ к одномерной Сводилась бы, если было бы сказано, что это таблица у которой множество столбцов и одна строка, или наоборот. Или было бы сказано, что таблица одномерная. Но там говорится о таблице со столбцами и строками, из чего вообще никак не следует, что она одномерная.
>>2125367 > Я пишу std::is_pointer_v<void> и о сюрприз, это значение true. Что это по твоему блядь? Захардкоженное говно. Меня тянет блевать только от одного вида кода внутри is_pointer_v. > Ты в исходники zlib заглядывал? Там тоже код некрасивый Там нормальный код. > О да, а что такое вменяемый контейнер, ты нам не расскажешь Я рассказал: чтоб итерировать можно было и конструктор был либо на initializer_list, либо на итераторах. > Ща, погоди, он скажет что все равно прав Нет, к его коду доебываться не хочу, все заебись сделал. Я, собственно, и не пытался доказать, что это невозможно, но ожидал, что будет более многословно. В любом случае, сравни template <template<class...> class Collection, typename Lambda, typename Type, typename ...CollectionArgs> auto map(const Collection<Type, CollectionArgs...> &source, Lambda&& lambda) -> Collection< decltype( lambda(*source.begin()) ) > с map :: Functor f => (a -> b) -> f a -> f b
>>2125387 >В любом случае, сравни Ты сравниваешь адово частный идиоматический случай в одном языке и его отсутствием в другом?
В плюсах вместо контейнеров в приоритете стоят итераторы. Они дают в разы больше возможностей, чем работа с контейнерами. Покажи, как в твоем хачкелле работать с итераторами.
>>2125414 >>2125355 Можно по аналогии с двумерными массивами си представить, что все элементы лежат линейно. Однако, если тебе для навигации по этой хрене требуется минимум две координаты, то это концептуально двумерная хрень.
ТруЪ одномерность - это когда можно обойтись одной координатой.
>>2125467 >А для, например, сравнения не надо проходить по каждому биту? Не смешивай сравнение 32х битных чисел и массивов на сотни элементов
>>2125470 Вы вообще че блядь несете? Вы умеете в математику или нет? Я с вас хуею вообще. Сука, квадратногнездовым способом блядь. Вам надо задачу решить, а не код наговнокодить. Пиздец, поколение макак нахуй. Деградация полнейшая.
>>2125472 >Не смешивай сравнение 32х битных чисел и массивов на сотни элементов Так речь о битах или об элементах массива? И кто тут смешивает? Нахуя ты вообще слово "бит" употребляешь?
Целый ряд задач решается с помощью сортировки. Конкретно эту можно решить другим избитым способом - геометрическим хешированием:
- находим минимальный и максимальный концы среди всех отрезков L и R. - полученный интервал разбиваем на m участков. Длина участка может быть определена разными способами (как длина минимального отрезка среди всех + запас, как средняя длина отрезка, медианная длина отрезка, через мат ожидание длины, на основе эвристики входных данных). - для каждого участка получаем список отрезков, которые его пересекают (берём отрезок [l,r] и его индекс пишем в участки с l%m до r%m) - для каждого интервала разбиения, в котором оказалось более одного отрезка, проверяем пересечения этих отрезков (если много, то сортировкой, если мало, то обычным xor).
Данное решение работает быстрее чем решение через сортировку.
А ещё эту задачу можно решить построением префиксного дерева.
>>2125077 Так как из-за некорректного условия задачи в треде аноны интерпретировали задачу в двух вариантах(одномерном и двухмерном) я сделаю вменяемое условие для двух вариантов задачи.
Условие задачи с одномерным массивом Дан ряд битов, содержащий n битов, в котором находится последовательность из нулей и единиц. В последовательностях единиц находятся т.н. "отрезки" - последовательности единиц имеющие произвольное количество единиц. Каждай из отрезков задается тремя параметрами: i, high и low, где: i - номер отрезка; high - номер старшего бита отрезка в ряду; low - номер младшего бита отрезка в ряду. При этом отрезки могут содержать биты, которые входят в состав других отрезков. Такой случай, когда один и более битов одновременно находится в составе нескольких отрезков называется "пересечением" этих отрезков. Описать алгоритм, который позволяет определить, содержит ли ряд битов хотя бы одно пересечение отрезков.
>>2125509 Проблема в том, что пачка долбоебов пытается закодить алгоритм как по тексту, а не пытается решить задачу и перейти к более эффективным абстракциям. Гуманитарии кругом
Условие задачи с двухмерным массивом Дана таблица битов, содержащая x столбцов и y строк битов. В каждой из строк находится одна последовательность единиц (т.н. "отрезок"), каждый из которых задается следующими параметрами: i - номер cтроки, в которой находится отрезок; right - номер крайнего правого бита отрезка в строке; left - номер крайнего левого бита отрезка в ряду. Все остальные элементы в строке - нули. Случай, когда отрезок содержит одну и более единицу в тех же столбцах, что и другой отрезок, называется "пересечением" отрезков. Описать алгоритм, который позволяет определить, содержит таблица битов хотя бы одно пересечение отрезков.
>>2125548 Ты прикалываешься? Все то же самое. Кста я признаю, я чуть проебался. Нужно определить имеют ли 2 произвольные (по ходу программы мне нужно будет разные пары строк так проверять) строки общий столбец с единицами или. нет, а не существуют ли 2 такие строки. А так все абсолютно одинаково с моим условием
>>2125509 >Есть огромная таблица, состоящая из нулей и единиц. Так она все же есть или нет ее? По координатам i, j можно получить ноль или единицу?
или у тебя только набор отрезков, задающих только единицы? >Позиции единиц задаются в запросах вида i l r, где i- номер строки, l и r номер левого и правого столбца, в которых начинается и заканчивается одна из последовательностей единиц в i строке. Или у тебя и этого нет, а есть только некие запросы непонятно от кого и кому?
>Требуется быстро определить имеют ли две строки этой таблицы столбец, в котором у обоих строк стоит единица. То, что между двух строк учитывается или нет? Формально вижу, что нет. Но ты ведешь речь про целый столбец и это заставляет задуматься.
>быстро Без статистики по твоим данным быстрый способ выбрать не получится. А может вообще такое представление было выбрано в целях экономии памяти, а не скорости ради.
>где я в условии накосячил и что не понятно. Грузишь лишними сведениями. Не понятно в каких терминах вообще задачу решать: в терминах таблицы? в терминах отрезков? или ради быстроты выбирать решение в зависимости от количества отрезков?
>Без статистики по твоим данным быстрый способ выбрать не получится. А может вообще такое представление было выбрано в целях экономии памяти, а не скорости ради. Алгоритмическая сложность, ты знаешь что это такое вообще?
>Грузишь лишними сведениями. Не понятно в каких терминах вообще задачу решать: в терминах таблицы? в терминах отрезков? или ради быстроты выбирать решение в зависимости от количества отрезков? А если бы там речь шла о графе друзяшек, ты бы в треде спрашивал дружит ли Маня с Ваней или нет? Блядь, любой инженер должен переводить задачу из терминов заказчика в термины алгоритмических абстракций, а не кодить в лоб то, что сказано (как макака)
>>2125279 >Нет. У тебя квадратичная сложность (если быть более точным O(nm), где n - число отрезков, m - размер таблицы) потому что для ксора тебе нужно пройтись по каждому биту отрезка С чего ты решил, что ксорить нужно отдельные биты. Ксорятся сразу много битов таблицы за раз - 32-битные или 64-битные числа ксорятся между собой, что намного быстрее. А вот зависимость времени сортировки от количества элементов в массиве имеет геометрическую прогрессию. Если элементов в строке 310 в 5 степени (2862915100000 элементов) то сортировка такого массива займет приличное время. Следовательно, этот вариант решения задачи >>2125091 быстрее, чем этот >>2123909 .
>>2125582 >Разреженная матрица, ты знаешь что это такое вообще? Нахуя тебе разреженная матрица, нахуя тебе матрица вообще, блядь, почему вы такие тупые, вас пиздить надо блядь. Почему вы сука не можете в абстрактное мышление, пиздец.
>>2125584 Пиздец, еще один. Выучи блядь что такое алгоритмическая сложность и только высирай
>Ксорятся сразу много битов таблицы за раз - 32-битные или 64-битные числа ксорятся между собой, что намного быстрее. Это всего лишь ускорение на константу.
>А вот зависимость времени сортировки от количества элементов в массиве имеет геометрическую прогрессию. Чиво блядь
>310 в 5 степени Там чувак проебался с разметкой, а ты копипастишь
Сука, самый смешной тред со времен О(2N)-срача. Один не может задачу написать, другие не могут прочитать. Те кто может прочитать - не могут решить. Еще и путают 3⚹10^5 с 310^5 >>2125584
>>2125593 >Нахуя тебе разреженная матрица Потому что у него представление, типичное для разреженной матрицы. Ебля с отрезками накладывает свой оверхед в сравнении с прямым пердолингом элементов таблицы (которая непонятно до сих пор: есть она, или нет). Начиная с некоторого количества отрезков, оверхед перекрывает профит. А до этого постепенно растет с количеством отрезков.
>вы сука не можете в абстрактное мышление Покажи свои расчеты алгоритмической сложности, тогда и поразмыслим над ними абстрактно.
>>2125593 >Пиздец, еще один. Выучи блядь что такое алгоритмическая сложность и только высирай О ней и идет речь, если ты не понял. Алгоритмическая сложность определяется двумя параметрами: временем исполнения алгоритма и занимаемой памятью. В условии задачи сказано минимизировать время выполнения алгоритма. >>Ксорятся сразу много битов таблицы за раз - 32-битные или 64-битные числа ксорятся между собой, что намного быстрее. >Это всего лишь ускорение на константу. Это ускоряет процесс, но это совсем не тоже самое, что: >для ксора тебе нужно пройтись по каждому биту отрезка
>>А вот зависимость времени сортировки от количества элементов в массиве имеет геометрическую прогрессию. >Чиво блядь Если ты не знаешь, что такое "зависимость одного параметра от другого" и "геометрическая прогрессия", а также по какой формуле считается время сортировки(для любого способа сортировки), то это ты макака. >>310 в 5 степени >Там чувак проебался с разметкой, а ты копипастишь Тогда ему следовало в следующем посту написать уточнение, мол: "я ошибся, я имел ввиду 3 * 10^5". А я не обязан всматриваться в каждый пост выискивая, где текст обычный, а где курсивом.
>>2125613 >Потому что у него представление, типичное для разреженной матрицы Это единственная хуйня, которую ты знаешь?
>(которая непонятно до сих пор: есть она, или нет) Ты дебил? Формат ввода описан, где ты там увидел "таблицу"?
>Ебля с отрезками накладывает свой оверхед в сравнении с прямым пердолингом элементов таблицы Зачем тебе прямой сука доступ к элементам таблицы? Зачем тебе вообще таблица? Ты дрочишь на таблицы штоле?
>Покажи свои расчеты алгоритмической сложности Алгоритм где?
>Это ускоряет процесс Сука блядь, это ускоряет на константу!!! У тебя квадратичная сложность, вместо O(N log N), а ты ебешься с константами, на которые ПОХУЙ
>а также по какой формуле считается время сортировки(для любого способа сортировки) Ты ебанашка? Какого любого способа сортировки? Или ты даже не знаешь разницы между пузырьком, квиксортом и сортировкой кучей?
>А я не обязан всматриваться в каждый пост выискивая, где текст обычный, а где курсивом. Это очевидно любому, кто включает мозги.
>>2125623 >Ну то есть похую, что всякий отрезок будет пересекаться сам с собой? Что блядь? Ты ебанутый? Зачем их сами на себя пересекать?
>>2125520 >-находим минимальный и максимальный концы среди всех отрезков L и R. >Данное решение работает быстрее чем решение через сортировку. >inb4 в твоем решении нет сортировки Проиграл. А ничего, что находить минимальный и максимальный концы отрезков ты будешь через сортировку? Или ты не в курсе, что функция get_maximum_array(uint8_t *array) внутри себя содержит сортировку массива? Напоминаешь мне типичную макаку, которая пользуется инструментами на верхнем уровне и даже не задумывается, что там лежит под капотом. При чем этот анон хотя бы предложил способ с сортировкой только левых концов, а у тебя выйдет еще дольше, потому что сортировать придется и левые и правые.
>>2125634 Прекрати, содомит, я ж щас сдохну. Ты троллишь или правда не знаешь как найти максимум в массиве без сортировки? >Напоминаешь мне типичную макаку, которая пользуется инструментами на верхнем уровне и даже не задумывается, что там лежит под капотом
>>2125645 А при чем тут позиции единиц. Этот анон >>2125631 не могу увидеть слово "таблица" в условии задачи, вот я ему и подсказал, где оно находится.
>>2125646 Да, и? Каковы алгоритмические сложности сортировки и одного прохода по массиву? Отвечу за тебя, т.к. сомневаюсь что сам справишься: сортировка O(N log N), проход O(N) Надо ли объяснять что из этого меньше?
>>2125651 Блядь, ЭТО АБСТРАКЦИЯ СУКА АБСТРАКЦИЯ, почему ты такой тупой, хоспаде. У тебя на входе наборы из трех элементов, там нет никакой таблицы. У тебя мышление тупой макаки, а не инженера.
>>2125652 >Отрезок (1, 5) пересекается с отрезком (1, 5)? Да или нет? Если у тебя есть два разных объекта (инстанса) которые равны между собой, то да, пересекается. Если у тебя один объект, то нахуя ты его пытаешься пересечь с самим собой?
>>2125657 >одного прохода по массиву >>- для каждого участка получаем список отрезков, которые его пересекают (берём отрезок [l,r] и его индекс пишем в участки с l%m до r%m)
Для каждого участка делаем проход по всем отрезкам => квадратная сложность
>>2125661 >тем самым выпилив всякий способ различить два отрезка Ты не можешь их различать по адресу в памяти?
>>2125670 >По условию задачи они различаются размерностью i. Которую ты выпилил. Я ее выпилил, потому что она не нужна.
>По условию задачи Сука, научитесь мыслить задачу ЦЕЛИКОМ, а не выдергивая отдельные ее части. В условии оно есть просто потому, что автор предположил что оно может быть кому-то важно. А оно для решения не важно.
>>2125665 >Для каждого участка делаем проход по всем отрезкам => квадратная сложность У тебя всего N отрезков во всей таблице. Чтобы найти min и max надо все их просмотреть и потратить на это O(N). Какие ещё нахуй квадраты?
>>2125719 >У тебя всего N отрезков во всей таблице. Чтобы найти min и max надо все их просмотреть и потратить на это O(N). Для того чтобы найти min/max действительно достаточно O(N). Вот только это первый шаг
>Какие ещё нахуй квадраты? А там есть еще шаги: >>>>>- для каждого участка получаем список отрезков, которые его пересекают (берём отрезок [l,r] и его индекс пишем в участки с l%m до r%m) где у нас возникает N*m
Похоже пришло время пояснить, почему решение через побитовый xor самое дно. Итак, у нас есть N отрезков, каждый из которых является битовой маской. Маска занимает минимум один int и максимум max_xor_cnt = std::numeric_linits<unsigned int>::max() / sizeof(unsigned int). Соответственно побитовый xor двух отрезков требует от одной до max_xor_cnt вызовов operator^(), что может оказаться в дохуя раз медленнее, чем четыре вызова operator<() для концов отрезков. Далее. Ситуация усугубляется тем, что нужно сравнивать все отрезки между собой. Сложность данной операции O(N2) и это очень плохо. Ну и наконец не стоит забывать про накладные расходы по конвертации данных из разреженного представления в последовательности битов.
>>2125724 Ты проходишь по всем отрезкам и для каждого делаешь l/m, r/m. Всего таких операций требуется столько же сколько и отрезков, то есть O(N).
Я понимаю, что тебе сложно, но решение через хеширование это надстройка над xor и сортировкой, для которого к O(NlogN) сводятся худшие случаи данного метода. По факту он пиздецки быстрый при правильно построенном разбиении.
>>2125744 Если там один отрезок на строку, то нормальный человек сначала эту хуйню перекодирует в массив координат отрезков и не будет называть это таблицей. Если там произвольные маски - то быстрее построчного xor ничего нет и не может быть.
В задаче на строку сколько угодно отрезков блядь. Если по одному на строку то это элементарщина. А данные вводятся в виде таких вот отрезков, потому что вводить таблицу 10^9 на 3✡10^5 пиздец долго. Вообще это кусок задачи с которым у меня возникли проблемы. Вся задача звучит так: в таблице с n<=3✡10^5 строк и 10^9 столбцов заполненных единицами или нулями. Требуется удалить некоторые строки так, чтобы для каждых двух соседних строк в оставшейся таблице нашелся столбец, в котором стоят единицы в каждой из этих двух строк. Чему равно максимальное колличество строк в таблице, получившейся после удаления? Пусть m-колличество запросов с отрезками. Сложность решения O(n+mlog(10^9)) или если изъебаться O(n+mlog(m))
>>2125777 >эту хуйню перекодирует в массив координат Это и есть "накладные расходы" по конвертации данных.
>то быстрее построчного xor ничего нет и не может быть. В с++ нет построчного xor для куска памяти произвольной длины. Есть лишь для целых типов фиксированной длины, ограниченных разрядностью машины. А отрезки твои могут иметь длину от 64 до 2^64 битов. Неужели ты думаешь, что поксорить два куска памяти размером в несколько килобайт (за ~500 вызовов operator^()) быстрее, чем сравнить 4 инта?
>>2125842 > Ну и где в исходной формулировке слова про соседние строки? М? Нигде. Мне нужно не только в соседниз искать по ходу решения. > Решение через сортировку даст тебе желаемые O(mlog(m)). n у тебя константа и в O нотации лишняя. Хеширование при такой постановке не нужно. n вводится.
>>2125851 Как быть, если O-нотация по это асимптотика для функций с одним аргументом (хотя бы в вики почитай про неё)? Подсказка: если я увеличу таблицу в 100 раз, и в неё снова запишу N отрезков, то как и раньше задача будет решена за NlogN условных сравнений. А вот если запишу 2, то за 2. Понимаешь?
Проиграл с треда. Пока программисты, прогающие на полноценных языках(Go, Хаскель, Питон, Джава) решают сложные и интересные задачи, с++-сники возятся с байтиками и битиками. При этом прикладывая тонны усилий для того, что бы решить элементрарнейшую задачу первокурсника уровня laba1.cpp, решение которой на языке высокого уровня типа хаскеля или лиса уместилось бы в одной небольшой и аккуратной формуле. Вся суть байтоёбов. Байтоеб - не программист, гоните, насмехайтесь над ним!
>>2125894 Скажу так, в госпарашу не иди ни в коем случае, это такой зашквар, что после неё тебя ни в одно норм.место не возьмут увидев в резюме строчку о работе в гос.учреждении, так и будешь "инженером-программистом" чилить до старости. Так что из этих лучше идти в фирму dssl, получишь хороший опыт и возможно даже деньги.
>>2125895 >При этом прикладывая тонны усилий для того, что бы решить элементрарнейшую задачу первокурсника уровня laba1.cpp, решение которой на языке высокого уровня типа хаскеля или лиса уместилось бы в одной небольшой и аккуратной формуле. "Пук-перд, а почему оно так адово тормозит и жрет память как не в себя????! щ_О"
>>2125902 "пук среньк ну и почему мне специалисту по с++ платят 90к, а не 390к как специалисту по скала, питону или хаскелю??" "ну и что я делаю ту же задачу в три раза дольше через костыли, каждый раз изобретая велосипед или подключая либы от васян228, зато моя программа на 146% быстрее!!!"
Чел, о каких алгоритмах идёт речь, если ты бессвязно формулируешь задачи, не можешь в абстракции и несёшь какую-то хуйню типа этой?
>Ну напиши мне такой алгоритим Все три алгоритма, описанных выше, инвариантны относительно размеров таблицы. Два из них укладываются в твою асимптотику.
>>2125894 отпишись потом, как в dssl было. Я там работал когда-то. Передавай привет Олегу Кияшко, Ираклию, Игорю Олейнику. Ещё у них раньше работал Олег КЛимов, который сейчас работает у Илона Маска в OpenAI
>>2125905 >каждый раз изобретая велосипед Кстати это наоборот хорошо. Дает понимание, как работают многие вещи. Потом ты без труда сможешь пояснить как работают распределенные базы данных или как DPDK устроен внутри.
>>2126018 >там жоские тимы Я думаю - да. Может и не супер хайповые технологии там (а может и да), но думаю, много вещей по уму сделано. Правда, столько лет прошло. Проект разросся, чем именно ты там будешь заниматься - сложно сказать. Тех. дир. Олег Кияшко закончил физфак МГУ, его родители тоже физики. Семья потомственных интеллектуалов. Так что да, уровень там высокий
>>2126020 >Потом ты без труда сможешь пояснить как работают распределенные базы данных или как DPDK устроен внутри. Только за то время, пока ты будешь байтоебить, кабан кабаныч найдет активного прошареного пориджа, который сделает это на пайтоне/го /жабке куда быстрее используя готовые фреймворки и либы языка.
>>2125895 >Джава >сложные и интересные задачи Какие же есть "интересные задачи" в энтерпрайзе. Нваверное это медицинский или государственный документооборот, товарно-складские круды, а также увлекательное ERP?
>>2126024 Всех денег не заработаешь. Всю жизнь говно делать и конкурировать с порриджами? Свое дело нужно открывать к 30 годам и прогать для себя. Мимо
>>2126024 кабан кабаныч найдет пориджа, который сделает все по быстрому на готовых фреймворках. да, ты прав.
но вот в куда-нибудь зарубеж, в фаанг, или вообще в место, где нужен хайлоад, возьмут именно байтоеба, а не твоего пориджа. и в графику возьмут байтоеба, а не пориджа. и в инфобез/сети, возьмут байтоеба.
>>2126029 бекенд в энтерпрайзе это что по твоему? как раз автоматизация документооборота, заполнение всяких бесконечных формочек, табличек, загрузка этого всего в бд, и т. д. на андроиде сейчас уже котлин
>>2126026 Ну в каждом своя бизнес-логика, но тут уже зависит от того, что тебе интересно. Конечно, для многих написание своего 3д движка будет казаться более интересным, чем написание крудов, но тем не менее. Большая часть работы всегда будет в энтерпрайзе. Ведь именно энтерпрайз обслуживает большую часть экономики. Всякие банки, заводы, корпорации - все нуждается в автоматизации. А вот условная графика или сетевое байтоебство очень мало где нужно. Это скорее штучные вакансии, нежели массовое программирование.
>>2126036 Студия удобней любого, блять, блокнота типа vim, emacs или gedit + gcc, pkc-config, ldd, nm, objectdump, callgrind, valgrind, perf, gperf. Да даже библиотека для линкования с библиотекой фейкового системного времени чего стоит. И всё это сразу в коробке идёт в любом линуксе. Что даёт студия, кроме пары менюшек ?
>>2125067 с чего это я бы должен был покинуть тред? по крайней мере, я нахожу в себе силы сказать нет на откровенную ложь или, погоди, ты тоже согласен с утверждением что "шаблоны с++ ничего не знают о типах языка"?
>>2126171 Всё что реально даёт студия, это по-быстрому наговнякать проект с нуля. В остальном плюс/минус такая же возня с настройками devops, параметрами компиляции, проектными зависимостями и прочей рутиной.
Ну ещё студией владеет microsoft и его решения лучше всего в плане B2B. Поэтому конторы предпочитают закупать именно студию, а не CLion какой-нибудь.
Современные проекты состоят из целого зоопарка thirdparty компонент. Без ldd сложнее выяснить, что реально нужно для тиражирования твоего софта.
nm - спасает при ебле с линковкой. Бывает такое не часто, да.
>>2126031 В фаанг возьмут кек, вероятность этого какая? Вот я изучил как люди с россиюшки готовятся 1. Курс институтский алгоритмов перерешать освежить - 2 месяца (инженеры обычно не изучают их, а программисты проебывают и забывают), про всяких вкатышей без в.о. я даже говорить не буду, как они будут пределы осваивать,дискретку, комбинаторику и теорвер это блять вероятность все к 0 стремится. 2. Подготовка непосредственно по смежным областям - 2 месяца (базы данных, распределенные системы, что-то по tcp/ip написать посмотреть почитать) 3. Подготовка нарешиванием задач - 8 недель. Тут я имею в виду full time, а не когда ты весь день на кабана ишачишь 4. Дрочево английского до приемлемого уровня это год если вы уже упорно занимались. Тут я пишу все для среднего ума специалиста из среднего вуза. Т.е. ты условно должен потратить около года на подготовку!
Если же ты работаешь в Россиюшке то в 90% случаев никаких алгоритмов ты не используешь и дожен после работы превозмогаю хуярить, что вообще откладывает все это на неопределенный срок. У меня пара коллег даже в яшку устроиться не смогла, хотя у обоих была профильная вышка. Оба пытались два раза и проходили по несколько собеседований, а все потому что они работают фулл тайм и им особо некогда задрачивать эти алгоритмы.
>>2126353 >Т.е. ты условно должен потратить около года на подготовку! И? Этого того стоит, поверь. Потратишь год-полтора, но зато сможешь навсегда обеспечить счастливую жизнь в достатке в странах первого мира.
>>2126387 теория множеств, реляционная алгебра, какие-то представления о графах и т.д. Вас послушать, так у вас все просто, порешал задачки, вкатился, а по факту крайне мало видел когда люди хоть что-то делали, о чем говорят
>>2126353 >пределы осваивать,дискретку, комбинаторику и теорвер Это все не нужно на самом деле. Из дискретки нужно знать графы, но они и так в курсе по алгоритмам изучаются. А всякие чисто математические вещи уровня гамильтоновых графов, их свойства, уже не нужны.
>>2126419 Теория множеств на уровне пересечения и объединения? Ну или мощность множества? Ну это вообще в школах проходят. Реляционная алгебра нужна только в БД, но я ни разу не слышал, что ее у кого-то спрашивали.
>>2126419 >порешал задачки, вкатился Задачки на собесе дают только когда идешь на джуна в российские компании. А на собесе в faang спрашивают о проектах в которых участвовал, стеке применяемых технологий, какие проблемы приходилось решать.
>>2126422 ну вот в авито проходные задачки и вообще везде где я видел проходны задачки на должность младшего аналитика простая комбинаторика, простой теорвер. Никто от тебя не требует сложных расчетов, но база нужна. Да и вот возьми алгоритмы сейджвика курс, там в первой же лекции отсылки к теорверу.
>>2126427 Ну, лично мне на дискретке про кч деревья ничего не рассказывали. Может в других вузах по-другому, но мне вообще показалось, что дискретка на самом деле довольно бесполезный кал. Хочешь знать алгоритмы и структуры данных - открывай курсы и учебники по алгосам, а не по дискретке.
>>2126450 >Ну, лично мне на дискретке про кч деревья ничего не рассказывали. Красночерные деревья на собесах часто вертеть заставляют. >Может в других вузах по-другому, но мне вообще показалось, что дискретка на самом деле довольно бесполезный кал. Согласен, дискретка нужна только байтоебам (кто пишет на асме/С/С++) которые постоянно байтики и битики переставляют. Нормальным программистам, которые пишут на языках высокого уровня, она не нужна.
>>2126435 >в авито проходные задачки и вообще везде где я видел проходны задачки на должность младшего Так это то, о чем я и написал: >Задачки на собесе дают только когда идешь на джуна в российские компании. Делается это только для того, чтобы хоть как-то отсеять способных от вкатунов с курсов, потому что на джуна люди идут без опыта и их надо как-то проверить.
>>2126426 Ты это все знаешь, тебе легко и просто, а вот я с инженерным образованием вкатывался, для меня все это было непривычно. Нужно осознать, спроецировать на поле технических задач, привыкнуть использовать. Это как наеб с си++, нельзя его по книжке осознать. Захочешь понять, что действительно под капотом и как это работает и главное почему (что способствует легкому запоминанию), тут тебе и си придется изучить и на ассемблер посмотреть. >>2126415 У меня нет этого года и никогда не было, то за квартиру съемную плати, то военкомат тебя щемит. Что бы жить без мамки, пусть даже в своей хате нужно 4 т.р. квартплата, 1 телефон интернет, тыяч 15 на поесть итого 250 т.р. на год, а если еще как-то нагрузку снять интеллектуальную, курс платный пройти и еще чего то тут будет еще тысяч 50 на год. Итого 300 т.р. и целый год. Елси же ты работаешь, даже
>>2126592 >инженерным образованием вкатывался Инженерам теперь не рассказывают теорию множеств от слова совсем? У меня тоже образование в какой-то степени инженерное. Но теория множеств, это буквально самая первая лекция для первокурсников. Ну и разве у вас не было численных методов, где нужно было на паскале/фортране/си/матлабе программировать вычисление разных интегралов и диффуров? Или например МКЭ для расчета всякого сопромата, мы его тоже программировали.
>У меня нет этого года и никогда не было Тогда зачем вкатываться в С++? Для таких как ты есть высокоуровневые языки вроде JS, Python, Java, куда толпы 30+ лвл таксистов и заводчан вкатываются. Если хочешь более техническую работу, а не просто перекладывание джейсонов на спринг буте, то лучше с мамкой год-два пожить и поизучать си, плюсы, алгоритмы, что-то из дискретки, и т. д.
>>2126604 я вкатывался в 25 лет когда уже забыл все что было на 1 курсе. До вкатывания в си++ я знал ассемблер. Вкатился в НИИ т.к. взяли просто на похуй. Сейчас вкатышам я бы не советовал такой путь. На хуй не нужно.
>>2126177 >Ну ещё студией владеет microsoft и его решения лучше всего в плане B2B. Поэтому конторы предпочитают закупать именно студию, а не CLion какой-нибудь. Хуйню несешь. У нас можно купить все, что угодно, хоть студию, хоть шлион, любую парашу, просто линку дай, и тебе специально обученный гой все купит
> Современные проекты состоят из целого зоопарка thirdparty компонент. Без ldd сложнее выяснить, что реально нужно для тиражирования твоего софта. 2021, линковаться динамически. Мы просто пишем в манифест vcpkg что надо, и не ебемся
> nm - спасает при ебле с линковкой. Бывает такое не часто, да. 3рдпати нормально линкуется через вцпкг, а свои проблемы с линкером - отлично диагностируются компилятором.
Хуй знает, все еще выглядит как хуйня все эти аргументы, ну или ты пердоля из 98 года
>>2126617 Смотрю ты шаришь, подскажи у меня есть проект на Qt который я раньше собирал компилятором msvc 2013. У меня была dll для curl и набор хедеров которые я подключал. Недавно попробовал собрать все это компилятором msvc 2013 и он там что-то найти нихуя не может какие-то ф-ии из курл. Это из за того, что компилятор другой? Посмотрел как в старом проекте было, куда-то там копировалась dll в папку проекта. Попытался вручную подбросить не может найти ряд ф-ий. Что делать? Компилировать curl в dll? Ексть ли разница каким компилятором компилировать curl mingw или msvc? Могу ли я проект на Qt компилировать msvc 2017, а курл mingw? Я сам под линукс пишут, в MS теме вообще не шарю
>>2126636 Все должно быть собрано одним компилятором, и в идеале - одной его версией, если твои библиотеки не обернуты в extern "C".
Допустим студия 15-17-19 - они совместимы, т.е. если либа собрана 15ой студией, то она слинкуется с проектом сделанным в 19ой студии.
> Ексть ли разница каким компилятором компилировать curl mingw или msvc? Выбери что-то одно и этим и компилируй. При всей моей любви к студии - с куте у меня mingw работал ощутимо лучше, он там из коробки сынтегрирован в кутекреатор нормально.
> Могу ли я проект на Qt компилировать msvc 2017, а курл mingw? Оверолл - нет. В линуксе - та же хуита. Попробуй слинковать бинарь сделанный клангом с либой, скомпиленной в гцц.
>>2126636 >Могу ли я проект на Qt компилировать msvc 2017, а курл mingw? Нет, на винде очень жесткая ебля с ABI в этом плане. Там еще разные ABI для релиза и дебага, ноги простреливаются на ура
>>2126705 >В линуксе - та же хуита. Попробуй слинковать бинарь сделанный клангом с либой, скомпиленной в гцц. В ляликсе все будет работать, но это исключение из правил - шланг очень сильно затачивался под гцц
>>2126785 >Так у компиляторов крестов же с манглингом пизда Там дефакто стандарт нарисовали (Itanium ABI (да-да, итаниум сдох, а ABI юзается везде)), и пизда стала в разы меньше
>>2126617 >Хуйню несешь. Ну и в чём я не прав? Студию конторы закупают по дефолту с резиновой лицензией. Остальное по личному запросу в минимально необходимом количестве.
>пишем в манифест vcpkg Мы используем докер. Для отгрузки нашего софта он удобнее.
>проблемы с линкером - отлично диагностируются компилятором То что высирает та же студия сложно назвать "диагностикой".
>>2126617 >ты пердоля из 98 года Ну вообще за студию обычно топят малиновые пориджи (типо тебя) и гречневые 35++. Первых мотивирует простота в использовании и грамотная работа microsoft с вузиками. Вторых лютое нежелание осваивать что-то новое (наших гречневых с трудом удалось на VSCode вытолкать).
>>2126592 >даже в своей хате нужно 4 т.р. квартплата, 1 телефон интернет, тыяч 15 на поесть 6 тысяч поесть с мясом, десертом и алкоголем 5 тысяч с мамкиным огородом но если умеешь готовить если не умеешь, то наверное больше, не знаю уже, готовую еду в магазах и общепите не покупаю ибо отрава
>>2126850 Но это всяко лучше - чем майкрофобы, которые не используют студию только потому что майкрософт.
>>2126850 >осваивать что-то новое Осваивать что-то новое нужно, если оно что-то новое дает. Что твой вскод дает такого, чего нет в студии? Скорее наоборот - вскод, это кастрированная студия, в которой все фичи забагованы - глючная отладка, глючный интеисенс, отсутствие архитектурных инструментов, чережопная настройка юниттестов, чережопная настройка симака и гита, чережопная работа в команде, чережопная работа с мультиплатформой, отстутсвие ускоренного билда.... Нахуя оно надо, если в студии все это работает?
>>2126850 Я скорее гречневый 35+ - и я не вижу смысла осваивать что-то новое, т.к. это как после, хз, Audi Q7 пересесть на Шкоду рапид какую-нибудь. Как появится что-то лучше - пересяду.
Пока у нас есть - блокнот с подсветкой, джаваподелие от JB, Кутекреатор супервсратый и божественная студия с решарпером.
>>2126904 > блокнот с подсветкой, джаваподелие от JB, Кутекреатор супервсратый и божественная студия с решарпером. Забыл про имбецилов с вимами\емаксами\гедитами\катями\ноутпадами\любым другим мусором, только бы быть НИТАКИМ КАКФСЕ
>>2126608 >Сейчас вкатышам я бы не советовал такой путь. На хуй не нужно. Почему бы не посоветовал? Ведь вкатыш может поработать в госпараше за еду годик-другой чисто ради опыта и потом уже уйти в фирму.
>>2126887 Я тебе говорю, что студия хороша, чтобы быстро что-то наговнякать без лишних хлопот. И твой чудесный hot reload для этого отлично заходит. А когда я тебе говорю про реальные задачи с гомоеблей на GPU, ты начинаешь перекрывать детскими примерами.
>>2118832 Вот это мощная тема, сделал только консольный бесконечный телефонный справочник, но уже хреневаю от потенциала этой техники. Вот только бы научится создавать и читать свои файлы и гуи еще(а то std::cin заебал уже), вот тогда почти все можно будет сделать.
Здарова, Двач ,подсобите списком книг, в которых рассказывается о том, как работает компилятор, где и как переменные располагаются в памяти ,чёт про ассемблирование мб и другие низкоуровневые штучки, связанные с железом. С меня - низкий поклон
>>2125895 Ага ага, только ты забыл упомянуть что байтоебам надо знать только фундаментальные вещи, а чтобы вкатиться на "нормальные языки" надо знать фреймверки, конкурировать с вкатышами и учить C1 английский чтобы лизать жопу заказчику
Объясните, почему инфраструктура вокруг С++, да и сам С++ такое говнище? Ну вот реально, в той же жабе я могу очень быстро скачать библиотеку через мавен вместе с ее исходниками и документацией. В самой jdk тоже есть документация, которую через ctrl+Q легко вызвать из идеи и прочитать.
В С++ какой-то пиздец во всем. Зашел почитать исходники в STL и понял что это нечитаемый понос говна. Вот реально, что за нечитаемый высер на пикрилах? Почему нужно называть переменную (или что это вообще?) _M_t. А тип у нее _Rep_Type. Что я могу из этого узнать, лол? И как вообще разработчики компиляторов поддерживают этот нечитамый пиздец? Почему нельзя называть все большими человеческими называниями, а не какими-то сокращениями буквы и подчеркиваний. Разработчики намеренно себе усложняют жизнь, или чем короче название переменной, тем быстрее работают программы?
>>2127790 > инфраструктура Есть у меня теория, что всё из-за отсутствия единого кроссплатформенного компилятора с единым способом подключения либ, ибо ничего из этого не регламентируется стандартом. Есть 100500 платформозависимых компиляторов и систем сборки, на каждой свой тулинг, который больше нигде не работает, и попытки усидеть на 10 стульях порождают монстров типа cmake. Сейчас не надо писать тонны процедурной параши в скриптах сборки, как раньше, и даже есть менеджеры пакетов vcpkg/conan, но до других языков далеко. > STL Интрисинки, ебля с экспортируемыми символами, всевозможные оптимизации, да и сам по себе синтаксис шизанутый. Всё-таки кресты пилят с мотивом "производительность любой ценой".
>>2127790 Комитет по языку анально не регулирует оформление кода. Поэтому существует несколько "стандартов " от разных контор и сообществ типа linux coding style, conventions от microsoft, google, intel.
Вторая причина - очень широкий круг задач по сравнению с другими языками. И под каждую область своя мнемоника. Enterprise - именуем всё словами. Матан - как в научных работах (u, v, dx, ddy, mx, rot, div). Железо - сокращениями из C (ctx - context, dev - device, rtd - real time device, wd - watchdog и прочее). Причём вот это вот всё может быть в одном проекте.
Третья - зоопарк платформ. А чтоб поддать скорости, то вот тебе: интринсики, компиляторные расширения, CUDA расширения и фокусы от вендоров. Тут полная анархия.
Четвёртая - проблема поколений. Гречневые держатся за make, пориджи тащат всё без рабору из других языков.
>>2127937 >Четвёртая - проблема поколений. Гречневые держатся за make, пориджи тащат всё без рабору из других языков. Вот это самая гигантская проблема. Комитет занимается полной хуйней, когда надо стандартизировать сборку и пекедж менеджмент.
Нахуя мне блядь ГУЙ и СЕТЬ, когда я и то и то могу сделать через vcpkg install
Реально ли вообще, после года опыта в около гос шараге (всякое говно, в основном на qt под линукс) попасть хотя бы на 150к в норм контору? И как много вообще хороших мест в рф для плюсовиков? Есть ли вообще смысл продолжать дрочить плюсы или подучить за пол года другой язык и сопутствующие фреймворки и пытаться пойти туда джуном? Вкатился вот год назад через гос шарагу и теперь понимаю что нужно срочно что-то менять, преспектив тут никаких...
Сижу в госпараше на крестах, Qt и прочее питухоновое и пхпшное дерьмецо. Разрабом ++ меня не берут, т.к. везде нужен stl (где мне интересно). В общем бегло пробежался за пару месяцев по stl, потренировался, порешал, попутно изучил джаву и понял, что мне если что и и нтересно, то только хуйлоад. Но вот вопрос, что мне поизучать, что бы в этот хуйлоад на крестах попасть? Обычно на собесах спрашиваю про объем баз с которым и работал и когда я говорю что макс 10 лямов записей говорят, что это так, цветочки. В общем как бы мне углубиться в тему хуйлоада? Алгоритмы пока тоже доучиваю.
>>2128334 Общался с ребятами из усманыча по этой теме, сказали госпарашников ебут по всем темам, причем особо жестко, т.к. дауничи там отменные. Так что если готов, то дерзай, тебя спросят 100% 1. сложность алгоритмов, мне в одной конторе дали прям таблицу с контейнерами и всякие операции всавтки/поиска и т.д. объяснить 2. попросят какое-нибудь говно реализовать 3. дальше могут по stl погонять remove/erase, всякие move семантики и т.д., различные заебы с исключениями. 4. Примитивы синхронизации - мьютекс, семафор, фьютекс, рассказать как в операциоонной системе примерно реализованы, рассказать про задачу взаимной блокировки и т.д. Это все на з.п. в 100 т.р., если претендуешь на от 140, ебать тебя будут еще жестче, плюс будут шаблоны и нюансы многопоточности которые без практики и глубокой теории не ответишь.
>>2128491 ну и еще то что ты должен знать CMake, юнит тестирование, разбираться во всяких IPC линукса, когда какой лучше, вообще с трудом представляют как за год можно во все это вкатиться, тут что бы не обсираться надо года три программить, а потом еще натаскиваться на лит коде, тогда может и получишь свои 150, у меня знакомый обошел 12 собесов с +5 опытом госшараги, его везде ебли как сучку да еще домашние задания давали которые за 2-3 дня решаются. Например написать TCP сервер который на вход принимает ключ, кладет его в БД (MySQ), а потом выдает в виде json по запросу клиенту без всяких boost. Сервер должен быть многопоточный, покрыть код тестами и нахуярить CMake, что-то в этом роде.
>>2128491 ну и про всякую хуйню что ты как отче наш должен знать SOLID и всякую хуйню вроде паттернов, на уровне реализовать один из них на выбор и рассказать захуй он нужен, синглтоном и фабрикой не отделаешься.
>>2128494 >>2128493 >>2128491 А чому вас так ебут жестоко? При этом ведь зп явно не сильно большая в яндексе/мыле, а других плюсовых контор и нет по сути.
>>2128514 Не, ну у тех же фронтендеров, джавистов, гоферов зп явно побольше в среднем. Чому у крестовиков такая параша, что за 100к нужно знать нюансы многопоточки включая лок фри и wait-free?
>>2128510 Да тот хуй по скромной выборке делает мощные обобщения. Сидел в госе десять лет ибо параллельно решал психологические заебы. В итоге решил выкатываться, походил по собесам - был где-то на 7 и по итогам везде брали. Ебали заметно только на одном - были и смартпоинтеры и деревья и базовое понимание процессов/потоков, но всё без излишней детальности и тем более реализации на доске. Больше часа беседовали. Просил 90, нарисовали 120. Но я в итоге в другое место укатился, ибо атмосфера не понравилась. Догрейдился до 160. Но бля, это кровавый телеком с легаси на легаси. В итоге не сильно то я и вырос, сменив гос на фирму. А в интересности проектов точно проиграл. Снова искать работу ничуть не очковей, чем в первый раз - ставки повысились, на 180-200 чую уже не обойдешься объяснением на пальцах.
>>2128641 гм... у нас коллеги ща массово с госшараги съебывают, прям ща и прям ща ходят по собесам. В 70% тестовое задания на 2-3 вечера. В 30% смартпоинтереы, многопоточка, разные заебы с индексами из бд. По з.п. они хотят от 120. Если всех в сумме взять контор 20-30 они уже обошли. Ща вообще какая-то хуйня пошла, даже по ассемблеру стали спрашивать иногда, про стек как он там выглядит, код возврата, как параметры передаются через регистры или еще там кучу. В общем какой-то блять лютейший пиздос, я сам засел за алгоритмы, т.к. понял, что еще посижу годик в гос. конторе и все... Когда я в ай ти вкатывался достаточно было уметь под линукс компилировать и знать что такое методы и поля класса, уметь написать tcp клиент и прочитать данные из ком порта. Этого хватало что бы в любой говно НИИ устроиться. Теперь какой то блять лютый мрак настал. Недавно вообще задача была типа есть черный ящик в котором три входа x, y, z как за два измерения (задаешь x,y,z получаешь S) определить коэффициенты в виде ax + by +zc = S. Что происходит?
>>2128510 наверное потому что средний класс разрабов вымыло из ++, отожрал go, java, для десктопа c#, python где можно. Остались либо ГОСПАРАША вроде роскосого или каких-нибудь НИИ ГОВНА и СВЯЗИ, либо какой-нибудь лютейший хуйлоад вроде яши, мэйла и прочих компаний.
>>2128651 >достаточно было уметь под линукс компилировать и знать что такое методы и поля класса, уметь написать tcp клиент и прочитать данные из ком порта. Это 10 лет назад было? Сейчас с такими знаниями ты точно никуда не вкатишься.
>>2128651 >Недавно вообще задача была типа этим же на курсе вычислительной математики обычно студентиков мучают я вот зубрил этот курс, мне интересно было но в жизни не пригодилось (еще бы) и если меня прямо спросить как делать я не скажу, но знаю в какие книги лезть чтобы быстро восстановить знания на собесе на такое ты сможешь ответить как раз если будешь еще зелененьким выпускником после вуза, не успев все это забыть
>>2128649 >всего лишь при такой зп можно за 3 года купить однуху в новострое в кирпиче у себя в мухосранке и даже сделать там ремонтик неплохой вот так то но, как говориться кому что кто от куска свинины нос воротит, а кому и колбаска второй катигории за лакомство
>>2128667 >у себя в мухосранке Ебанутый? Что ты там делаешь? Если вебпарашу пилить на ремоуте можно, то как ты будешь железки делать? У меня хуйовина в офисе стоит 30+ кг весит, ее сюда было проблема DHL-ю доставить, а кому нибудь в хату ее точно не отправят
>>2128668 эта хата будет как нора в которой можно отлежаться если что-то случиться с тобой серьезное ну или уползти умирать после того как тебя рыночек порешает а рыночек порешает программистов, с++ задротов он бодро приканчивает уже лет десять как, в россии совершенно точно
Ну у нас пара ребят переехала в питер разрабами на ++, в дс не смогли ничего предложить, из питера наверно просто в финку все съебывают, а з.п. у ++ в питере ниже на 20% московских
>>2128668 >как ты будешь железки делать на ремоуте Если у железки есть сетевой интерфейс и приблуда, которая может ребутить, то в чём проблема? Ну ещё желательно на том конце иметь челика на случай полного блекаута.
Мимо пиливший эмбед удалённо и железку свою живьём ни разу не видевший
>>2128651 Это давно уже так. Окно возможностей начало охлопываться лет 7 назад. Единственный беспроблемный вариант - перекатываться по профилю (из телекомов в телекомы из эмбеда в эмбед...). В остальном просто ходить на похуй и подтягивать то, что ты забыл или не знал.
>>2128717 >Алсо, блядь, а напряжения потыкать, на светодиоды позырить? Я программист, а не слесарь по железу. Мы делали сам софт, конфигурацию оси и инфраструктуру для прошивки и обновления железок.
>>2128649 Хуй знает, по хабракарьере 160 это вполне околомедианное. Выше выстрелить я хз как пока что в дс2. Стек менять на что-то модно-молодёжное уже морально тяжело, тк интерес к кодингу подугас, только графоний пилить худо-бедно интересно, но там выбор вакух вообще скудный: либо российский геймдев за копейки, либо нихуя. И фиг кто перекатывальщику в графон заплатит даже столько же, сколько на старом месте, тк считай обджунишься при переходе. Уезжать за бугор надо было планировать ещё с универа, да и обычного линейного середняка не сильно где ждут, лол.
>>2128730 Ебать, у меня нанять плюсовиков жуткая проблема, один неликвид идет, пять проектов в подвешенном состоянии, а ты тут >Если у железки есть сетевой интерфейс и приблуда, Ебать
>хотя для изучение этой книги знание языка с необязательно мы подразумеваем что вы знакомы с программированием достаточно чтобы написать откомпилировать программу хотя бы на одном из современных языков не понимаю чтобы научиться программировать с++ по книжке из оп поста (липпман лажойе му) мне нужно уже уметь программировать или я могу просто проигнорировать вышенаписанное и продолжить чтение?
>>2128334 >после года опыта в около гос шараге В ДС я после трёх лет работы (два из которых были по совместительству в универе, чего я правда не писал в CV) в полугосе смог вполне почти под 200 устроиться. Не в яндексы и мейлы, правда, и не в нвидию, но периодически в треде мелькает имя компании.
>>2128845 имхо, вариант который я предлагаю когда в хорошем настроении - это разика 2 прочитать k&r от корки до корки (приложения - самое полезное там) прорешав все упражнения обязательно, дальше читать страуструпа "язык программирования с++, 3е специальное издание", сделав несколько упражнений на кодинг из этой книги
>>2128941 >дойче Не, не банк. Российская компания, десктопные продукты делает. Хотя английский при найме действительно помог, даже сертификат IELTS попросили отсканировать хотя он и стух к тому времени.
>>2128664 Это же линал простейший. Тебе предлагают решить систему из двух уравнений с тремя неизвестными. Решений либо нет, либо бесконечно много, но как минимум одно значение будет неизвестно (не фиксировано). Нужно хотя бы 3 измерения, но тогда тривиально подставляешь (0 0 1), (0 1 0) и (1 0 0).
>>2128954 А чо, если нормально общаться могу более-менее на ингрише - это прям мощный перк? Если бы на апворке вкалывал - окей, тут ясно. А если обычный офисный раб?
>>2128641 вот из-за таких как вы про сишкников говорят, что мы мол за колтету работаем. Всегда просите, блять, 300! 350! 400! Похуй! ПРОСИТЕ! Я вот получал 190 за compvision и был главным на проекте. Начитался МВП треда про их 400к, и на первом же собесе выбил 280. Вот так вот. Причём я звёзд с неба не хватаю, и у меня даже ВО неоконченное.
СИШНИКИ, СЛЫШИТЕ!!! Если у вас не патовая ситуация в жизни - всегда просите 300-400-500к! Создадим двачерский виртуальный профсоюз!
>>2129059 я бы тысяч за 25 щас поработал программистом, у меня вышка по специальности и 4 года работы после вузика на с++, но, к сожалению, поезд ушел и теперь никуда не устроиться ((
>>2129059 Ну не стукой, ну что ты. Я в госболоте 10 лет оттрубил, уверенность в себе это не укрепляет. Плюс после увольнения я чудом таки попал в околографику и оттуда меня попросили через месяц, тк не потянул сразу показать результат в новой для себя сфере. Короче, просить 200 гонора не было - было ощущение 'удержаться бы хоть в каком-то приличном месте'
>>2111351 (OP) Посоветуйте фреймворк для тестирования под винду и студию. Мечтаю о тестах прям в коде, которые только в дебаг режиме отрабатывают. Или что-то вроде того как в goвне. Пилить свой велосипед из костылей на дэфайнах и ассертах не хочу. Посмотрел на гуглтест и сложилось впечатление что для моих задач проще написать тестовое приложение, чем ебаться с этим комбайном.
>>2129260 > у нас тут пикрелейтед Бабло в кармане греет батареи и воду или что? 4000$ ещё недостаточно чтоб позволить хату со встроенным полным электрическим обогревом. Разве что накостылить радиаторов по углам в каждую розетку и бойлер вкорячить над унитазом. Твоя картинка из разряда пикрилейтеда.
>>2129315 >4000$ ещё недостаточно чтоб позволить хату со встроенным полным электрическим обогревом. Чиво блядь?
>Разве что накостылить радиаторов по углам в каждую розетку и бойлер вкорячить над унитазом. Ты наркоман? Решения по отоплению частного дома электрикой давно существуют (тот же теплый пол) + льготные 3000кВт*ч на обогрев. Народ умудряется всунуть в льготные киловатты подзарядку своей теслы/лифа.
Алсо, нахуя тебе электрическое отопление, все газом топятся.
>>2129343 > все газом топятся Точно, я же забыл что хохлы топят печки газом как в средние веками дровами топили. Печально что в рашке такой пиздец тоже местами присутствует.
>Печально что в рашке такой пиздец тоже местами присутствует. Интересно, а как же остальные у вас там живут, без отопления-то? Учитывая что у вас и зарплаты меньше и цены выше.
>>2129363 > Котлы Котлы в зоне АТО, а это газовые печи. > без отопления-то Везде есть отопление, даже где газ есть. В городах газ только под кухонные плиты, да и то это в основном наследие совка. На газе живут только в деревнях, где нет горячей воды. И электричество копейки стоит везде, воду принято греть на водонасосных станциях в котельных, а не дома. Я за электричество в ДС плачу около 1500р, за горячую воду вообще меньше 1000р. Газонюхом принципиально не соглашусь быть. Хотя слышал слухи, что в новых быдлокоробках посреди поля для самых нищих тоже газом топят печки.
>>2129374 >Котлы в зоне АТО, а это газовые печи. Ты обдвачелся совсем
>воду принято греть на водонасосных станциях в котельных, а не дома Ну ты ж вроде хотел индивидуальное отопление. Ставишь котел в подвале частного дома и топишь.
>Хотя слышал слухи, что в новых быдлокоробках посреди поля для самых нищих тоже газом топят печки. Печки - это для приготовления пищи. А в многоэтажных дома либо центральное отопление либо домовая котельная.
>Я за электричество в ДС плачу около 1500р Я ж говорю, что у вас низка з.п. и высокие цены. Я за э/э плачу 350-360 грн/мес и это с электрическим бойлером (но с двухтарифным счетчиком).
>>2129498 >Ехать ради прибавки в 500$ из ДСов в/на Украину? Ты серьёзно? Да, лол. Кроме прибавки к зп ты еще более низкие цены получишь. Ты можешь например хату в центре города снимать за 7000 грн?
>>2129507 >>2129313 Поддержу catch2. Там есть возможность подключить однин заголовочный файл, если нет желания возиться с CMake и собирать dll. И использовать всего лишь два макроса TESTCASE() и REQUIRE().
>>2129503 >хату снимать Синьёр девелопер без собственной хаты в ДС? Кек лол.
>за 7000 грн То есть прибавка уже не 500$, а 250.
Медицина будет только платная и не известно какая. Надо учить мову, не привлекать внимание местных патриотов и решать житейские дела не имея паспорта. Хуйня же, ну?
Удалённо за +500 можно поработать, но переезд - полная хуйня.
>>2129620 >арендуют какие-то конуры по 15-20 квадратов Первые лет пять в начале карьеры. Потом берут в ипотеку или покупают целиком, если денег где-то ещё урвали. Например на мидловую зп в ДС2 можно за 4 года накопить на нормальную однушку (40-45 квадратов). Ещё можно налоговый вычет оформить и хата обойдётся дешевле на 8-15%.
>драпать из рашки От чего драпать то? АТО у нас по выходным не проводят, а свою пайку я и тут имею.
>>2129675 >накопить на нормальную однушку (40-45 квадратов) Кому нужна однушка? Как можно с семьей жить в однушке? Куда ты ребенка будешь девать чтобы поебаться?
>на мидловую зп в ДС2 можно за 4 года Как можно быть мидлом 4 года?
>>2129697 >Как можно быть мидлом 4 года? Ты о чём? Я тебе говорю, что со средней зп хата за 4 года отбивается.
>Кому нужна однушка? Как можно с семьей жить в однушке? Куда ты ребенка будешь девать чтобы поебаться? Зачем тебе семья, когда на зп синьёра можно по 2-3 оксанки в неделю ебать без лишних обременений. Ну а через однушку дешевле в трёшку вкатываться и потом уже думать о вечном.
>>2129374 >И электричество копейки стоит везде в /po вчера обьясняли почему на украине щас дешевое электричество - потому что атомщиков заставили продавать лепездричество по низкому тарифу одному поставщику который еще вдобавок и не отдает им деньги нихуя а атомщики в свою очередь встают в долги к тем кто добывает уран на украине и эти предприятия таким образом подводят к банкротству нужно это для того что бы и добыча урана сдохла и атомщики сдохли, а делает это все коррупмированное лобби в правительстве тупо за откаты понятно что в россии идет медленная стагнация и все такое, но, бля, украина катиться в какую то ебаную пропасть и гордиться зп в 4к баксов в этой стране ну хуй знает если только предусмотреть пути сьебывания со страны когда все покатиться к черту
>>2129697 >Кому нужна однушка? Как можно с семьей жить в однушке? Куда ты ребенка будешь девать чтобы поебаться? кому нужна семья в 2к21? нахуй тебе ребенок? может это ты ебанулся и обдвачевался?
>>2129834 >и гордиться зп в 4к баксов в этой стране Так там сплошной аутсорс. Тем же самым можно заниматься сидя на Кипре. Украинская прописка только кабану выгодна.
>пути сьебывания Из Кабула же улетели. Вот и из Борисполя улетим на крыльях демократии.
>>2129948 ты уже написал компилятор бесплатно? и тогда у тебя будет маааленькая возможность что тебе удасться устроиться писать компеляторы уже за деньги, за мисочку риса, разумееться
Нахуй раст нужен? Разве в плюсах нет всех фишек безопасности из раста? Вроде есть. Так что получается, что c++ просто дает большую гибкость. Можно писать безопасно, а можно и ноги при желании отстрелить. Круто же
>>2130027 Хочу быстрее выучить большую часть плюсов, чтобы понимать его проблемы. А то я сейчас только какие то общие вещи слышал типо огромного ненужного наследия и тупого планирования языка с кучей неудобной хуйни. Но сам пока не шарю. Сколько потребуется чтобы осознать все это?
Все, наконец то съебался из госшараги, посидел тут полгода, поддрючил разные лекции и из ведущего инженера программиста, работающего на гос-во за 90 т.р. уебываю на ++ мидла с з.п. в 160 т.р., предложили оффер на 5 собесе без всяких домашних т.з. За все 4 года госшарага ничего в меня не влошила, ни курсов, ни книг, нихуяшеньки. Жалко только алгоритмы доучить не успел, не рассчитывал, что так быстро предложат оффер. У нас уже весь отдел поувольнялся к хуям, все ушедшие пишут, что стало проще работать без военного мудачья и блатных кабанчиков на подскоке.
>>2129828 Устраивался в нокию. Там собеседование в 2 этапа. Сначала техническое (про знание С++), затем второе с менеджерами. Техническое прошёл, пригласили на второе. После второго тянули неделю с ответом. Написал, когда результат. Сказали отказ, не назвав причину. Думаю , показался менеджерам неуверенным, и похожим на шизика
>>2130246 Самое забавное, что начинают всплывать на хх вакухи с бывшего госа со ставками адекватными рынку и с описанием явно написанным не тётями сраками из ОК, мол всё хуйня - начинаем сначала проект. Но это надо быть очень наивным, чтобы поверить. Даже если средний слой манагеров слили, то головы остались те же, да и основной заказчик тоже проклят. Хотя периодически грущу, тк проекты были интереснее, чем суконный энтерпрайз. Для интересных задач в коммерции нужно быть почти рокстаром, в госах можно и середняком пилить вундервафли.
>>2130459 >>2130443 Компилятор сам %2 при возможности в &1 преобразует. Это хуйня, а не оптимизации. А что за проьлема вообще? Ты же понимаешь, что это не даст супер прироста производительности? Ты может вообще не заметишь этого
Самый важный вопрос: зачем вообще что-то менять? С годами понял такую вещь: если у тебя есть перфекционистские наклонности, то изучать C++ тебе противопоказано. Этот язык манит ощущением полного контроля над происходящим, но на деле все эти обещания, словно узоры на крыльях бабочки, рассыпаются в прах, стоит лишь к ним прикоснуться. В итоге твоя карьера программиста на C++ вырождается в попытки заставить эту бабочку двигаться по твоему маршруту, не касаясь её крыльев, иначе она упадёт и больше не сможет летать.
Например, ты никогда не можешь быть уверен, что твоя программа на C++ не содержит неопределённого поведения, разрешающего оптимизирующему компилятору просто удалить к чертям содержимое какой-нибудь функции полностью. В одной версии всё работает, а в новой — раз, и всё поломалось. Такое случается сплошь (https://lwn.net/Articles/575563/) и рядом (http://people.csail.mit.edu/nickolai/papers/wang-undef-2012-08-21.pdf).
Дичайшая разрозненность экосистемы — ещё одна из проблем, разъедающих C++ изнутри. Нет единого способа сделать вообще хоть что-то. У абсолютно каждого «эксперта» в C++ своё мнение о том, как решать те или иные задачи. Я перестал пытаться делать пет-проджекты на C++, потому что вместо того, чтобы реализовывать свою идею, я всё своё время тратил на подбор подходящих библиотек: эта слишком жирная, тут система сборки непонятная, эту поддерживает один калека, эта не кроссплатформенная, и т.д., и т.п. Слишком много свободы и слишком мало контроля — всё это вырождается в то, что есть тысячи недоделанных решений, ни одно из которых не подходит тебе полностью — потому что, ну, можно ведь лучше вот тут сделать! И оптимизированнее! И вот ты уже в одном шаге от переизобретения велосипеда. Вместо того, чтобы пилить по кайфу свой пет-проджект.
И язык развивается куда-то не туда. С каждой новой версией стандарта C++ становится всё больше недовольных тем, что фундаментальные проблемы языка не решаются вообще никак. Вместо этого мы просто получаем очередную кучу фич, предназначенных для всех сразу и ни для кого по отдельности. Взять хотя бы многострадальный std::variant — могли бы сделать нормальный паттерн-матчинг, а получилось какое-то дикое говно, которое невозможно читать, а написать корректно ещё сложнее. И ещё пачку новых способов инициализации (https://en.cppreference.com/w/cpp/language/aggregate_initialization), куда же без этого.
В результате, в каждой команде для поддержания хоть какого-то порядка будет разрешено только своё собственное подмножество языка, за пределы которого выходить ни в коем случае нельзя, иначе всё вмиг развалится. И вот реально все по-своему пишут. Единства нет и не предвидится.
Если честно, мне всё это очень надоело. С моим устройством мышления очень сложно оставаться продуктивным в таком болоте: слишком много времени и мозга уходит на технические детали и решение «детских» проблем языка, а не на то, чтобы заставить компьютер делать то, что ты от него хочешь. Мотивация в этом ковыряться уже давно иссякла. Я в программирование не за этим пришёл.
>>2131091 Системные вызовы read и write работают напрямую с файловыми дескрипторами (это низкоуровневое понятие уровня операционной системы, ниже всяких FILE* и std::fstream), а не указателями. В линупсах для любого процесса по-умолчанию открыты три дескриптора: stdin (0), stdout (1) и stderr (2)
>>2130791 Есть ещё фактор окружения и коммьюнити. В плюсах в целом люди гораздо, нет, ГОРАЗДО сильнее склонны к байтоебству и экономии "на спичках" даже в ущерб читаемости, здравому смыслу и тд и тп
>>2131168 >склонны За что ебут, к тому и склонны. Хотя в других языках байты ебать особо то и нечем.
Больше проблем с нехваткой здорового похуизма. Увидел, что можно сделать лучше, прикинул трудозатраты, черкнул себе в уголок и забил хер до востребования.
>>2132244 Я то спокоен, а вот тебе стоит задуматься, в ту ли экосистему ты инвестируешь свои силы и время. Сам подумай, в 20 лет ты легко сможешь пересесть на новый язык. В 30 со скрипом. В 40 будешь как тот самый дед-пердед скрипеть и рассказывать сказки про то, что твой язык лучше всех а всё новое - не очень, чисто ради того чтобы работу иметь. Потому что все уже пересели на более современную технологию и твой язык остался где-то на свалке истории и в виде легаси, как сейчас ада, смоллток, кобол и прочие.
Имеется класс Cell, в одном из полей которого сидит указатель на объект класса Prisoner, определенного в другом файле. В этом определении Prisoner имеет поле с указателем на объект класса Cell, чтобы заключенный знал, в какой он сидит клетке. Я обнаружил, что рекурсивное включение хедеров не разрешается. Я могу определить оба класса в одном файле и решить проблему, но задумался о том, а с чем связано это ограничение? Дело в том, что я еще почти не вникал в наследование, шаблоны, френды, даже неймспейсы и т.д. Как должна решаться такая рекурсия?
>>2132435 Читай про forward declaration. Если ты используешь только указатели и рефы на класс в параметрах методов и как поля, то в хидере клетки тебе не нужен инклюд сидельца, достаточно fd этого класса. Ровно так же и в обратную сторону. Хидеры включаются в файлы реализации, чтобы компилятор разобрался что к чему с типами.
А вообще я хотел узнать, можно ли на Qt или wxwidgets сделать такое красивое приложение, с прозрачностями, анимациями, масштабированием как этот калькулятор?
>>2132706 Распиши. А то сам тухну уже пятый год в госконторе, и просто боюсь собеседований - все кажется что меня там спросят про вращение деревьев, а я нихуя не шарю в теории и тем более задачках на логику.
Я ведь еще живу в зажопинске - тут некуда ходить на собесы. Так что надо искать в онлайне, а госконтора сжирает все мое свободное время (и даже отпуск не дают... ну как не дают, положенные две недели дали - ты типа в отпуске но будь на рабочем месте, а остальное доплатили), некогда ни готовится, ни искать.
Ну и конечно у меня нет резервного кошелька - если я завтра уволюсь, то через неделю мне жрать нечего будет, так что онлайн собесы по 2-3 месяца - я просто не выживу.
>>2111351 (OP) пишу tui под линуксами без сторонних библиотек .Проблема заключается в том,что операционная система отправляет сигнал SIGWINCH только когда в UI-цикле задержка между записями в stdout составляет порядка 200 миллисекунд .Если понижать задержку ,при изменении размера терминала сигнал начинает приходить не всегда , а то вообще не приходит в 100% случаев.
стабильная робота только при 5-ти кадрах в секунду это неприемлемо
>>2133533 потому что мне скучно учить библиотеки. Приятнее написать свой кривой-косой велосипед, чем пару вечеров читать ебаную документацию из 90-ых. Ну и в принципе ncurses тут избыточен , если я смогу оперативно получать SIGWINCH ,то напишу нужный функционал сам, быстрее чем научусь клепать с помощью ncurses
Привет уважаемый Антон. В qt читаю с ком порта и вывожу на виджеты. И все как бы отлично кроме того, что если захватить заголовок окна мышкой, то данные в виджетах перестают отображаться. После отпускания мышки я вижу в логах как разрастается буфер, в который я считываю с порта. Что то можно с этим сделать?
>>2133647 Сначала хотел высказаться за контейнеры, цветовые пространства и кодеки. Но потом заметил ncurse в связке с nvitro и понял, что не стоит. Кстати, диагноз и по иконке документа просматривается.
>>2133826 Их можно определять где угодно. Другой вопрос в том, что если ты хочешь юзать их в другой единице трансляции, то да, всю реализацию придётся выносить в заголовочный файл.
>>2133826 Есть один трюк, когда определение можно запихнуть в срр, но придётся писать явные инстанцирования под требуемые тебе типы в том же срр. Ограничено применимо.
>>2134529 Да вообще все что угодно. Начиная от анализатора трафика на DPDK, заканчивая CAD/CAM/CAE йобами. Другое дело в том, что будешь заниматься не написанием логики или решением задач, а дрочевом самого С++.
Как на Qt сделать вот такой простенький проводник? Чтобы показывалось только то что есть в одной папке, иконки, название, дата изменения и т.д. Нашёл про QFileSystemModel, пример QListTree но получается какая то слишком простая хуета где ещё и папки надо разворачивать и без иконок. С чего мне начать?
>>2134592 А, нужен какой-то QIconProvider, я вижу на скриншотах из примеров что иконки есть, но когда запускаю у себя тоже самое, их нет. Может изменили за столько лет
Я лох и чмо, так подскажите мне вот что, если я хочу прикрутить пустяковый дополнительный интерфейс к приложухе на своем телефоне, не требующий большой работы с данными, то как это сделать и с чего вообще начать. Приложуха типа ютуб музыка, а интерфейс типа галочку нажал снял, что то такое.
>>2135193 Не на C++. Если у тебя там работа с HTTP, проще сделать простую страницу на хтмл с парой форм. Если что-то сложнее, в зависимости от телефона возись с жабой или свифтом и соответствующими API.
Прошу помощи с скачиванием и построением библиотек через CMake. Очень надо. Использую Visual Studio 2019
Хочу использовать https://github.com/troldal/OpenXLSX Если открывать через CMAKE GUI, то там вылезают ошибки. Кое как построил OpenXLSX-object.lib, засунул его в папку include, добавил эту папку с Additional Library Directories и в additional dependencies добавил OpenXLSX-object.lib. В итоге всё-равно VS не видит файла #include <OpenXLSX.hpp>.
Я пздц как затрахался. Как подружить этот ебаный кьют с андроидом? Процессор рязань, windows 10
Ставил несколько вариантов кьюта, jdk, все равно какая-то хуйня, какие-то проблемы с градлом. Кто-нибудь с рабочей версией есть с исходными параметрами как у меня?
>>2135488 я собираю апк-шечки но почему только debug версии. jdk-8 Qt старый удалил и установил заново и сразу выбирал установить пакеты для андроида, а ещё у меня android-studio вроде из него подтянуло NDK
>>2136011 У меня тоже последний кьют с установленными пакетами для андроида. Но у меня не работало с последними версиями jdk. Походу андроидный кьют это никому не нужная хуета
Анон, помоги собрать https://github.com/storm-devs/storm-engine Установил все что в ридми сказано, но пишет затык. 1> [CMake] -- The CXX compiler identification is MSVC 19.29.30133.0 1> [CMake] -- Detecting C compiler ABI info 1> [CMake] -- Detecting C compiler ABI info - failed 1> [CMake] -- Check for working C compiler: G:/Visual studio/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe 1> [CMake] -- Check for working C compiler: G:/Visual studio/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - broken 1> [CMake] CMake Error at G:/Visual studio/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/share/cmake-3.20/Modules/CMakeTestCCompiler.cmake:66 (message): 1> [CMake] The C compiler 1> [CMake] 1> [CMake] "G:/Visual studio/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe" 1> [CMake] 1> [CMake] is not able to compile a simple test program. 1> [CMake] 1> [CMake] It fails with the following output: 1> [CMake] 1> [CMake] Change Dir: H:/Doc/Work/storm-engine-develop/storm-engine-develop/build/msvc-debug/CMakeFiles/CMakeTmp 1> [CMake] 1> [CMake] Run Build Command(s):G:/Visual studio/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe cmTC_a7f85 && [1/2] Building C object CMakeFiles\cmTC_a7f85.dir\testCCompiler.c.obj 1> [CMake] [2/2] Linking C executable cmTC_a7f85.exe 1> [CMake] FAILED: cmTC_a7f85.exe 1> [CMake] cmd.exe /C "cd . && "G:\Visual studio\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe" -E vs_link_exe --intdir=CMakeFiles\cmTC_a7f85.dir --rc=rc --mt=CMAKE_MT-NOTFOUND --manifests -- G:\VISUAL~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\link.exe /nologo CMakeFiles\cmTC_a7f85.dir\testCCompiler.c.obj /out:cmTC_a7f85.exe /implib:cmTC_a7f85.lib /pdb:cmTC_a7f85.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib && cd ." 1> [CMake] RC Pass 1: command "rc /fo CMakeFiles\cmTC_a7f85.dir/manifest.res CMakeFiles\cmTC_a7f85.dir/manifest.rc" failed (exit code 0) with the following output: 1> [CMake] Не удается найти указанный файл 1> [CMake] ninja: build stopped: subcommand failed.
Аноны есть свой класс который содержит набор объектов одинаковых и имеет еще ряд свойств. Как мне написать итератор, что бы к нему были алгоритмы stl применимы, вроде copy, transform, begin, end
>>2136714 Когда-то это был язык общего назначения. Теперь специализация становится всё уже и уже, а всё потому, что вместо прикладных вещей добавляют всякую хуйню без задач типа launder или inline variables.
>>2136587 Тебе нужно определиться к какой категории относится твой итератор, обеспечить все необходимые операции и сделать специализацию шаблона std::iterator_traits<YourClass> для твоего класса.
>>2111351 (OP) Сап программач. Что подразумевается под словом говнокод? Просто плохой код или есть расширенное определение? Вот например на CodeWars решил задачу и там есть ответ самый залайканый. Он забавный но говнокод же.
///// #include <array>
using namespace std;
array<int, 10> paint_letterboxes(int start, int end) { array<int, 10> frequencies = { 0 }; for (int i = start; i <= end; i++) for (int n = i; n > 0; n /= 10) frequencies[n % 10]++; return frequencies; } ////////////////
>>2137025 Любой попахивающий код - костыли, копипаста, плохая читаемость или расширяемость. Мера субъективная, никакого расширенного определения в словаре ты не найдёшь.
>>2137030 >Мера субъективная От кого возможно услышать претензии и требование переделать? Только от тимлида? Возможны ли серьезные неприятности?
В этой задаче решал так: клал все числа в струну и потом считал std::count. Но потом подумал что для расширяемости лучше было бы паковать в вектор<string>, но потом подумал что перебор. Но если бы вместо струны были объекты то самое то.
>>2137034 Я бы выделил 2 основных признака: - трудно понять, что и как он делает (плохое форматирование, плохое именование методов/переменных, склеивание нескольких стадий обработки данных в одну хитровыебанную). - при беглом просмотре видны грубые ошибки (утечки памяти, выходы за пределы массива, алгоритмические ошибки)
Самый простой детектор - показать другим. Если они нихуя не поняли, значит ты замесил говнецо.
>>2137121 Либо логика в реализации хромает либо сам алгоритм явно неуместен (не будет сходиться, ест слишком много ресурсов, не покрывает все возможные случаи).
>>2137135 Мне пришла в голову мысль что все сложные темы типа умных указателей, лямбды итд крутятся вокруг алгосов. Получается это ступень два после обычной базы. Но уже хочется чего-то большего. Даже не знаю что это может быть. Asm вроде не в ту сторону. Биты вроде тоже не туда но препод рассказывает. Еще бросил что на стек возможно забить пока потому что это для профи. Хочу новый гаризонт увидеть.
Где почитать про технические вещи С++? Ну то есть все то о чем не пишут в книгах С++ для нубов?
Типа как выделяется память (со всеми этими выравниваниями, типами и т.д.), что такое соглашения о вызове функции (ну эти всякие cdecl/pascal/stdcall) sfinae, и все такое,
>>2137188 Не видел ни одной книги, где есть одновременно соглашения вызова и sfinae. Про низкоуровневую часть однозначно стоит почитать, например, "Компьютерные системы: архитектура и программирование". Про шаблоны тоже много хороших книг, но отдельно.
По работе часто нужно пересобирать проект на домашнем ПК, сборка занимает обычно 3-10 минут. Хочется как-то ускорить этот процесс. Какие есть способы? Рассматриваю вариант обновить железо. Сейчас у меня процессор Intel Core i5 8400, видеокарта GeForce GTX 1060 6GB. Если я проапгрейжу то какой прирост в скорости сборки это даст? И что именно апгрейдить надо?
>>2137561 Не эксперт но почитай про то как работает компилятор. Процесоор безусловно. Возможно память. Видюха врятли участвует, возможно есть хитрые способы перероручить ей часть задач как при майнинге. Выбрать другой компилятор например. Ну или работать с модулями отдельно, потому что их возможно поотдельности компилировать. Но я первокурсник. Уверен что найдутся олды и подскажут. Что бы я сделал со своими скудными знаниями это создал бы изолированный модуль с нужной логикой и билдил бы его. Ну или сделал бы загон для отдельных участков кода, расчитав грамотно все потоки входа/выхода данных. Или докер о котором я только краем уха слышал.
>>2137561 Практически вся нагрузка ложится на процессор и диск. Начни с апгрейда диска, на котором находится проект. Если матплата быстрее не вывозит, то меняй уже в сбоке камень + плата + диск.
А вообще стоит посмотреть на параметры компиляции (ключи оптимизации и распараллеливание - количество процессов cl.exe) и причесать код, минимизировав его по включению (выпилить лишние шаблоны, директивы #include и прочее).
>>2137683 Шаблоны, как известно: 1. Полны по тьюрингу, что позволяет добиться сколь угодно долгой компиляции. 2. Обычно находятся в заголовочных файлах, что применяет предыдущий пункт к каждой единице трансляции, куда он включен (напрямую или нет).
>>2137683 Так дело не в коде, а в том, что компилятору нужно поднапрячься и сгенерить код за программиста. Допустим достаточно int a[4], а сделано с использованием std::array<int, 4> a. В первом случаем компилятору ничего делать не надо, во втором - как минимум сделать include подстановку и скомпилить все методы std::array, используемые в коде. Ну и отсюда начинаются пляски с выносом шаблонов в precompiled headers, и использование extern template.
>>2137672 >диск Не должно особо помочь, только если диску не 15 лет от роду. Все файлы исходников по любому в кеше оси почти сразу окажутся. Вот проц - да, сильно влияет. Сам пробовал когда-то давно, проект билдился минут 15, перешёл на SSD - всё те же 15 минут.
>>2137683 Почитай про модель компиляции плюсов. Шаблоны - ад как для компилятора, который создаёт 100500 символов на каждый инстанс и должен со всем этим богатством непростой name resolution делать, и линкера, который должен объединять все одинаковые инстансы шаблона по всей программе в один. А инстансов у тебя намного больше, чем ты думаешь. Вот совсем недавно читал, как парень уменьшал время компиляции (правда, у него скорее всего похлеще, чем у тебя): https://thephd.dev/sol3-compile-times-binary-sizes
>>2137919 Перекат на SSD сильно помогает, если в проекте очень много файлов. А если в проекте перестарались с метой (допустим надо что-то аля boost::system собирать), то выхлоп будет небольшой. Если брать перекат между SSD, то у меня на M2 диске сборка идёт бодрее, чем на старом 2.5 дюймовом (там и кэш поменьше и пропускная способность ниже). Хотя явно не в разы.
>>2137919 Спасибо за ссылку. Не совсем понимаю что вы имели под тем что нужно убрать шаблоны. Ведь если в функции участвует больше одного типа, то тогда надо будет дописывать функцию для второго типа. Если шаблон используется одним типом то да кончено есть смысл.
>>2138064 Шаблоны в основном используются не ради полиморфизма, а чтобы быстрее писать код. Все наиболее часто используемые алгоритмы, контейнеры, строки и прочие штуки реализовано на шаблонах в виде библиотек stl/boost. Как следствие они бесконтрольно размножаются в проекте, образуя многоуровневые конструкции и на большой кодовой базе начинают душить компиляцию. Обычно от этого страдает enterprise и проекты долгожители.
>>2138215 Не согласен. Как раз для универсальной работы с типами они и нужны. Шаблоны это не в смысле шаблоны работы это шаблоны компиляции. Они - ловкий обход типизации при сохранении её плюсов. И если они в стандарте значит все с ними ок. Компиляция не должна быть быстрой. Это не главный приоритет. Некоторые проекты вообще на ночь ставят компилироваться. И вообще зачем компилировать если возможно просто научиться дебажить. Я сам компилирую через каждое действие но в будущем надо будет писать код без этого.
>>2138223 Чтобы так утверждать надо быть либо слишоком умным либо слишком глупым. Степанов крут по определению что сделал такой большой проект как stl. Не сконел заострать внимание на всяких мелких изъянах и понтоваться этим. Был у меня в школе один такой ботан. Всех заебал со своими комментами по типу - а вы знаете что там в таком вот исключительном случае все оказывается по другому. Обычно это все молча слушали и пропускали мимо ушей. Ну а когда он реально заебывал это прямо в воздухе висело ЗАЕБАЛ ЗАТКНИСЬ НАХУЙ СЛАВИК.
>>2138228 Я не против STL, а Степанов действительно крут. Но 1) "если они в стандарте значит все с ними ок" - почитай про is-ought проблему. В стандарте иногда бывают большие такие бяки, причём часто из-за политических причин из-за этого мы не получили те самые концепты Страуструпа, а лишь их подобие 2) Говорить "компиляция не должна быть быстрой" - значит ты не испытывал на себе это мучение. А это действительно мучение. Я работал/ю на проекте, в котором натурально одна часть компилировалась час. И это был пиздец, и из-за интересного тулчейна какой-нибудь ccache или распределённую компиляцию нельзя было сделать. В таком режиме просто очень трудно работать, никому не пожелаю. К счастью к этому поделию редко надо прикасаться.
В любом случае, время компиляции - неотъемлемое свойство языка и говорить, что это всего лишь, выражаясь языком Стандарта, Quality of Implementation и Комитет не заботится о нём, что Стандарт не обязан его учитывать - значит закрывать глаза на реальную проблему, на которую потрачено огромное количество человекочасов. Я не говорю, что уже что-то можно сделать с этим, мы уже давно получили девять фаз трансляции и две фазы разрешения имён. Но по крайней мере признавать это и думать об этом надо.
>>2138234 >бяки Это в сказке для самых маленьких об этом прочитал лол?
>В таком режиме просто очень трудно работать, Что мешает взять функцию и написать отдельно? Не поверю что ты пишешь прям работающий сложный функционал где сразу весь модуль работает во всей полноте и это никак не выцепить.
>девять фаз трансляции и две фазы разрешения имён. Ну здесь я не шарю.
>>2138222 >Компиляция не должна быть быстрой. Это не главный приоритет. К сожалению это не так. Современный подход к разработке коммерческого софта часто основан на continuous integration (CI) и continuous deployment (CD). Это подразумевает, что проект через малые промежутки времени обрастает новым функционалом и отгружается заказчику. Чтобы всё это работало, используется автоматизация в виде билд сервера, который регулярно вытягивает из репозиториев исходники, делает полный ребилд, прогоняет на нём тесты и формирует пакеты для обновления/тиражирования. Попутно он оповещает всех участников о возникших проблемах (сломалась сборка, полезли баги, проблемы с интеграцией и развёртыванием). Чем раньше проблема обнаружена - тем дешевле её устранить.
И всё это будет работать при условии, что все стадии CI выполняются за разумное время.
>>2138254 >continuous integration (CI) и continuous deployment (CD) Это не парадигма программирования, а бизнес-модель. Причем одна из, а не та, на которой свет клином сошелся.
Нужда в обобщенном программировании полностью покрывается ООП, гарантирующим типобезопасность и без оверхеда на каждый вариант параметров. Шаблоны не нужны. Шаблономразь - не человек. Дискасс.
>>2138238 >Что мешает взять функцию и написать отдельно? То, что обычно в больших проектах ты допиливаешь/исправляешь уже существующую логику в существующих модулях. Даже если ты пишешь что-то новое, это обычно завязано на всё вокруг.
>>2138293 >не парадигма программирования, а бизнес-модель Не бизнес-модель, а практика разработки. И очень удобная, внезапно. Ты предлагаешь пожертвовать ей ради... ради чего именно?
>>2138222 > И вообще зачем компилировать если возможно просто научиться дебажить. Я сам компилирую через каждое действие но в будущем надо будет писать код без этого. Как дебажить если разрабатываешь гуи?
>>2138293 Сейчас на ней всё крутится, так как это выгодно и практически не привязано к конкретным языкам, тулчейнам и девопс инструментам. Посмотри на мобилку свою - там каждую неделю из google play вываливается куча обновлений. Возьми любую онлайн дрочильню - исправления багов, контент и шапки завозят раз в месяц (иначе половина твоей аудитории укатится на новую МММО йобу и больше не вернётся).
За скорость компиляции Страуструпа и Ко ебут давно и заслуженно. Промежуточным результатом являются модули в с++ 20.
>>2138293 Ну давай спустимся на бытовой уровень. Ты работаешь со своей частью проекта и у тебя всё ок. Изменения локальные, компилится быстро. Затем твой код сливается с кодом других участников и хуяк - он не работает. Это интеграционный баг и для его локализации, устранения и закрытия тебе придётся сделать полный ребилд как минимум 3 раза. Займёт это целый день, за который ты больше ничего не сделаешь, ведь у тебя только один компьютер. Пара таких багов и ты вываливаешься из графика и получаешь от пма ускорение под сраку. Переработки, недосып, выгорание, лучи поноса в сторону Страуструпа и адептов метапрограммирования.
>>2138293 А ещё есть такая отрасль программирования на с++ как эмбед. Если у тебя железка брендовая и популярная, то тебе повезло. Можно кросскомпилить уютненько под windows на топовой рязани или корах последних поколений. Если железка похуже, то придётся попуститься до ubuntu или злоебучего gentoo. А если кросскомпиляция невозможна, то компилить придётся на очень слабом камне через консольку. И вот тут ты добровольно откажешься от stl и шаблонов.
>>2138934 >получаешь от пма ускорение под сраку Скорее пм от меня получит.
>добровольно откажешься от stl и шаблонов. Ну и? А смысол на Стандарт наезжать, если можно просто не пользовать то, что ваша удобная и выгодная система-нипель не вывозит? Да еще и с мотивацией "лишь бы пм на конюшне не выпорол".
>>2138995 >Скорее пм от меня получит. >с мотивацией "лишь бы пм на конюшне не выпорол". Прямые конфликты довольно редкое явление. От тугосери, который правит по багу в день, избавляются по-джентльменски поражая его в зарплате или отсекая от новых свежих проектов. То есть убивая два основных мотиватора.
>если можно просто не пользовать Так оно и происходит. Ты приходишь в новую команду и тебе с порога заявляют, что с++ конечно заебись, но мы не используем вот это, это и это. Допустим игроделы не любят использовать STL, а эмбедщики - шаблоны и виртуализацию.
>>2139054 >тугосери, который правит по багу в день Определись уже, дело в языке или в тугосере.
Энивэй, это не решение тугосери внедрять практики, которые фактически поощряют появление багов. Причем одновременно с языком, который заведомо плохо для этого подходит. Да еще и в условиях, когда на конторе дефицит железа.
>>2139066 >Определись уже, дело в языке или в тугосере. Язык с++ заставляет программиста туго серить. А чтобы серить быстрее, приходится его ограничивать до смысла. Но и это не всегда помогает.
>внедрять практики, которые фактически поощряют появление багов У любого проекта есть цели. Если это новое направление, то нужно быстро захватывать нишу и баги вторичны. Если ты входишь в устоявшийся рынок, то качество ставится во главу угла (и CI/CD является must have). Хороший пример TikTok. На страте китайцы херачили код, чтобы он просто работал и в итоге преуспели. А вот потом им въебали нехилый такой иск за дыры в безопасности. Но ничего, они сильно не расстроились.
>в условиях, когда на конторе дефицит железа По два физических компа обычно выдают только ведущим-вперёд идущим. Реально у тебя один и ещё доступ к некоей виртуальной машине. А вообще современные тенденции также подразумевают конторы на 80% из удалёнщиков. И вот у них, кроме железа, взятого в аренду под серверы, вообще ничего своего нету.
Что можно написать на плюсах, что бы вспомнить всё, что забыл?
Аноним25/08/21 Срд 01:59:12№2139301807
я не помню то, чего забыл, поэтому хочу взять какой-нибудь для себя проект, дабы освежить память и поднатаскаться в плюсах
Объясните про это. Всегда думал что символьный литерал может быть из одного символа и так писать нельзя... Оказывается можно по стандарту. И как тогда такое читать? Что вообще тут происходит, как он из символов получает int?
>>2139357 Если у тебя тип вмещает 2 байта, то можешь писать в него 2-символьный литерал. Если вмещает 4 байта, то можешь писать туда 4-символьный.
>Что вообще тут происходит, как он из символов получает int? Раздели 4 байта на 4 группы по 1 байту. К каждой группе применяется точно такая же магия, как и у 1-символьных литералов.
>>2120012 Firefox зачем-то требует в линуксе библиотеки раста. По крайней мере это было пару лет назад. Значит, уже часть его написана на расте, значит, как минимум против и раст сосцществуют в одном проекте. если я ничего не напутал
Двачерня, посоветуйте, с чего начать вкат в программирование unix/Linux на c++.
Вопрос по функции C++
vance25/08/21 Срд 14:33:08№2139711821
Всем привет, я начал изучать C++, и у меня появился один вопрос, на который я не могу найти понятного для себя ответа. При вызове функции main() я примерно понял, что в int main() нужно писать return 0, а в void не обязательно. Так вот какой у меня вопрос: во всех ли функциях int нужно писать в конце return 0?
>>2139711 return 0 - это не какая-то магия, а результат работы функции. Если у тебя функция считает сумму двух чисел, то и возвращать она должна эту самую сумму, а не 0. А main возвращает результат работы программы, и 0 означает, что он успешный. Можно и не 0 возвращать.
Котоны помогите сил боле нет, одни слезы. Почему такая головная боль с этими кодировками, какой садист такое выдумал?
Нужно вывести хотя бы в консоль строку: Точильный станок 锐化机器自己的手,APEX休息,如何正确地关闭刀
Что я только не делал и L и _T, нихуя, если cout хоть часть строки выводит до этих ебаных кракезябр, то с wcout вообще ничего не выводит, а когда я cpp файл конвертнул в utf-8 так вообще чистая консоль и нихуя!
>>2139882 А хули ты хотел. Препроцессор это просто автоматизированный копипаст. Он тебе хоть программу на паскале прожует, хоть пасту с двачей - были бы дефайны правильно расставлены.
>>2139914 ну я так понял моя ошибка в том что препроцессирование происходит до компиляции и в строчке #if DEBUG ни про какие переменные препроцессор не знает. Кстати ,раз он не знает но использует, можно ли это считать UB?
Это гимн плюсовиков? Я люблю плюсы, нр я не пидорас. А ты пидорас? Хотя долбится в задницу неплохо, если ты тян. Здесь одни плюсы. >>2139866 Я читал, что директивы препроцессора моветон. Понял, быдло ты ебаное! Ты еще глобальную переменную объяви.
>>2140195 Так я умею писать код. Я не умею писать мифический код продакшена. Я понмаю что циклы for заменяются алгоритмами. Но это пока все что я слышал.
>>2140201 Мифический код продакшена ты научишься писать на работе.
На работу тебя возьмут когда ты научишься писать код, а не цитировать стандарт. Умеешь ли ты писать код - я не знаю, я вот научился спустя 4 года работы и уже имея лол-сениорскую лычку. Да и то, иногда берут сомнения.
>>2140220 Пишешь какие-никакие законченные проекты, которыми можно пользоваться. Пусть они написано хуево, на С++1488 с вкраплениями С - самое главное, что они функциональны.
>>2140188 Ты отвечал другому анону, а не автору изначального поста(т.е мне). Жаль, что он не подписался другим аноном и навел бесполезной суеты. Опыт программирования у меня есть, пару лет писал на чистом Си. Сейчас вот хочу вкатиться в кресты, но слышал, что код в стиле Си на плюсах это плохая практика. Поэтому и спрашиваю о стандартах, чтобы постепенно начать использовать высокоуровневые фишки языка по типу auto и умных указателей.
У меня текст в кириллице в формате(полагаю UTF-8) -конвертирую в UTF-16 u16string s16 = miniutf::to_utf16(s_MyText);
А дальше как работать с u16string? Банальная функция find() не компилируется std::size_t found; found = s16.find("Номер"); Ошибка: Severity Code Description Project File Line Suppression State Error (active) E0304 no instance of overloaded function "std::basic_string<_Elem, _Traits, _Alloc>::find [with _Elem=char16_t, _Traits=std::char_traits<char16_t>, _Alloc=std::allocator<char16_t>]" matches the argument list 503
>>2140277 Ради практики я бы написал какой-нибудь многопоточный распределенный убер сервер только вот буду делать это 100500 лет. В этом проблема. А писать то, что есть у каждого вкатывальщика это не резон потому никто не оценит.
>>2140283 Нет бля, никакого переката сейчас не будет. Тред специально долго не перекатывают после бамплимита, чтобы было поменьше залётных шарпо-расто-шизиков, которые видят тред на первой странице и заходят посрать. Неужели не замечал, что градус неадеквата резко понижается сразу после 500 поста? Те, кому надо, находят тред по навигации из закреплённого треда или по меню "Избранное" в правом нижнем углу.
>>2140293 В какую область вкатиться хочешь - то и делай. Можно переписать некоторые классы из стандартной библиотеки, приучит тебя к нормальной работе с шаблонами и другими кусками библиотеки.
>>2140300 Дополню тебя. Вообще можно взять и сложную вещь, но декомпозировать ее до мелких и простых задач на которых можно практиковаться. Например, сразу написать компилятор очень сложно. Поэтому берешь и читаешь из чего состоит компилятор. Ага, парсер, лексер, что-то еще - это уже более простые вещи за которые можно взяться. Как все маленькие программки будут написаны, можно подниматься на уровень выше и обьединять их в одну систему и т.д.
>>2140316 У меня бывает такое что "надо досконально разобраться". Но это уже смахивает на ОКР. Слышал что некоторые личности читают книги задом наперед.
>>2140188 Программировать (тобишь набивать код) каждый дурак сможет, даже обезьяна, а вот на работу его не возьмут без знания очередного ебства из стандартов, алгоритмов, паттернов и прочей хуиты
>>2140195 >которую ты забудешь через 3 дня, т.к. нигде не сможешь применить Я кстати нашел способ изучения такой хуиты - я просто начал составлять себе читшит прям с основ - с определения лексем, литералов и т.д. И при этом не тупо копипастя текст, а пытаясь его переписать так чтобы оно описывало в пару слов, но при этом было понятно
>>2140402 Пчел, ты не представляешь сколько людей знают теорию, но не в состоянии написать даже сортировку блядь пузырьком. И нет, это проблема не алгоритма - лучший челик не смог цикл for написать.
Я охуевал, когда собесил. И да, мы от 250к на руки давали тогда.
>>2140547 Я то могу, но я зеленый. А вот опытные программеры БАЗУ забывают, потому что если что-то не использовать, мозг это информацию постепенно стирает.
>>2140550 Если ты умеешь писать код, то такую хуйню как сортировка пузырьком (2 цикла, 1 свап, что может быть проще) - ты напишешь, даже если не сортировал ничего 30 лет до этого.
Мы щас не о знании алгоритмов, а об элементарном разуме
>>2140553 Ну я согласен. ты просто написал без подробностей. Например, вы напоминали соискателю вообще суть пузырьковой сортировки, или он и это должен был вспомнить? Или от него требовалась только реализация? А может они ее написали, но не оптимизировали. На 250к я думаю надо еще оптимизировать алгоритным, убирая лишние итерации. Или вообще не написали? В это я не верю. Если б фронтендер не смог написать реализацию может быть, но не плюсовик точно.
>>2140554 > ли он и это должен был вспомнить? Или от него требовалась только реализация? В оригинале задание звучит как "напиши любую сортировку, вообще любую, даже квадратичную по сложности", и все писали (или пытались писать) - именно пузырёк, как самый простой.
> Или вообще не написали? Вот так. Но я говорю - был чел, который не смог цикл for осилить вложенный. For в For'е.
> На 250к я думаю надо еще оптимизировать алгоритным, убирая лишние итерации. Угу, это было бы, после того, как самая наивная реализация была бы написана. Но, до этого даже не дошли.
>>2140539 >https://ffin.ru/market/directory/ipo Не понимаю смысла продажи даже 1% компании если это проект без обмана. Зачем? Пусть компания приносит тебе всю прибыль. А продавать её - значит она скоро сдуется и все это было пузырем. Ну или обстоятельства как новые технологии скоро сделают тебя нерентабельным - тогда и пытаешься слить, и то это преступление имхо. Интереснее было бы переквалифицироваться и использовать свою накопленныую репутацию для других проектов.
>>2141043 Если будешь продавать свой продукт, то лицензия действует. >>2140539 Я думаю, сеньорам тупо лень было эту хуйню писать, они пошли на другой собес, где им не ебали мощги алгоритмами, а вы проебали спецов :3
>>2140833 В общем поддержки multi abi почему-то нет в последней версии кьютов или я чет новое докачал к 5.14. Хз я заебался переустанавливать. Что знающих нет что ли? Как так гугл прекращает поддержку apk и переходят на aab а qt забивают хуй на это? Или че?
>>2138355 >То, что обычно в больших проектах ты допиливаешь/исправляешь уже существующую логику в существующих модулях. Даже если ты пишешь что-то новое, это обычно завязано на всё вокруг.
Так возьми и напиши спецификацию с теми типами которые нужны.
О том и речь, что в современном писать код - это тупо юзать миллионы готовых решений, совершенно не понимая что они делают - что с одной стороны дает рабочий результат, с другой, это не то что обычно хочется видеть в программистах.
>>2140553 >Мы щас не о знании алгоритмов, а об элементарном разуме Я десять лет кодю. В том числе профессионально - зарабатывая на этом на хлеб. Нет, я не знаю как писать сортировку пузырьком.
>>2140539 >ты не представляешь сколько людей Представляю. Ноль людей. Простые сортировки - это уровень сразу после хелоу ворлда и такие вещи не забываются. Разве что в названиях запутаться можно. Не бывает людей с опытом, не способных в принципе написать сортировку. А вот мудаки, не способные объяснить чего они хотят попадаются очень часто.
>>2141508 Надо уметь пызырьком потому что это элементарно. Просто понять принцип как дважды два. Смысл в том что нужен временный контейнер чтобы было куда положить элемент а на его место положить второй. Это типа буфера и полезно для понимания программирование в целом.
>>2111351 (OP) Проблема с засорением глобального пространства имен.
когда пишу интерфейс класса часто нужно брать типы из стороннего заголовочника чтобы объявить его приватные члены. Но разработчики библиотек почему-то вместо использования своих namespace`ов предпочитают насрать в глобальный.Сишные вообще пиздец, подключил vulkan.h и в итоге нужно писать около 4-5 начальных символов чтобы автодополнение поняло что ты хочешь сделать.
Пробовал ложить в hpp-файл только forward declaration, но это не работает.Если завернуть #include в namespace тоже не выходит, как и extern class.
>>2141510 >Я десять лет кодю. В том числе профессионально - зарабатывая на этом на хлеб. Нет, я не знаю как писать сортировку пузырьком. это проблемы ай-ти отрасли и конкретно твоей фирмы что неучам типа тебя получаеться зарабатывать на хлеб с маслом лично я бы хотел чтобы люди типа тебя не работали программистами, а копали ямы или лучше сдохли от рака
>>2141987 ни че они не ошиблись, все у нокии было норм с технической частью только владельцы оказались пидорами и продались майкрософту, ну а майкрософт убил фирму и все а в некоем альтернативном мире у нас сейчас была бы живая мобильная операционная система написанная на плюсах, и с экосистемой на плюсах и работы для простого кодера-плюсовика было бы гораздо больше
>>2142276 Реализацию пишешь .inl файл. .Inl инклудишь в самом конце .h файла. Точнее сначала инклудишь, а потом пишешь. Иначе когда писать в .inl будешь там ничего не доступно будет.
>>2142273 Во-первых, с чего это я деревенщина? Во-вторых, код тут ни при чем, все что нужно есть в вопросе. Кстати просить код без повода это агрессия и вообще ты быдло,фу
>>2140156 >Это гимн плюсовиков? Да плюсови либо топган либо аутист. Точнее 1 топган на 9 аутистов. Уже даже все нормальные преподы по плюсам сдохли, остались недоучки шизики.
>>2142269 Что Symbian от ноклы, что Windows Mobile обе оказались провальными. IOS на плюсах написан, так что мимо. А по поводу ноклы. У них тут вакухи висят SW Engineer (с++). И висят они уже 2 года незакрытые, что какбе намекает.
>>2142357 Собесы по ним идут. Иногда вроде даже кто-то у них работать соглашается.
На самом деле рассказы про то, что майки убили ноклу, это всё хуйня. Достаточно посмотреть на динамику стоимости акций компании. На момент покупки (примерно 2013) нокла стоила дешевле чем за всю свою историю. Её бумаги тогда считались мусорными (да и сейчас тоже). С тех пор прошло 10 лет, а компания как была в говне (по 5EUR за акцию), так и сидит в нём. И попала она туда, потому что эпично проебалась со смартфонами и по аппаратной и по программной части.
Изучил синтаксис плюсов, теперь хочу разобраться в stl. Нужно ли мне для изучения прочитать про все стандарты или можно читать только стандарт 20 года?
>>2142492 что значит "читать стандарт"?Если у тебя есть подходящий учебник по c++20 , то да читать старые не нужно.Хотя скорее всего ты будешь взаимодействовать со старым кодом,но там не сложно разобраться, читать отдельные книги не нужно, достаточно пролистать cppreference по диагонали.
Лично я ,да и думаю многие , чтобы изучить stl или какую либо другую библиотеку никаких книжек не читали.Просто берешь и пишешь код без задней мысли, все придет с практикой. Почитывай код интересных тебе проектов, тащи фишки оттуда
>>2142351 >IOS на плюсах написан Если ты про XNU ядро, то оно преимущественно на Си написано, а системщина в пространстве пользователя там почти вся на objective C, так что яблоко не особо юзает плюсы в своей кодовой базе. На самом деле, мне непонятно почему плюсы вяло юзали для разработки ОСей, однако подозреваю, что юзая С вместо плюсов, можно достичь лучшей портируемости, затратив при этом меньше усилий, так как написать компилятор С гораздо легче, чем плюсовый.
>>2142498 >Просто берешь и пишешь код без задней мысли, все придет с практикой. Мне кажется, что я могу что-то пропустить изучая stl таким образом, ведь это не какая-нибудь небольшая библиотека созданная для одной цели
>>2142504 Если это действительно важная вещь - не пропустишь В том что бы написать свой велосипед вместо stl`евского класса нет ничего плохого,для любительского кода тем более
>>2142512 Хорошо, я попробую изучать его через практику. Велосипеды - это действительно не плохо, но использование библиотек, просто ускоряет разработку, позволяет не отвлекаться при написании алгоритма.
>>2142520 >просто ускоряет разработку пока ты новичок это не важно, иди код писать,вилкой, вот как блять нужно писать : пиши пиши пиши пиши пиши пиши ,код ,вот так блять нужно писать
>>2142492 >читать про все стандарты Тебе не нужно знать все стандарты по отдельности. Тебе нужно просто достаточно полное руководство. Ясен хрен, что чем новее, тем лучше. Но.
>или можно читать только стандарт 20 года? У тебя такого выбора фактически нет. Чем новее стандарт, тем меньше материалов по нему. По C++20 в частности, его шас даже ни один компилятор полностью не поддерживает, на русском по нему книг нет вообще, а на английском по большей части рассматриваются одни только нововведения. По С++17 чуть лучше, но все равно мало. Врядли у тебя получится ограничиться только книгами по С++17.
Правильно ли я понял, что std::mov ничего не делает с объектом, кроме как объявляет его петухом, намекая другим объектам, что те могут выебать эту сучку своим конструктором перемещения, которым ебали до этого только анонимные r-value объекты?
>>2142351 >Что Symbian от ноклы, что Windows Mobile обе оказались провальными. провальными в каком смысле? мы на доске программистов вообще то и с технической части это были прекрасные мобильные платформы в отличие от того же андроида слепанного на коленке из костылей
>>2143203 >провальными в каком смысле ессно в коммерческом
>мы на доске программистов вообще то Ну мы ж прикладники, а не в вакууме.
>в отличие от того же андроида слепанного на коленке из костылей... ... у тебя в меню "пуск" есть плитка. Я не знаю людей, которые ею пользуются. А именно она была в качестве UI на ноклах с windows phone. С неё даже рофлили под techno chicken.
>>2142492 Нахожусь на том же уровне. Надо учить именно stl. По объему это примерно как выучить синтаксис заново. Но там тоже не сложно. Там наверно дальше будет третий уровень но даже не представляю что это, возможно паттерны.
>>2142492 Завтра ищешь в интернете книжку ОТ МАТЕМАТИКИ К ОБОБЩЕННОМУ ПРОГРАММИРОВАНИЮ. Не так важно если ничего не поймешь. Затем изучаешь алгоритмы от корки до корки. Потом зубришь, именно, голубчик, вызубриваешь стандарт C17, чтобы от зубов отскакивало. Когда напишешь свою первую сортировку с помощью template, по пути изучив наследование, инкапсуляцию и полиморфизм, скачиваешь и изучаешь любую олдовую среду разработки, рекомендую блокнот. Как переделаешь сортировку, чтобы была она работала с любым из классов в иерархии, а не только с указателями, можешь идти дальше - тебя ждет увлекательный мир хайлоада. Побитовые сдвиги, множественное наследование, многопоточка, ассинхронщина, ассемблерные вставки, о-о-очень мало вакансий. Отсос у хиккующих питонистов / просто неудачников типа java/сисярп/go-крестьян, которые пишут чтобы не уволили, не заставит себя ждать и уже через пол года ты будешь висеть в топе двача, что любой и модераторов будет банить тебя при упоминании твоих проектов.
>>2143363 Это опять ты, отрицатель темплейтов? Возможно и без указателей. Другой вопрос где ты работаешь, на каких проектах и сколько зарабатываешь. Но без перемещений а это С17 проект будет примитивный. Даже вкатывальщик как я это понимает. А ты похоже по знакомству устроился если вообще не тролль.
>>2143374 >Это опять ты, отрицатель темплейтов? Дружаню своего караулишь?
>Но без перемещений Move semantics ввели в с++11.
>С17 проект будет примитивный c++ 17 как стандарт вступил в силу в начале 2018 года. К 2019 компиляторы перестали с ним обсираться. Этому твоему стандарту 2 года и на нём реально написано хуй да нихуя (а в эмбеде наверное даже и не пытались).
>Даже вкатывальщик как я это понимает Ни дня не работал, но всё понимаешь?
Для начала работы с stl достаточно c++11. Всё что выше не так существенно и осваивается на ходу.
>>2143398 Из существенно нового и полезного там std::filesystem, std::tuple и std::string_view. А остальное - апгрейд того, что и так было. При этом апгрейд выходит боком, если надо переносить проект на другую платформу (можно даже ub поймать).
>>2143430 gladLoadИтд(xxx) - это вызов функции. Конструкция (T)var - это преобразование в тип Т. Так оно в Си делается. В плюсах это называется c-style cast.
>>2111351 (OP) Привет, гайс! Я совсем краб в программировании. Начал изучать python, немного умею в нем ковырять код, но понял, что он не подходит для сферы моих интересов. Очень хочу погрузиться в ОС и игры. Поэтому выбор пал на изучение C++.
Нужна помощь, т.к. гугл дает слишком разрозненные данные и я путаюсь.
Вопрос 1. Помогите подготовить linux для разработки на C++. Как я понимаю, c++ уже встроен в систему. Как проверить версию на manjaro и ubuntu? Какими компиляторами и ide пользоваться?
Вопрос 2. Подскажите список литературы или сайтов с уроками для нубов в части изучения C++.
Ничего не имею против типичных ответов на вопросы на дваче, но если уж будете обсирать, до добавляйте чего-нибудь полезного. Название книги, к примеру.
>>2143238 Иди в хуй, сноб. Я уже потестил. Без std::mov вызывается копирующий конструктор и ресурсы копируются, с std::mov - конструктор перемещения и ресурсы пиздятся. Причем объект становится r-value только в границах выражения.
Лямбда выражения, я так понял это анонимные функции. Кто-нибудь знает они связаны как-то с лямбдами в функциональщине, и можно ли на плюсах писать в функциональном стиле и что из этого выйдет.
И неужели до 11 стандарта приходилось копировать ресурсы вместо перемещения? Чем там думали составители языка? А если в С нету семантики перемещения означает ли это, что С++ быстрее работает с большими структурами, чем С?
>>2143733 > Помогите подготовить linux для разработки на C++ В каком смысле? > Как я понимаю, c++ уже встроен в систему Что значит выражение "яп встроен в систему", сука > Как проверить версию на manjaro и ubuntu? Версию чего, блядь, ты бредишь?
>>2143772 1. к примеру питон нужно установить на винду или обновить версию языка в линуксе. с с++ это не так работает? 2. на примере все с тем же питоном. в линуксе уже стоит третья версия питона и можно сразу работать, но лучше обновить до последней версии. 3. версию языка с++ в ОС
>>2143789 Когда ты "устанавливаешь питон", на самом деле ты устанавливаешь его интерпретатор. "Установить C++", видимо, будет значить "установить компилятор C++" Не помню, идет ли в убунте и манджаре по дефолту компилятор, можешь проверить, введя g++ -v. Если выдаст, что нет такой программы, устанавливай. В принципе, можешь этим компилятором и пользоваться. Для первых хелловорлдов хватит обычного g++ main.c -o main, потом кури маны по make
>>2143736 >и можно ли на плюсах писать в функциональном стиле и что из этого выйдет. Фунциональщина блокируется на уровене препроцессора. Называется проверка Страуструпа. Играл в игру Half-Life? Произойдет что-то вроде той аварии. Не зря у них лямбда в качестве символа игры.
>>2143753 Нормально там всё было. Передавали по &, ⚹, ⚹⚹. Передача по значению и в современном коде встречается не так часто. Шаблонщики и писатели sdk от move реально выиграли, остальные особо и не парились без неё.
>>2143991 С шаблонами заранее не известно какой будет тип аргумента и его категория. Соответственно на указателях и ссылках было намного сложнее задавить оверхед из копирований по значению для всех возможных вариантов.
>>2143362 да все понятно с тобой, анамез ясен путать win mobile и win phone и считать что обе были провальными у win mobile вообеще небыло конкурентов в одно время в нулевые для определенных классов устройств win phone был отличной платформой, lumia продавалась только так, а в провале напрямую виновато руководство майкрософт, вернее их постоянные внутрикорпоративные войны
>>2144032 Китаец приложение запустит, и программа рухнет. Юникод это решение проблему многоязычия в первую очередь. Небось не застал, когда в браузере нужно было кодировку страницы угадывать. Сопляк.
>>2144041 >у win mobile вообеще небыло конкурентов Это как KaiOS, существующая в своей нише кнопочных телефонов, при этом занимающая 0.19% от общего рынка.
>lumia продавалась только так "Успешный" Windows Phone и до 4% рынка мобильных OS не дотягивал (продажи Lumia были ещё меньше).
Ты оперируешь эмоциями и слухами и при этом отрицаешь сухие финансовые и статистические оценки предмета обсуждения.
>>2143753 >И неужели до 11 стандарта приходилось копировать ресурсы вместо перемещения? Делали метод swap для своих классов
>>2142492 >Изучил синтаксис плюсов, теперь хочу разобраться в stl. Идешь на cppreference и читаешь. Главное - нужно понять что все завязано вокруг итераторов и различных типов итераторов.
>stl STL поглощен в C++ Standard Library. Standalone STL давно разложился на плесень и липовый мед.
>>2142351 >Что Symbian от ноклы, что Windows Mobile обе оказались провальными. ШТОБЛЯДЬ? Съеби отсюда нахуй, школьник. Обе системы были топчиком в свое время, это нихуя не провал. Виндавс мобайл стоял на всех наладонниках, нетбуках и прочем китайском мусоре. Симбиан - это Нокия, а Нокия - значит крутой мобильник.
Виндавс мобайл умер из-за Андроида с одной стороны (китайцы начали ставить именно его) и идиотизма мелкомягких с другой (это как раз была эпоха Висты - история про "вот-вот, щаз будет заебись" когда обещали одно, а выпускали с жуткими задержками очень урезанное другое).
Симбиан умер из-за Эппл Апстора с одной стороны (который адово упростил возможности поставить софт на девайс) и из-за троянского коня из Мелкомягких, который рейдернул Нокию.
>IOS на плюсах написан Айос написан на ОбжЦе/Свифте. Ядро (Дарвин) - на сишке.
>>2144271 О чем вообще с тобой можно общаться, снежинка ебаная? Кряков, кейгенов, переустановки винды ты не видел, ЭЛТ моник у тебя только на пикче и даже кактуса возле монитора нет. Тьху на тебя, быдло.
>>2144284 Ты из двутысячных, шкалата ебаная. Небойсь даже не слышал звуков модема ночью в спальне, порногифок 160x144 и переполненного почтового ящика на 10МБ.
>>2144266 >Обе системы были топчиком в свое время Были первыми из, потому и имели под 30% рынка. А потом слились буквально за несколько лет в пользу более качественных продуктов. Просто подумай: ты 3 года имеешь 30% рынка и зарабатываешь X или ты играешь в долгую, наращиваешь долю до 70% на растущем рынке и имеешь Y. В твоём представлении почему-то X лучше, чем Y и охуеть какой успех.
Дедуль, на дворе 2021. Что нынче есть у нокии? А есть у неё смартфоны на Android из нижней ценовой категории и "те самые" крутые кнопочные мобильники.
Компания ещё до покупки майками обесценилась в 15(!) раз. Ну нельзя убить то, что и так умерло. Майки по сути купили гараж с барахлом и искали там хоть что-то, на чём можно заработать. И не нашли. Но ты продолжай верить в теорию заговора.
>>2144294 >ты играешь в долгую Блядь, это бизнес, какая нахуй долгая-короткая?
>Компания ещё до покупки майками обесценилась в 15(!) раз. Мобильное подразделение нехуя не обесценилось
>Но ты продолжай верить в теорию заговора. Точняк, пришел чувак из мелкософта, похерил все перспективные разработки (Meego), грохнул цену в 2 раза, купил 60% акций, потом перепродал все мелкософту еще и стал начальником мобильного департамента. Не рейдерство абсолютно.
>>2144304 >Мобильное подразделение нехуя не обесценилось А что там тогда обесценилось? Это же чисто телекомовская контора с максимальным упором в мобилки. Ладно бы мы про Siemens говорили или японские кэйрецу, владевшие ныне мёртвыми брендами всякой электроники.
>пришел чувак из мелкософта Так у ноклы всё равно денег не было на RnD. Оно бы загнулось само собой. Чел прокрутился и изыскал ресурсы для дальнейшей деятельности (майки влили бабло, организовали сбыт и рекламу под своим брендом). Здоровый антикризисный менеджмент и вполне естественное продвижение по службе.
>>2144323 >Это же чисто телекомовская контора с максимальным упором в мобилки. Лолшто? Это корпорация блядь, у меня даже салфетки есть Нокия из 80х. Мобильное у Нокии было только подразделение.
>Так у ноклы всё равно денег не было на RnD. Все у них было.
>Чел прокрутился и изыскал ресурсы для дальнейшей деятельности (майки влили бабло, организовали сбыт и рекламу под своим брендом). Здоровый антикризисный менеджмент и вполне естественное продвижение по службе. Блядь, ты охуел? Какое нахуй "влили бабло"? Мелкософтовскую говноОСь для мобилок (Виндавс фон) никто не хотел брать, они решили ее хоть как-нибудь всунуть. В итоге, они забрали все перспективные Нокиевские мобилки и вставили свое говно. Но за окном были 10е, а не 90е и теперь недостаточно было быть мелкософтом чтобы просто доминировать на рынке.
>>2144328 >у меня даже салфетки есть Нокия из 80х Не знаю как там в 80-х, но сейчас мерч есть даже у самой подзалупной галеры. Что там такого ещё Нокия производила в 2000-х? Сходи хотя бы до википедии и почитай, что нокла ещё в 90-х распродала все остальные подразделения и стала telecom-oriented.
>Все у них было. Ну да, именно поэтому уже в 2013 они выпустили телефоны с Android, а не на своих "перспективных" разработках.
>Какое нахуй "влили бабло"? Деньги на покупку, маркетинг, зарплаты, долговые обязательства. Бизнес то убыточный был и тянул контору на дно.
>забрали все перспективные Нокиевские мобилки Та же Lumia, на момент своего выхода на рынок, была типичным середнячком (чисто по железу).
>>2144338 >Ну да, именно поэтому уже в 2013 они выпустили телефоны с Android, а не на своих "перспективных" разработках. Элоп зашел в 2011ом чтобы все похерить. У тебя история перепутана
>Деньги на покупку, маркетинг, зарплаты, долговые обязательства. Бизнес то убыточный был и тянул контору на дно. Лол блядь, Nokia Corp до сих пор торгуется ниже января 2011, когда туда пришел троянский конь.
>Та же Lumia, на момент своего выхода на рынок, была типичным середнячком (чисто по железу). Это уже виндафс фон эра. Собственно нужно было еще сильнее опустить стоимость компании, чтобы купить по дешевке. Эти люмии мелкомягкие потом продавали ниже себестоимости.
>>2144661 >Элоп зашел в 2011ом чтобы все похерить >торгуется ниже января 2011 Сухие цифры говорят об обратном.
Люмия была откровенно слабой по аппаратной части (посредственный процессор, плохая камера и не только). Дизайн тоже был типично-кирпичный. Хотя и яркий корпус, но на тот момент уже пошли чехлы и родной цвет устройства потерял актуальность. И это никак не связано с майками.
>>2144371 Лень вникать, но у компилятор студии имеет расширения, нарушающие стандарт. Возможно поэтому. Ещё это могло быть доработано при в стандарте, вышедшем после написания статьи.
>>2145479 Теоретически? Создавать ссылку от невалидного объекта - UB, поэтому ты просто не можешь это сделать. Вот не можешь, не бывает такого. И компилятор тоже считает все ссылки безусловно валидными.
Фактически? Ничего, ты можешь написать что-то вроде https://godbolt.org/z/r8E8McPe8 Но будь готов отгрести от компилятора при малейшем дуновении ветерка (например, в каком-нибудь ABI будет валидным копировать маленькие объекты, если они объявлены как константные ссылки - и тут компилятор реально разыменует твой NULL).
>Если это константный указатель, то Ссылка - это частичная копипаста реализации указателя с новым "интерфейсом".
>почему он не принимает значение nullptr? Конкретно взять и написать ref = nullptr тебе не позволяет только то, что ref имеет собственный тип, не являющийся указателем и что таких преобразований типа намеренно не завезли.
>>2145627 >а во второй - нет Разве const lvalue ref кастит rvalue к lvalue под капотом? Я всегда думал, что она не делает никаких преобразований, а просто продлевает время жизни rvalue и указывает на него напрямую.
>>2145645 Формально это преобразованием типа не является, но в контексте разрешения перегрузок к нему приравнивается. При разрешении перегрузок учитывается как тип, так и категория. Колдунство над категориями ухудшает ранг соответствия точно также, как и преобразования типов.
>>2146181 Я думаю что нужно: 1. отсортировать все массивы. 2. заменой A+B+C=S на A+B=S-C [T = S-C] -> A+B=T свести задачу к двум массивам 3. проходим массивы с разных направлений к центру. По идее мы почти всегда будем двигаться вперед, но тут нужно подумать еще
>>2146214 Хм, точно можно получить O(N2 log N): для каждого элемента в отсортированном массиве A найти наиболее подходящий в массиве B можно найти за O(log N)
Контейнер для хранения неповторяющихся элементов с быстрой вставкой и проверкой, что значение есть в этом контейнере. Вроде это за logn все можно сделать, но какую структуру взять?
Есть множество пар значение и индекс. Нужно добавлять элементы в множество только по значению. То есть при добавлении {3,5} и {3,10} в множестве должно остаться только {3,5}. При этом хочу чтобы можно было определить есть ли в множестве элемент с определенным значением и любым индексом. Как это сделать?
>>2146428 Ты невнимателен - unsigned не может быть отрицательным - тут происходит переполнение - то есть что-то типа (MaxSizeULong - 11). Это очень сомнительное решение... Что если размер лонга будет изменен в будущем? Как изменялся размер int?
>>2146428 >тип данных отличается Но литералы не могут отличаться - они по стандарту прописаны строго
>>2147609 >Что если размер лонга будет изменен в будущем? DWORD - это гарантированные ровно 4 байта для любой платформы. Если изменится размер лонга, то изменят определение DWORD. А эти три хендла как пользовались, так и будут пользоваться.
>Это очень сомнительное решение... Абсолютное значение не важно. Абсолютно. Важно только то, что оно в пределах платформы постоянно и уникально.
У out знак & рядом с типом, у f1 рядом с именем? Почему не везде рядом с именем или рядом с типом? Как определять где писать? С указателями тоже непонятно
>>2148981 >где писать? С точки зрения языка разницы нет никакой. Разница есть в читабельности.
>Как определять Как в данном проэкте принято, так и продолжай писать. Единообразие лучше его отсутствия.
>Почему не везде рядом с именем или рядом с типом? Вообще говоря, писать всегда одинаково не получится: есть контексты, где к имени не приклеишь, есть контексты, где к типу не приклеишь.
>Почему в этом примере Писатель примера пофигист или недоглядел.
>С указателями тоже непонятно С указателями все тоже самое.
>>2144338 нихуя ты не знаешь на момент выхода ни один телефон с андроид не мог соревноваться по качество с lumia, на последней была охуенная камера, телефоны были охуенной сборки, сама операционка была гораздо органичней и продуманее тех костылей из которых состоял ui андроида, телефоны с той же нагрузкой держали дольше батарею.. по сути lumia по изначальному качеству была ставнима с айфонами тех же времен, но по цене гораздо ниже
и вообще есть общее правило в ай-ти: доспеха добиваеться говно, те чем изначально гаже продукт, тем больше рынка он по итогу и займет типа линукс сожрал все остальные unix-совместимые продукты, ibm pc выиграл битву за рынок персональных компьютеров, ну а андроид задавил рынок смартфонов.. секрет успеха - чтобы было говно, но дешего
>>2144812 блядь, ты явно не разбираешься в вопросе у lumia на момент выхода была лучшая камера на рынке, главное что была хорошо сделана и аппаратная часть и софт к ней
>>2150456 >по стандарту Это как учить язык по словарю без грамматики. Стандарт можно использовать только как референс в каких-то исключительных случаях, и то для ежедневной работы cppreference.com намного лучше для этого подходит.
>>2150589 Зависит от реализации, но почти всегда кресты работают нативно, там никакой виртуализации нет. Когда-то существовал C++/CLI, но он давно сдох.
>>2150677 Более того, ядро этой ОСи Zircon написан на полностью на С++. Раст - мертворожденная поделка, не способная даже приблизиться к господству С/С++ в царстве системщины. Наивные зумеры до сих пор дрочат на кусок этого бесперспективного неоговна хотя мб найдёт свою узкую нишу в блокчейне и благополучно осядет там
>>2152226 Если там есть указатели в объекте то их надо удалять потому что это не делается автоматически деструктором. Я так понимаю начался учебный год и тред снова ожил.
>>2152226 Он не просто в "локальной видимости", но и на стеке. Туда много объектов не запихнёшь, получишь переполнение. А так читай про умные указатели.
>>2152226 >Разве объект объявленный в локальной области видимости не удалится сам после выхода из фигурных скобок? Вообще говоря, при выходе из фигурных скобок, автоматически удаляются те переменные, которые были созданы внутри этих скобок.
В твоем примере удалится переменная Class *Object, т. е. указатель. Удалится имя указателя и (весьма вероятно, но не обязательно) засрется значение, которое содержал указать. Данные, на которые указывал указатель никак не затронутся. Без выражения delete Object память, выделенная выражением new Object, так и будет числится за твоей программой.
Оператор delete(p) не удаляет имя p. Оператор delete(p) не удаляет значение, содержащееся в p. Оператор delete(p) предполагает, что p - это указатель, и освобождает память, на которую указывает этот указатель.
>>2152226 >Разве объект объявленный в локальной области видимости не удалится сам после выхода из фигурных скобок? Удалится, но не через вызов delete. delete автоматически не вызывается. Твои два куска кода не эквивалентны.
И вообще #этодругое. Всмысле сам укзатель Object лежит в одной памяти, а данные, выделенные через new - в другой. Не просто в "другом месте", а в области памяти, которая работает по-другим правилам.
>>2152226 В первом случае, ты выделяешь память под объект в куче, запрашивая Х байт у аллокатора памяти. Во втором случае, ты выделяешь память на стеке под весь объект. Стэк самоуправляемый, так как при выходе из области видимости программа просто инкрементит указатель на верхушку стэка на Х байт вверх в архитектурах, где стэк растет вниз, а это в большинстве юзабельных архитектурах в данный момент, но это другая уже тема для разговора согласно ABI. В случае с кучей, нет автоматического удаления памяти, так как С++ это unmanaged язык и в нем нет сборщика мусора, засим надо: а) Удалять вручную как в голой сишке; б) Юзать идиому RAII, эксплуатируя поведения деструктора, дабы полуавтоматизировать процесс удаления памяти. Загугли RAII и smart pointers.
В каком курсе есть передача именованных параметров в функцию/метод? Самостоятельно нашел два способа - сперва struct (но необходимо соблюдать порядок), потом map, еще сишный способ - name, value как const char*. Как вообще такие тонкости гуглить? Еще сегодня узнал про RVO-optimization и вычистил из своего нанобэка все new/delete. Какие курсы есть, чтобы там сразу это объяснялось и самому не ебаться с test.cc?
В https://stackoverflow.com/a/41872152 во втором комментарии к этому ответу написано: «because if you call it as compilerInstance.setInvocation(std::move(sp)); then there will be no increment.» Почему это при const lvalue ref там не будет инкремента? У нас есть shared_ptr, который является единственным овнером, мы его кастим мувом к rvalue, передаем по const lvalue ссылке внутрь функции, там присваиваем переменной класса значение, тем самым вызываем логику копирования, получая инкремент. В итоге у нас два овнера и всего одна atomic операция
>>2153421 бла бла бла все зависит от того насколько ты мобилен (те есть ли у тебя 100к для переезда в нерезиновую, например) и второе насколько хорошо ты знаешь engrish а не от твоих способностей крутить шаблоны для метапрограммирования на крестах, это то каждая обезьяна может делать я например могу ну и что? я никто, я труп
>>2153421 Да ни насколько. Есть ряд госконтор, где достаточно технического образования, а язык знать вообще не обязательно. Ну там на пару совсем дебильных вопросов про конструктор и деструктор ответишь и всё.
Вопрос на счёт второго пункта >Если длина данных больше или равна 128 байт, то поле длины >начинается с байта, в котором установлен старший 8-ой бит, а >младшие 7 бит указывают количество байтов, в которых записана >длина данных. Далее следуют байты длины в формате Big Endian >>(называется «длинная форма»).
Если допусти размер данных равен size типа unsigned int, то значит в байт нужно записать 128 + sizeof(size)? При 128 первый бит будет 1 да плюс кол-во байт длины.
Но если я так делаю, то получает хуйня, как грамотно это записать
>>2153875 Не могу помочь. Похоже задачу писал хохол. Они еще некоторые учебники переводили на русский. Их тоже читать невозможно. Чистой воды подрывная деятельность.
>>2154046 Нет, интерн - это не парт-тайм. Это чувак, которого учат. Поэтому он вообще-то должен был бы приплачивать, но тут все на добром слове о том, что он отработает 2 года на галеру
>>2154058 >Ну зайди хотя бы на сайт Яндекса. Там чётко написано, что за стажировку они платят. И как дела, устроился в хуяндекс? Или на заборе "хуй" написано, а там дрова лежат?
>>галера >Ясно-понятно, проиграно. Ору с твоего проигрыша. Ты небойсь только рашкогосах работал за тарелку доширака
>>2154067 Ну что ты жопой виляешь. Кто самый главный на галере? Правильно, юрист. И никаких там нет "добрых слов". Всё анально регулируется договорами и контрактами.
>>2154073 >Кто самый главный на галере? Правильно, юрист. И никаких там нет "добрых слов". Чувак, на галере главный - сейлз. А юрист - он просто юрист.
>Всё анально регулируется договорами и контрактами. Чувак, там есть пункт "контракт можно рассторгнуть по обоюдному согласию сторон". И иногда, для репутации (неведомое слово на расии), лучше отпустить человека раньше.
>>2154097 >Конторы, у которой в активах ничего кроме контрактов не числится, а уставной капитал 1000 хривен? Я ж говорю, слово "репутация" неведомо на расии
>Чтобы заплатить ему меньше, да. Маня, если человек уходит - это всегда потеря для компании.
>>2154036 я могу поработать за 300$, например, на удаленочке дипломчик, несколько лето трудового опыта, подводные - мне скоро 40 и не работаю 10 лет возьмешь? нет.
>>2154103 >Украина Сталкер 2 делает Ежегодно тысячи тайтлов выходят. Делать нынче игры, это как картошку копать или свиней выращивать. Алсо, у швитых игрострой это одна из самых низкооплачиваемых отраслей.
>>2154103 российский геймдев ориентирован на максимизацию прибыли поэтому они и не пытаются делать ААА проекты ибо нахуй зато игры под мобилки, "бесплатные" ммо дрочильни и прочее подобное - вот это вот все.. в общем на самом деле оче жеские ребята, ебаные волки не кодеры, кодеры мясо а те кто выдаивают прибыль с этого всего романтики тут никакой
>>2154139 ммм, не очень наверное ясно выразился.. в общем на западе игропром давно встроен в капиталистический рынок, имеет капитализацию, акции, вот это все.. и тут внезапно оказываеться что при такой модели конечные прибыли не очень то и важны.. в россии же все не так, если не заработаешь, то сдохнешь.. как то так
>>2154157 амазон это такая раковая хуйня что убивает бизнесы в сша, по итогу убыстряя скатывание этой недостраны в пропасть хотя у нас такой же хуйней занимаеться сбер и яндекс, например
компартия в китае кстати относительно быстро поняла что к чему и в прошлом году нехило так придавило джека ма что тот месяц на свет не выходил лол вот так то
>>2154194 Так то политика. Если у кого-то слишком много денег, то у него и влияния много. За это и прессовали.
>>2154193 Раковость его только в том, что он превращается в монополию. Для США это не новость и они его попилят на части как Standard Oil. Тем же гуглом уже давно конгресс интересуется на предмет распила.
В остальном это передовые конторы, делающие жизнь проще и лучше.
std::shared_ptr<int> smart; smart == smart.get(); Всегда ли это верно? Не в конкретном частном случае, а в общем? А то я почитал на cppref о get(), там написано про какой-то stored и managed поинтеры внутри shared. Что это такое? Я всегда думал, что shared_ptr внутри себя хранит raw pointer, который имеет значением адрес объекта, и счетчик овнеров на этот адрес.
1. Кто кодил на ассемблере, расскажите, что намного удобнее в Си, по сравнению с ассемблером. 2. Интерпретатор брейнфака, который я нашел на википедии. Скажите, неужели во всех синтаксических анализаторах такая лесенка из ифов?
>>2154444 Если автор намекает на возможность сделать на сишке всё то же, что на плюсах в силу их тьюринг-полноты, то утверждение верное, хоть и максимально тупое. >>2154440 1. Переносимость и меньше многословности. 2. Обычно лесенка размазана по куче функций, либо вместо неё сгенерированая генератором парсеров таблица
>>2154444 Перегрузки и неймспейсы можно писать руками (что в принципе и делают), всякие лямбды можно заменить расширениями компиляторов (довольно ущербными к слову, не советую) которые ещё и несовместимы друг с другом, а в теории накодонагенерить можно вообще всё что угодно чтобы не было шаблонов. Но зачем?
>>2154449 > 2. Обычно лесенка размазана по куче функций, либо вместо неё сгенерированая генератором парсеров таблица Не смотрел как пишутся компиляторы. А там для этих целей могут использоваться хеш таблицы?
>>2154440 >1. Кто кодил на ассемблере, расскажите, что намного удобнее в Си, по сравнению с ассемблером. напиши на асме что-нибудь типа sqrt(x⚹x + y⚹y + z⚹z)
>>2111351 (OP) Смотрите, короче. Два варианта кода https://ideone.com/TItdPp https://ideone.com/6eL3hl разница в строках 24-31 (вектора и функции add). Результат по итогу одинаковый, но проблема возникает с вариантом 2 при перегрузке оператора out. Почему 1 вариант верный? Ведь в параметрах функции add на входе указатель, а в реализации функции пушим уже объект?
>>2154337 >скатился с позиции it-гиганта Он и сейчас самая дорогая It компания в России. Зохват каких рынков? Яндекс создаёт сервисы для других компаний, а это и есть IT бизнес за редким исключением (например игровая индустрия самодостаточна). А рынки делят те, кто сервисами пользуется.
>>2154337 яндекс ни когда не был ай-ти гигантов просто успешная голландская компания, эксплуатирующая вторичны1 рынок для европы - загнивающий пост-совок, плюс эксплуатирующая дешевые мозги, сделанные на руинах системы советского образования акции торгуються на нью-йоркской бирже в сша, налоги платяться в европе, все норм, обычные взаимооношения метрополия - колония оттого что в колонии красят волосы в розовый цвет и катаються на электросамокатах, а не вставляют косточку в нос, сути не меняет
>>2154650 действительно, тогда в чем принципиальная разница? в 1 варианте объявлен массив указателей, а затем в функции add(Worker worker) принят указатель на вход, а внутри в вектор добавлен уже сам объект указателю push(worker)?или в области видимости данной функции это уже указатель всегда? во 2 варианте обьявлен массив объектов, в функции add(Worker worker) принят указатель на вход, а внутри в вектор добавлен тоже указатель push(*worker)?то есть в вектор пользовательского типа с полями Worker запихан указатель, или это неявное приведение типов? Почему во втором варианте возможно изменение Department &department? Требует убрать константность.
>>2154730 >ни когда торгуються платяться оттого Чёт кекнул с грамотея.
Всё, о чём ты пишешь, перекладывается на другие крупные компании. Micrososft и Apple, например, уклонялись от налогов через Ирландские подразделения. Труд они эксплуатируют без оглядки на гражданство. Продукция apple производится в азии и часть прибыли тоже оседает на китайских заводах. А от "вторичного" китайского рынка их почему-то за у ши не оттянуть.
>>2154743 >а внутри в вектор добавлен тоже указатель push(worker) Нет, worker это разыменование указателя до объекта. И добавляется в этом случае именно объект.
>Требует убрать константность В operator<<() ты передаёшь параметр как const. То есть внутри метода данный объект является константным и у него нельзя вызывать неконстантные методы. Соответственно, чтобы всё заработало, нужно сделать метод getName константным: std::string getName() const {...}
>>2154775 >Micrososft и Apple, например, уклонялись от налогов через Ирландские подразделения. два братца-еврейчика из playrix вроде бы тоже в ирландию свалили, обидели их в родном городе лол
>>2154988 Ну что делать, ворд, эксель, поверпоинт. С одной стороны да, мемно что стоило ради этого С++ учить. С другой стороны - без С++ мне бы столько не платили
>>2155101 дык он и не макака по определению этого термина мамака - это челик низкой или средней квалификации, но уже выученый и надроченный, и который массово каждый день пишет много лапшеобразного однообразного кода типа ява-челик что сидит в интерпрайзе на типовых формочках и отсчетах, либо с++ кодер который ебашит "код-мясо" по тз для какой нибудь неинновационной дрочильни-игры а нвидиа-кун просто оче удачный по жизни челик котором удалось придти на собес в нужное время и в нужное место, другие челики с его филиала его на голову выше как профессионалы тащем та, но они и не сидят на этой говноборде
>>2154983 >сверху акции Кстати, а депозитарий акций определённый компания даёт, или сам можешь выбирать? И с налогами как, вручную 3-НДФЛ считать или же налоговыми агентами всё покрывается (ну кроме дивов естественно)
>>2155129 >дак ты и не знаешь с++, не обманывай себя, дружок вангую что ты даже список типов с основными операциями без подсказки не напишешь Друг, у меня сениорская лычка не за красивые глаза. И архитектурить дают не потому-что я нихуя не умею, а строго наоборот.
> а нвидиа-кун просто оче удачный по жизни челик котором удалось придти на собес в нужное время и в нужное место С этим согласен, мне правда охуенно повезло. Но пришел я на ~280к.
> другие челики с его филиала его на голову выше как профессионалы тащем та, но они и не сидят на этой говноборде Ну не совсем так трагично. Я крепкий середняк в нашем юните именно среди программистов. Есть люди и лучше (всякие принципалы), и слабее меня. Но, думается мне, между мной и средним сениором с галеры - миры разницы в мою пользу.
> Кстати, а депозитарий акций определённый компания даёт, или сам можешь выбирать? И с налогами как, вручную 3-НДФЛ считать или же налоговыми агентами всё покрывается (ну кроме дивов естественно) Банк в штатах один общий для всех стран, куда всё приходит. Когда выводишь - сам все заполняешь и отправляешь в налоговую. Лютый гемор, но что поделать.
> Бля, братан, ну ты так и пиши, что ты макака с 425к и опционами. Не вводи людей в заблуждение, что в дс есть плюсовые вакансии на оклад 900к Я акции обналичиваю раз в 3 месяца, как они вестятся, и снимаю по 20+кб. Так что - в месяц в среднем те же 900к получаются стабильно
>>2155176 >Я акции обналичиваю раз в 3 месяца, как они вестятся, и снимаю по 20+кб. Так что - в месяц в среднем те же 900к получаются стабильно Не забудь рассказать, что ты сперва подождал год до первого вестинга и что для разблокировки всей компенсации надо ждать 4 года. И что это твоя личная инициатива продавать полученные акции и в целом это вовсе необязательно. Опционы - это в долгой перспективе просто замечательно, но это способ привязать сотрудника, чтобы он терпел потенциальный анальный карнавал на работе ради хорошей компенсации через n лет (что по твоим же словам ты и делаешь).
Я получаю еще больше и живыми деньгами, а не анальными rsu, на которые я могу сразу же покупать любые финансовые инструменты, какие захочу. Не то, что ты находишься в какой-то плохой ситуации, просто хотелось бы внести ясности, чтобы аноны знали что еще бывает в жизни.
Есть ардуинка, нужно сделать одну хуйню, но вообще не понимаю как ее реализовать на плюсах. Дано:25 выходов и 25 входов, нужно что бы в статичном режиме 25 выходов поочерёдно подавался сигнал. В момент получение сигнала на одном из выходов весь этот цикл прерывался и на выходе к которому привязан этот вход загорался сигнал на какое-то время. (например на вход5 приходит сигнал, цикл переключение выходов прервался и на выход5 уходит сигнал, после какого-то брейка цикл опять возвращается либо в начало, либо с того же места) Вообще не понимаю, как правильно это сделать, толи огромное дерево проверок, но как в плюсах брейки делаются так и не могу понять. Вот пример когда который сейчас используется просто для последовательного включение и выключение выходов https://pastebin.com/wZyEBZXm
>>2155219 Охуенно быть тобой. Ты туда как C++ разраб устроился? Тяжело было? Тоже хотел в RedHat вкатиться, но в роли архитекта/девопса/безопасника. Набирают туда на такие позиции удаленщиков? Есть смысл их сертификаты получать?
Насколько зашкварно работать в госшараге (стек C++/Qt)? Какие перспективы? Легко ли будет перекатиться в компании поприличнее когда наберусь опыта ну и литкод задрочу?
>>2155595 >Насколько зашкварно Да всем пофиг на самом деле.
>Какие перспективы В самой шараге перспективы можно ждать очень долго. Бюрократия, выслуга лет и связи там во все поля.
>когда наберусь опыта Особого опыта ты там не получишь. Лучше поднапрячь булки и задрочить теорию + алгоритмы + литкод (а в самой шараге работать в пол силы).
>Легко ли будет перекатиться Смотря куда ты собрался катиться. Если просто в коммерцию, то да, без проблем.
>>2155595 >Насколько зашкварно работать в госшараге Полный зашквар.
>Легко ли будет перекатиться в компании поприличнее когда наберусь опыта Набраться опыта в госшараге не реально, точнее это будет не опыт программирования, а что-то другое. Иди сразу в приличные галеры, там и опыта наберешься
>>2155618 >Как понять, что галера "приличная"? 200+ человек Существует 5+ лет
>Там же сплошной аутсорс, что не выгодно по сравнению с нормальными странами Тебе в любом случае надо код писать, но только в аутсорсе контора будет вкладываться в твое развитие (потому что ей выгодно поднимать твой внешний рейт)
>>2155619 >контора будет вкладываться в твое развитие (потому что ей выгодно поднимать твой внешний рейт) Большинство гребцов работает около 2 лет, так что нет смысла в них вкладываться.
>>2155621 >Большинство гребцов работает около 2 лет, так что нет смысла в них вкладываться. На самом деле это просто галера говно, раз у нее такая текучка
>>2155597 > Особого опыта ты там не получишь. >>2155614 > Набраться опыта в госшараге не реально, точнее это будет не опыт программирования, а что-то другое. Почему? Чем принципиально отличается программирование в госшараге от программирования на галере?
>>2155828 Ну я уже там работаю почти месяц, с бумажками не возился вообще, переписки/созвоны имеют место быть по рабочим вопросам, программирую большую часть времени остальную часть времени пинаю хуй. Так что это мимо.
>>2155825 >Чем принципиально отличается программирование в госшараге от программирования на галере? Тем что в госшараге куда важнее иерархия подлизывания, чем результат
Тут есть QTшники? Не могу понять как на Qwidget сделать шапку окна как у браузера. Тоесть оставить системные кнопки справа, но убрать заголовок и использовать это пространство. Нашёл только флаг который выпиливает всё сразу.
>>2155825 Гос. конторы в плане технологий отстают лет на 5, а порой и больше. Ещё там дефицит спецов среднего звена, у которых можно быстро набраться релевантного опыта (или они заёбаны в шишки и им совсем не до тебя). Вариться в собственном соку крайне неэффективно, как и среди дедов и вчерашних выпускников.
>>2155624 Галере 10+ лет, поголовье 400+, офисы в России и Европе. Сильная текучка это нормальное явление для галер. Обучение на галерах присутствует, но скорее как замануха для студентов.
Посоны, как заставить это работать? Идея такая - test0 должен вызывать метод foo переданный как шаблонный параметр. Ну и раз для каждого значения параметра генерится своя версия test0, то соответственно и указатель можно получить на каждую из этих версий. Но чет не компилируется. Это вообще возможно?
>>2156125 static тут не катит, методы должны иметь доступ к свойствам экземпляра класса. Да, возможно я не до конца осилил pointer to member, но мне кажется тут проблемы с шаблонами.
>>2156159 Зависит от конпелятора. VC например "error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов" GCC "error: must use ‘.’ or ‘->’ to call pointer-to-member function in ‘fun (...)’, e.g. ‘(... -> fun) (...)’ template<int (MyClass::fun)()> void test0() { const auto i = fun(); }"
>>2156378 Потому что это не просто "указатель", это указатель на функцию-член-класса. Чтобы ее вызвать, нужно указать объект к которому она вызывается. В данном случае это this. Почему оно не ставится по умолчанию - хз
Парни, какой язык лучше выучить C++ или Rust? Мне не для работы, я и так веб макака, вот душа лежит выучить что-нибудь из этих двух, но не могу выбрать. В перспективе хочу чисто ради фана программирование - это же пиздец весело пописать 2Д игрушки какие, не используя какие-нибудь мега энжины типа unreal.
>>2156751 Все уже давно сидят на коротких спринтах и автоматизированных системах учёта рабочих ресурсов и контроля за качеством. Большинство проблем всплывает в рамках 1-2 спринтов и бракоделы с пинателями хуёв очень быстро детектятся.
>>2156767 >Все уже давно сидят на коротких спринтах и автоматизированных системах учёта рабочих ресурсов и контроля за качеством. Ну я же говорю - таймтрекер. Скриншоты каждые 10 минут, детект нажатий клавы/движений мышки, чтобы не шароебился.
>>2156771 Так то инструмент психологического давления, а не управления проектом. Челик сидел, три дня репу чесал, а потом за день накатал решение. Анальный зонд его задетектит как профнепригодного. Да и смысла в зонде нет особого. В репозитории и так видно, кто сколько написал и когда. А скрины полезны, только если у работяги один комп. Нынче у всех мобилки, так что скринов с контентом просто не будет, даже если работяга в офисе сидит.
>>2156546 >хочу чисто ради фана программирование - это же пиздец весело пописать 2Д игрушки какие, не используя какие-нибудь мега энжины типа unreal. Это можно делать в каком нибудь гейм мейкере, там какой то свой простенький ООП язык.
>>2156790 >Челик сидел, три дня репу чесал, а потом за день накатал решение "Репу чесал" = смотрел доки, гугл, пробовал варианты. Это все будет на скриншотах.
>В репозитории и так видно, кто сколько написал и когда Не видно. Элементарнейше можно расстянуть раз в 5 таску, решение которой знаешь заранее.
>Нынче у всех мобилки, так что скринов с контентом просто не будет, даже если работяга в офисе сидит. Во-первых, на мобилки тоже всё ставится Во-вторых, он что - тестировщик? Ты на мобилке кодить собрался? Ебанутый? В-третьих, основной прикол сидения в офисе в том, что в офисе проблематичнее быть зайчиком и работать фуллтайм на двух господ.
>>2156810 >Это все будет на скриншотах Скринов будет много и анализировать их намного сложнее, чем брать данные из гита, билд сервера или баг трекера (там уже всё обработано и разложено по полочкам плюс автоматическое оповещение).
>Не видно. Элементарнейше можно расстянуть раз в 5 таску, решение которой знаешь заранее. В гите как раз и показан реальный объём работ. В таске - 5 дней, в гите 1. Есть повод обсудить. А кейлоггер зафиксирует кучу всякого говна типа рабочей переписки. И иди там ищи что к чему относится.
>Во-первых, на мобилки тоже всё ставится К мобилкам тебе работники доступа не дадут, а в рамках ТК ты сможешь продавить, только если у тебя режимное предприятие с гос тайной.
>Ты на мобилке кодить собрался? Постить на дваче.
>проблематичнее быть зайчиком и работать фуллтайм на двух господ Довольно редкое явление, особенно "фуллтайм x2".
Массив чисел длины n. Как удобнее за линию получить перестановку этого массива, в котором есть только один отрезок, в котором подряд идут несколько элементов? Например был массив 1112223111, а стал 1212132111. Выглядит так, что придется рассматривать кучу случаев, а мне чет впадлу. Хочется что то более эстетичное
>>2156993 Первый проход: в онлайн-режиме детектишь последовательности из >1 элемента. Сохраняешь позицию самой короткой встреченной. Второй проход: укорачиваешь все последовательности кроме той, которая лежит на вершине кучи Кажется как-то так.
>>2156895 >Скринов будет много и анализировать их намного сложнее, чем брать данные из гита, билд сервера или баг трекера (там уже всё обработано и разложено по полочкам плюс автоматическое оповещение). Какие данные из гита? Это с отредактированным временем? Или ты пушишь после каждого коммита?
>В гите как раз и показан реальный объём работ. В гите коммиты, и показывают только изменения строк. А платить за кол-во строк кода - это путь индусни
>В таске - 5 дней, в гите 1. Какие дни в гите, болезный?
>К мобилкам тебе работники доступа не дадут Всмысле не дадут? Ты куда код ставить собрался? На личный девайс?
>Довольно редкое явление, особенно "фуллтайм x2". То ты просто зайчиков не видел
>>2156993 Есть какие-нибудь ограничения на кол-во типов элементов (вот эти 1, 2, 3)? В любом случае изначальный массив мы конвертим пересчетов в map "тип элемента" -> "кол-во" и работаем только с ней. Просто потому что нам неважен (по условию) порядок элементов в изначальном массиве.
Легко доказать (ОЧЕВИДНО!!!111, кек), что если есть тип элемента, кол-во которого превышает половину кол-ва всех элементов (т.е. больше всех остальных вместе взятых), то отрезок будет всегда. Пример: 1112223111; здесь '1' = 6, '2' = 3, '3' = 1. 6 > 3 + 1. В результате имеем конечный отрезок из 6 - (3 + 1) = 2х элементов (потому что правильный ответ "1212131211", а не как ты написал)
Далее, урезаем самое большое кол-во элементов на длину финального отрезка и переходим к случаю, когда можно собрать отрезок в котором не будет подряд идти одинаковых элементов. Догадаешься сам как его получить или расписывать?
>>2156699 Недавно дошел где-то до 550 страницы С. Прата там написано что сам Страуструпп говорит что способов написания программы на С++ множество, но вы используете тот что вам удобен.
>>2157079 >В гите коммиты, и показывают только изменения строк Внезапно, но у коммитов есть и даты и автор и номера тасок и краткое описание (обязательно для всех, иначе пизда). И гит по этим данным вяжется с остальными devops системами. И как ни странно, ты вбиваешь #username и чисто по гиту видишь сколько тасок закрыто и за какое время. Попутно можешь посмотреть по диагонали на качество кода.
Ты какой-то совсем далёкий от разработки софта.
>Всмысле не дадут? Ты куда код ставить собрался? На личный девайс? Вяло ковыряешься на компе с анальным зондом. Параллельно пинаем хуи с мобилки без зонда в том же офисе. Так тебе понятнее?
>То ты просто зайчиков не видел Ну ладно там несуны, сливающие твою кодовую базу на сторону. С этими то ты что делать будешь?
>>2157107 >Внезапно, но у коммитов есть и даты и автор и номера тасок и краткое описание (обязательно для всех, иначе пизда). И гит по этим данным вяжется с остальными devops системами. >И как ни странно, ты вбиваешь #username и чисто по гиту видишь сколько тасок закрыто и за какое время. Попутно можешь посмотреть по диагонали на качество кода. Нет, ты видишь только даты коммитов. Даты коммитов можно подделать. Вопросы?
>Вяло ковыряешься на компе с анальным зондом. Параллельно пинаем хуи с мобилки без зонда в том же офисе. Так тебе понятнее? Главное - что ты пинаешь хуи 8 часов в сутки, а не 2 часа после 8 часов на другом проекте.
>Ну ладно там несуны, сливающие твою кодовую базу на сторону. С этими то ты что делать будешь? Это подсудное дело, лол
>>2157117 >Нет, ты видишь только даты коммитов. Даты коммитов можно подделать. Вопросы? Как подделать количество выполненных тасок? Как исправить данные, которые расползлись по PM системе и билд серваку, если ты поражён в правах доступа? Если твой менеджер не долбаёб и требует делать декомпозицию на короткие таски, то сколько времени можно выкроить исправляя даты в коммитах до пуша в репу?
>Это подсудное дело, лол Совместительство на работе не регулируется УК. Хоть на 10 проектах сиди, тебя максимум уволят. Причём ты теряешь только 50% дохода, так что ты только порофлишь с менеджеров-анальников.
Сильная разница между С и С++ в обучении? Абсолютный ньюкек, в шараге учат этот С, который уже вот вот сдохнет или уже сдох по всем прогнозам, мне же хочется иметь в голове что-то актуальное вместо бесполезного для работы языка. Не могу понять что профитнее- попытаться усидеть на двух стульях или сначала как-нибудь вникнуть в С и потом уже смотреть на ++?
>>2157155 Зная C++ ты в любом случае знаешь C на достаточном уровне. C++ с одной стороны обьемнее - с другой стороны... проще, как только ты начинаешь делать что-то сложнее, чем printf("SOSI");
Оверолл - если ты будешь сам что-то учить, что бы это не было - это будет охуенно, т.к. все серьезное программирование построено исключительно на самообучении
>>2157117 >Нет, ты видишь только даты коммитов Как нет, если формат коммитов жёстко задан настройками репозитория? Ты физически не сможешь запушить свою писанину в головную репу, не указав #task, #username, #description и дополнительные хуки для автоматизации.
>>2157125 >Как подделать количество выполненных тасок? Ты делаешь таски очень долго. Непонятно чем занимаешься. На вопросы "почему так долго" ответ "разбираюсь". Очевидно, что иногда коммитишь, чтобы сбросить негатив, но все равно медленно.
>требует делать декомпозицию на короткие таски Бгг, как ты будешь таску "непонятный баг в системе" декомпозировать будешь? Вот тебе простой пример: в сторонней либе Qt есть баг в одной из промежуточных версий в неключевом компоненте. Но ты даже не знаешь что проблема там, просто приложение крашится при непонятных условиях.
>Совместительство на работе не регулируется УК Слив кода (ака нарушение коммерческой тайны) - вполне.
>>2157164 >Как нет, если формат коммитов жёстко задан настройками репозитория? Гит не трекает сколько времени реально занял таск. Все остальное не имеет никакого смысла.
>>2157191 Пока таска не закрыта, ты не можешь лить дельту в основной бранч. Грепаем гитом этот бранч и видим, сколько ты реально сделал за спринт. Всё. И никак ты не отвертишься.
>непонятный баг в системе Делаешь предположения об источнике. На каждую гипотезу букаешь N часов. В качестве полезной нагрузки делаешь логирование проблемного компонента и обработку эксепшенов, оцениваешь эти затраты.
>Слив кода Ты же за зайчиков беспокоился, а не несунов. Зайцам вообще пофиг на твои санкции.
>Гит не трекает сколько времени реально занял таск Почитай про GitLab и не неси хуйни плез. Всё отлично трекается.
>>2157189 Но выйти на плато продуктивности в них гораздо сложнее и дольше. В любом случае, как мне кажется, чистое Си при правильном преподавании позволяет глубже понять некоторые основные идеи, которые в плюсах обфусцируются. По крайней мере так у меня было, может в реальности действительно нет смысла учить сначала Си.
Так всё таки, какую книгу начать читать? Пошло нахуй конченное Принципы и практика использования C++, невероятно душное говно. Можно хоть на английском, главное поновее и попонятнее
>>2157163 >Зная C++ ты в любом случае знаешь C на достаточном уровне. C++ Но работает ли это в обратном порядке? Если нет и С++ и С кардинально отличаются, то думаю стоит попытаться усидеть на двух стульях или в случае чего частично забить на изучение бесполезного С.
>>2157155 Если ты забьешь на сишку, переключившись полностью на плюсы, то лабораторки ты скорее всего не сдашь. В учебниках по плюсам нет достаточных сведений о C.
Если ты не умеешь программировать совсем, то учить два языка одновременно - мудацкая затея. Особенно когда один из них практически не познаваемый.
Из того, что ты узнаешь при изучении С, почти ничего не будет лишним, когда (и если) ты возьмешься за плюсы.
>>2157155 На C++ много кода уже написано, продолжают писать игры на нём. Есть библиотека SFML для двумерных игр. Unreal Engine тоже на плюсах, при найме на работу плюсы нужны.
>>2157278 Столяров хорошо объясняет именно фундамент языка - то на чем диды писали - не вникая в такие сложные новомодные вещи, как STL. Поэтому его надо читать первым. Страуструп в своей графоманской залупе мало того, что описывает больше техники программирования, чем сам язык это я про его талмуд, так ещё и объяснения языковых конструкций заканчиваются на "Делайте вот так. Яскозал". Поэтому его талмуд читать не надо, а ту брошюрку читать после Столярова, потому что вумный разработчик языка нихуя объяснять не будет.
>>2157212 >Пока таска не закрыта, ты не можешь лить дельту в основной бранч. Грепаем гитом этот бранч и видим, сколько ты реально сделал за спринт. Всё. И никак ты не отвертишься. Дебил блядь, тебя спрашивают за время, а ты опять про коммиты
>Делаешь предположения об источнике. На каждую гипотезу букаешь N часов. В качестве полезной нагрузки делаешь логирование проблемного компонента и обработку эксепшенов, оцениваешь эти затраты. Ага-ага, N часов. А почему не 5⚹N? А если превысил? Пиздец ты уровня джуня
>Ты же за зайчиков беспокоился, а не несунов. Зайцам вообще пофиг на твои санкции. Зайчиков нужно детектить и заборт
>Почитай про GitLab и не неси хуйни плез Дебил блядь, я туда могу написать любое число часов.
>>2157517 >>2157573 И да - и хуй ты это вернешь из функции еще например, без маллока. Стариковское говно этот С, непригодное ни для чего, кроме extern C
>>2157252 C++ primer Lippman последний эдишон. И Майерса навернуть. Не душно, но самые последние плюсы не покрывает. Да и нахуй, годные расширения уже по статейкам и добьешь.
>>2157304 >Дебил блядь, тебя спрашивают за время, а ты опять про коммиты Я тебе уже и так и сяк этот вопрос разжевал, но ты совсем твердолобый.
>А почему не 5⚹N? Потому что это твоя личная оценка. Таска может быть оценена и коллективно - каждый указывает время, за которое выполнит он и в итоге принимается компромиссный вариант. В любом случае время подтверждается пмом. Если он согласен на N, значит N.
>А если превысил? Вариантов масса.
>Дебил блядь, я туда могу написать любое число часов. Ебать ты тупой. У тебя нет прав доступа для этого. Это не бранч на твоей тачке, это система, которая крутится на серваке конторы. Всё что ты можешь - назначить на себя таску. Система зафиксирует начало выполнения. Если на тебе нет тасок - к тебе сразу вопросы. Закрываешь таску не ты, а тестер или пм, так что тут тоже не наебёшь. Всё время и объём работ учитывается автоматически.
Просто в нормальных конторах рабочие процессы лучше продуманы и уровень автоматизации намного выше, чем на галере (текучка кадров, постоянная смена проектов, квалификация работников ниже ради большей выручки да и ещё масса причин ущербности галерного дела).
>>2157692 >Таска может быть оценена и коллективно Тогда всегда можно сказать что я оценивал правильно, а остальные - шапкозакидательством занимались
>Вариантов масса. Ясно, т.е. ты нихуя не знаешь
>Ебать ты тупой. У тебя нет прав доступа для этого. Это не бранч на твоей тачке, это система, которая крутится на серваке конторы. Всё что ты можешь - назначить на себя таску. Система зафиксирует начало выполнения Лол блядь. Берем таску, переводим в InProgress и идем дрочить недельку на трапиков. Ага-ага. Еще раз - нет скриншотов каждые 10 минут - значит ты дрочил и мы тебе не платим.
>назначить на себя таску Не "назначить таску", а "стартануть таску", Маня. Таски назначаются при планировании спринта, но ты даже на планировании не участвовал
>Просто в нормальных конторах рабочие процессы лучше продуманы и уровень автоматизации намного выше, чем на галере Маня, не существует "нормальных контор", только галеры разной степени ебанутости.
>>2157742 >Тогда всегда можно сказать что я оценивал правильно, а остальные - шапкозакидательством занимались В плане? Таска может достаться любому. Оценка делается до её назначения. В оценке нет заинтересованного лица.
>Ясно, т.е. ты нихуя не знаешь Как тебе выдать план действий если не известно почему была просрочка? Некорректная постановка задачи, не было доступа к нужным ресурсам, таска блокируется другой таской... Стопицот вариантов.
>переводим в InProgress и идем дрочить недельку на трапиков И система показывает, что ты её делал недельку. Время учтено верно, всё ок.
Чёт проигрываю с менеджера, который станет горы скринов изучать от своей тимы (и тонны слабо структурированного говна с кейлоггера). Задача манагера всё автоматизировать и чилить, а не бегать за каждым и смотреть к нему в экран.
>при планировании спринта Планируется объём работ и трудозатраты. Таски назначаются во время спринта по мере выполнения. Кто освободился - тот берёт следующую.
>не существует "нормальных контор" Есть конторы, которые зарабатывают на продаже программного продукта, а есть конторы, которые зарабатывают на оказании услуг по разработке или банально перепродаже рабочей силы. Первые относятся к "нормальным", вторые - к "галерам".
>>2157779 >>Тогда всегда можно сказать что я оценивал правильно, а остальные - шапкозакидательством занимались >В плане? Таска может достаться любому. Оценка делается до её назначения. В оценке нет заинтересованного лица. Лолблядь, в оценке есть заинтересованные лица - гребец которому нужно как можно больше заложить и прожектманагер которому нужно заложить как можно меньше.
>Как тебе выдать план действий если не известно почему была просрочка? Вот-вот, нужно не план действий когда все попизде пошло, а превентивные мероприятия, чтобы гребец работал, а не дрочил на трапиков
>И система показывает, что ты её делал недельку. Время учтено верно, всё ок. А почему так долго? Может ты нихуя недельку не делал и только в последний день быстро заговнокодил? Как проверить?
>Чёт проигрываю с менеджера, который станет горы скринов изучать от своей тимы (и тонны слабо структурированного говна с кейлоггера). Задача манагера всё автоматизировать и чилить, а не бегать за каждым и смотреть к нему в экран. Это если все идет поплану, то менеджер чилит. А если что-то пошло не так, то идет разбор полетов с предъявами ко всем. Тогда и код на внешний ревью отправят, и активность в чятиках проверят, и анализ кала посмотрят.
Я же говорю - то что ты не наблюдал факапов в жизни говорит лишь о твоем очень коротком опыте. На факапах учатся, между прочим.
>Планируется объём работ и трудозатраты. Таски назначаются во время спринта по мере выполнения. Кто освободился - тот берёт следующую. Бред. Есть беклог, а есть спринт. Из беклога таски вытягиваются, планируются и назначаются. Этим лид с ПМом занимаются
>Есть конторы, которые зарабатывают на продаже программного продукта, а есть конторы, которые зарабатывают на оказании услуг по разработке или банально перепродаже рабочей силы. Первые относятся к "нормальным", вторые - к "галерам". Первые (продукт) - параша, вторые (аутсорс) - топчик.
>>2157800 >оценке есть заинтересованные лица Оценивает не один гребец, а несколько. Они друг другу конкуренты.
>превентивные мероприятия Ты говорил про факт просрочки и что делать. Не виляй жопой.
>Как проверить? Что проверять? Таска лимитирована на 8 часов, а ты её делал 40. Какой даун будет апрувить таску на 40 часов? Дробление на небольшие таски сокращает время пинания хуёв драматически.
>планируются и назначаются. Этим лид с ПМом занимаются То есть у вас манагеры лично назначают таски и ходят в мониторы смотрят? Ебать они дауны. Впрочем, на галерах много неадекватов на всех уровнях (студенты, вкатыши, мимокроки).
>вторые (аутсорс) - топчик В условиях Украины или Индии. В условиях СНГ работяги больше стремятся попасть в Яндекс/Сбер/Wargaming. В нормальных странах - FAANG и прочие негалеры.
>>2157800 Ну получается, что на твоей галере ручное управление. Видимо из-за низкой квалификации личного состава и малой пайки. Если так, то анальные зонды и тотальный контроль с пиздюлями это единственный способ получить результат. За сим всё.
>>2157873 >Оценивает не один гребец, а несколько. Они друг другу конкуренты. Схерали они конкуренты, они сговорится могут легко
>Ты говорил про факт просрочки и что делать. Не виляй жопой Я говорил что у тебя нихуя неготово если что-то пойдет не так. Но ты тупой и не можешь даже прочитать написанное
>Что проверять? Таска лимитирована на 8 часов, а ты её делал 40. Какой даун будет апрувить таску на 40 часов? Дробление на небольшие таски сокращает время пинания хуёв драматически. Дебилушка, тебе еще раз сказали, что раздробить таски можно только если там абсолютно понятно что делать. Если там нужно делать инвестигейт или дебажить - там хуй разобьешь. Но видимо ты джун, которому дебажить что-то сложное не проручали
>То есть у вас манагеры лично назначают таски и ходят в мониторы смотрят? Конечно. Или ты из тех дибилов, кто считает что ПМ нахуй не нужен?
>Ебать они дауны. Впрочем, на галерах много неадекватов на всех уровнях (студенты, вкатыши, мимокроки). >В условиях Украины или Индии. Дауны только на отсталой расии. Каково это осознавать, что вы отстали лет на 10 от Украины, как по уровню зарплат так и по качеству результата?
>>2157904 >Ну получается, что на твоей галере ручное управление. Ты походу работал только в шлюпке на 20 человек, если веришь что можно все пустить на самотек и ничего не сломается. Это опять же говорит о твоей профессиональной отсталости, да и всей вашей страны в целом
>>2157928 >Схерали они конкуренты, они сговорится могут легко Как выстроишь систему компенсаций и взаимоотношений, так и будет.
>>2157304 >Ага-ага, N часов. А почему не 5⚹N? А если превысил? >Я говорил что у тебя нихуя неготово
>инвестигейт или дебажить - там хуй разобьешь С опытом к тебе придёт понимание. Ранее я уже написал как можно разбить на таски по 4-6 часов и получить полезный функционал.
>считает что ПМ нахуй не нужен На галерах роли пма и тимлида сильно размыты, да и работяги часто делают задачи вне их компетенций. Вот и ваши начальники занимаются хуйнёй, которая их позиции не свойственна.
> отстали лет на 10 от Украины Как можно померить это отставание? Экспорт российского IT 11.1bn usd, внутренне продажи - 7.4bn usd. Украинского - 5.4 bn usd. Внутренние продажи ищи сам, но явно меньше 3bn. Итого 18.5bn против 8bn. Если смотреть по структуре, то топ 20 It компаний Украины сплошной аутсорс от EPAM до DataArt. В развитых странах аутсорс начинается с 100 строчки. В России примерно с 20-й, причём это Luxoft, который как ни странно российского происхождения.
>если веришь что можно все пустить на самотек В нашем IT анальные зонды не используют. Просто потому, что у нас соблюдают права и свободы работников. А у вас - нет.
Есть класс team и класс player и 5 объектов класса player[5]
нужно в team прописать public метод который использует public метод из любого/каждого уже объявленного объекта player
class player{ private: string name; public: void get_name(){return name;} };
class team{ private: string name_list; public: void create_list(){ // берёт 5 объектов player и записывает их name(хотя бы одно кастомное для всех) в строчку в name_list }