All streams
Search
Write a publication
Pull to refresh
-3
0
Send message

Прошу прощения, да, не задепрекейчен. цппрефком на телефоне плохо смотрится.

Во-первых врапер НЕ нулабл, во вторых задеррекейчен, а в третьих в с++20 удален.

Для моей задачи (безопасная работа с нулабл ссылками) Т* НЕ подойдёт.

Безопасность на уровне опшинал через операторы - я тут не понимаю о чем вы. Вот операторы из опшионала для безопасности как раз таки надо удалить потому что это как раз и есть проблема писать не безопасно (*) легко, а безопасно (валью) сложно.

Вы листы то сами используете или только учите остальных о том какие они замечательные в стандартной библиотеке плюсов и как в расте буквально все без них страдают? Везде где я бы не увидел стд лист это был код джуна, не я конечно видел листы по делу, но они всегда были самописными и почти всегда на сях и опять же всегда про ноу лок + свой аллокатор в придачу. Я даже видел листы на массиве + фрилист нодов в одном флаконе, но не надо тут рассказывать про стд листы это мертвый груз плюсов как и стэк, а вместе с ними мертворожднные форвард листы. Очередь хоть как то юзабельна. Лучше бы комитет в свое время флат мапы принял вместо форвард листов и спан по раньше, но нет приходите в с++23 ну хоть на этом спасибо, хотя надеюсь что мне уже не придется этим пользоваться когда оно наконец то появиться у меня на работе.

Раст не идеален, дженерики откровенно слабы хоть работа над ними и ведётся, запрет реализации трэйтов на чужом типе вообще какая то шиза (сами оборачивайте миллион ероров и жрите молча дефолтные реализации трэйтов), конст противозачаточный, макросы наркоманские, дебаг ущербный, асинк вообще местами без костылей не компилируется, функционал шина вырвиглазная трехжтажная хрень с постоянными приседаниями на ровном месте, но все же я расту готов простить вообще все проблемы только хотя бы за то как он с зависимостями справляется.

Я был буквально в шоке, что добавить ЧУЖУЮ либу это 2 минуты работы, а не лять неделя как я вот прям щас мучаюсь в плюсах с либой из другой команды. Конаны шмонаны, смэйки и прочие вообще курят в сторонке и помолкивают. Вы когда на расте последний раз писали сериализацию? я ни разу, а на плюсах чуть ли не ежемесячно.

Хотите строку в энум и назад нате вам 10 способов один хуже другого. У нас в коде вообще нет сырых владеющих указателей, утечки? Полно, рэйсы? Куда ж без них родимых то, хотя все буквально обмазано мьютексами я вообще удивляюсь как оно ещё не тормозит. Шаред поинтеры вызывают деструкторы хер пойми в каких потоках ИНОГДА? - нет инструмент прекрасный, но гореть этим людям в аду за шаред поинтеры в стандарте, место им в бусте. Проезды по памяти? - это на десерт и хрен вы их найдёте без санитайзеров, а сборка с санитайзером на железке просто как пошаговая стратегия вместо риалтайма работает. Попробуйте собирите культю под санитайзером, не мы ее собрали конечно в итоге и щас даже автотесты под санитайзером завелись, но это все невероятно непросто. Получить стэк трэйс при логировании - удачи вам. Логирование? Сто пицот библиотек и все равно в каждом проекте своя и убогая. Пул потоков? ага есть в стандарте, только забанен вообще везде вместе с футурами, вот и пишет каждый свои джобы, а там пипец сколько багов, но это можно починить, а вот объяснить как пользоваться джобами можно только тому кто их написал раз хотя бы сам, но им то как раз и не надо ничего объяснять они нормально ими пользуются в отличие от остальных. Написать что то свое на шаблонах? гарантия проблем, либо не могут понять колеги, либо внезапно вылезают проблемы с ними в зависимостях(привет гтест и файнал) либо вообще студия поднимает лапки и говорит ну не шмагла я сегодня это скомпилить, пойди туда сама не скажу куда и попробуй упростить не скажу что. Это вот у нас прям щас проблема после обновления на 17.9.2

В расте я собрался и запустился, все косяки в МОЕМ ффай СРАЗУ запаниковали. Один раз все пофиксил работает как часы, если я какую то дичь творю оно либо не собирается либо сразу падает других вариантов я пока не видел. А у меня там много всякого, и алактор системный перегружен и ффая в скулайт дофига и больше и асинхронщина со своим экзекьютэром и сборка дллки плагина для скулайта и тесты всего этого не стандартным раненом и грпц даже затесался, а и ещё свой недо сиквел прямо в коде через макросы, я это называю обратным орм это когда не сиквел из основного языка генерится, а наоборот раст код из сиквела и причем сиквел этот НЕ строки, а обычные токены растовские, такое плюсы не умеют и научиться чуть раньше чем герб свой цпп2 запилит - примерно никогда.

Ну да ну да, а в плюсах значит не точно также пишут про стд лист, что не надо его использовать, а вместо него юзай вектор. Даже очередь по умолчанию дэк использует вместо листа

Я же и написал, что в расте это другое понятие (более широкое чем в с++) если интересно как один из инструментов смотрите self_cell, а в с++ строки НЕ селф реф тип это уже вы совсем запутались. В плюсах это будет например линкед лист или дерево, когда один из мемберов это указатель на структуру которая и содержит этот мембер. Конечно такие структуры полезно и мувать и копировать, но линкед листы и в расте вполне в стандартной библиотеке хорошо себя чувствуют. Ну да тот юзкейс что у меня в голове с графом обьектов тоже не селф реф технически.

Ну в расте селф реф типы во первых представимы, а во вторых значат немного не то о чем вы здесь пишете, ну и в третьих проблема с копированием возникает если граф объектов действительно зациклен, но тогда и в плюсах вы обязаны запретить и копи и мув конструктор по умолчанию или переопределить их (но зачем?). В любом случае я не припомню необходимости в реальном коде на плюсах ни мувать ни копировать объекты с циклическим графом, они по сути всегда синглтоны раз создал и пользуйся, так что нет это НЕ громадный просчет.

Уважаемый, расскажите нам всем как использовать стд::опшинал со ссылками и не надо тут ляля разводить, что мне это не надо или что вот используйте указатель или что я с++ не понимаю или ещё какую ересь. Где мои безопасные нулабл ссылки я вас спрашиваю!? А нету их и не будет пока страуса буквально не закопают.

Сразу скажу, что я с вами согласен, но придется заступиться и за оппонента.

Проблема раста в том, что вы не сможете написать емплэйс в контейнере сразу по многим причинам. Начнем с менее серьезной - нет вариадиков. Ну тут рецепт фикса такой же как и в плюсах 98. Худо бедно, но решается, а вот то, что вызов конструктора на типе требует от автора типа реализации трэйта, в котором этот конструктор объявлен уже фатальный недостаток.

Т.е. во первых этого трэйта нету, во вторых это должен быть не один, а пара десятков трэйтов (по количеству параметров конструктора), в третьих если у вас тип имеет 2 и более конструктора с одинаковым числом параметров то придется приседать и использовать +1 параметр для реализации оверлоада внутри трэйтового метода, в четвёртых мы ещё ошибки даже и не обсуждали, а это ещё несколько десятков трэйтов.

Но это все фигня, пипец заключается в том, что у вас будет по несколько десятков векторов, и каждого контейнера со своим именем для ограничения типа одним из трэйтов, ну а если у вас тип поддерживает конструкторы с разным количеством параметров - просто застрелитесь.

Короче без серьезных макросов к этой задаче не стоит даже и подходить. С макросами можно и без трэйтов обойтись, но тогда надо как то атрибутами конструкторы помечать или по сигнатуре их определять, правда в этом случае можно сделать лучше чем в плюсах вместо одного вариадного emplace будет метод с точно таким же именем как у вашего типа конструктор ну плюс суфикс/префикс типа emplace_from, emplace_new, emplace_create хотя для последнего я бы оставил только эмплэйс.

Что это даёт? Ну можно сэкономить пару занулений при муве в тех случаях когда компилятор не сможет сам все соптимизировать ну и конечно ощущение своей собственной оффигенности от использования нетривиальных макросов в расте и чувство удовлетворения фантомной боли полученной ранее в многочисленных боях с с++ шаблонами.

Поэтому в стандартных контейнерах мы действительно этого скорее всего никогда не увидим.

Последний раз когда я писал одно поточную программу был примерно 15 лет назад это не значит, что их больше не пишут совсем, но это вполне значит, что на расте это совсем не дефолтный вариант. Дефолт как раз таки многопоток, а однопоток - экзотика.

Раньше я к файналу для класса относился нейтрально, сам не писал видел редко. Теперь отношусь отрицательно - был неприятный инцидент с ним. Обновили гугл тест/мок до последней версии, а оно там в своих мудях где то использует этот самый файнал для класса обертки результата. А у нас был шаблонный трэйт который определял является ли класс наследником от базового ШАБЛОНА и сделать этот трэйт можно сегодня только через наследие в стандартной библиотеке такого нету. Ну вот у нас юнит тест и поломался из за этого файнал где то глубоко в детэйлсах гтеста - проблемы на ровном месте, а где он помогает я так и не понял.

Я вам как пользователь дома который принимали по правилам скажу (как раз каркасник) - хочешь что бы было нормально строй ну или хотя бы проверяй сам имеется ввиду плати деньги проверенному спецу с репутацией за проверку. Чинуши проверяют не дальше чем в требованиях, а требования скажем так сильно не поспевают вашим ожиданиям ну и само собой вы все равно за эту проверку как покупатель заплатите, только когда проверяет чиновник у вас нет выбора и нет конкуренции и поэтому цены там мама дорогая. Мне больше импонирует схема на подобии обязательной страховки/ТО, т.е. проверить надо но только что бы я сам как покупатель мог выбрать кто и что проверяет. Мне в ипотеку все равно дом страховать вот пусть страховая и проверяет и от результата проверки зависит цена страховки - застройщики сразу начнут как то учитывать что их косяки влияют на продажи из за высоких цен на страховку, а страховой не выгодно ни придираться ни игнорировать ибо это либо меньше клиентов либо большие расходы по страховым случаям.

Что то мне подсказывает, что вклад стороннего консультанта, который уже к началу строительства был более чем сеньор и величайшим опытом, очень сильно не раскрыт в этой статье. По простому без того родственника у них бы не получилось лучше чем от застройщика. А ещё в этой статье не учитывается локальные требования контролирующих органов, не везде вот так вот можно взять и просто построить дом как хочешь без всяких там проверок. В моих пинатах даже плитка/гидроизоляция в душевой должна получить одобрение чиновника. А каждый вызов этого чинуши дело не дешёвое и ещё стой в очереди. Поэтому водопад внезапно становится существенно дешевле т.к. число таких проверок минимизировано и самое главное типовое строительство позволяет также свести к 0 вероятность косяка который чинуша потребует исправить и пройти новую проверку.

Я вам больше скажу, вот это вот - материалы у нас были лучше, даже вот смотрите саморезы там где все гвозди суют это на самом деле офигенный риск, вот этот якобы здоровый лес может быть не обработан от насекомых(наверное в России это не важно) и тогда привет весь каркас в топку - буквально, а вы уже в рамках мвп и на кухню и сан узел и ещё что-то потратились. А там где все используют гвозди вместо саморезов может оказаться требованием чинуши. И вот если у вас нет такого консультанта как у этих ребят то аджайл вас может буквально разорить.

А мне кажется, что вместо того что бы тянуть эзернет в ноут, лучше что бы розетки были юсб в них конвертер встроенный в эзернет + ещё пд. И ноут тонкий и сеть по поводу.

Я заступлюсь за художника, тип шаред поинтера не включает делетэр, а лежит отдельным указателем и поэтому все что вы тут написали к нему не относится.

Я и на плюсах и на расте пишу, кастомный делетер в шаред поинтере нужен совсем для других целей никто конечно руки выламывать не будет, хотите использовать по другому вперёд. Кастомный делетер нужен для того чтобы отдать шаред поинтер на дочерний объект но при этом мы все же хотим что бы удалилось все дерево объектов, а не только дочерний (и то он скорее всего владеется по значению). Короче хотите понять зачем шаред поинтер такой какой есть смотрите алиасинг перегрузку конструктора. Я 1 раз этим пользовался очень нишевая функциональность.

Не мешайте человеку хотеть, он художник он так хочет.

Ветки 98 см, с++98, 17,20,23 см тоже самое. Хвост 20-22 и 20-19 это версия вижуал студии, про камни и цвета я не понял. Ну а бобрандеску это Чак Норрис в мире бобров имхо.

Ну вообще то могут и все по праву. Я так говорю потому что знаю на опыте. На одной из предыдущих работ меня так и уволили. Нанимали меня СТО и тим лид и были всем доуольны, потом через год сначало ушел в другое место на повышение СТО, потом мой тим лид пытался занять вакантное место сто, но в конечном итоге должность сто упразднили, а ещё через 3 месяца упразднили тим лида. И вот у меня новый лид и ему не понравилось что по требованию прошлого лида я и ещё один товарищ писали много тестов на легаси код. В общем устроили реструктуризацию на -2 человека, оценки формальные всех в команде. По хард скилам уволить меня у них никак не выходило, а вот как раз софт скилы и стали формальным поводом. В общем через 1.5 года я написал по собственному по их совету. Смысл в том что помимо заявления на увольнение я написал так же и заявление в трудовой трибунал (все по сговору с высшим менеджером). Зачем? Все просто компенсация по такому заявлению не облагается налогами, они мне выдали 1.5 месечной ЗП таким образом. Зачем я на это согласился? Опять очень просто зачем тратить свои эмоциональные ресурсы на бессмысленное противостояние если можно просто найти место получше где мои софт скилы норм? Плюс остаться в хороших отношениях с текущими менеджерами, которые потом смогут дать хорошую рекомендацию + деньги. Т.е. зачем воевать если можно дружить? Ну не понравился я новому тим лиду - не беда, понравлюсь другому.

Случайность, но все же ещё через год всю контору продали ассетс онли, и было забавно узнать от бывшего колеги как этого тим лида точно также послали на все 4 стороны, пара человек решила остаться , говорят он сильно расстроился и ушел на эмоциях. Меня даже потом назад звали на поддержку кода, я отказался и так все хорошо было у меня.

Так что по софт скилам увольняют и вполне по законам.

С хр проблем никогда не было. Избегать таких разговор не значит не уметь их поддерживать.

Был один случай когда я прошел все тех интервью и на финальном интервью в стартап где присутствовал сео и сто я честно сказал, что при любом выборе между коллегами и семьёй коллеги проиграют. Бар после работы без меня, волонтёрские путуги в субботу без меня, какие то коллективные мероприятия вне рабочее время куда я не могу взять с собой семью - без меня.

У нас тут neat and tight коллектив, ты нам не подходишь. Я думаю, что реальная причина в том, что сео, сто и большинство их коллег были бездетными на тот момент и просто не понимали чё за чушь они несут. В общем хорошо, что они это сразу сказали, а то потом мучаться с такими.

Это например когда обсуждение кто что ел в каком ресторане и что смотрел в кино/по стримингу и кто где отдыхал и кто пошел на какой концерт/вечеринку уже немного так сказать надоело и поэтому я например стараюсь избегать такого общения. Обсудить рабочий вопрос или интересный аспект программирования всегда пожалуйста, но почему то(да понятно почему) это как раз не то что будет обсуждаться по умолчанию. Я вообще могу вспомнить ровно 1 (~ из 50) англоязычного колегу с которым мне было интересно общаться.

Питохон, прям по русски звучит и сукель хорошо. Я вот часто ещё скулайт говорю.

Information

Rating
4,508-th
Registered
Activity