Здравствуйте, smeeld, Вы писали:
MA>>Ядро линукса компилируется в рабочее состояние ровно одним клмпилятором. Вам это ни о чем не говорит? S>И что? Это абсолютно не важно. Этот компилятор и существует до сих пор только по причине существования упомянутого ядра.
Это говорит о многом. Это говорит, во-первых, о нежелании двигаться вперед, при том, что 10 лет как его можно собрать на ллвм с кучей патчей, а во-вторых — наличие какой-то нестандартной херни, которой там быть не должно. Вот и все. И третье, можете взять подручный экстраполятор и бежать доказывать как плохо с std::move, но в реалиях проблемы с гораздо более простыми вещами, которые почему-то как бы не простые. В четвертых, это говорит об околонулеврй переносимости кода на конкретном языке, ведь он мудряторы намудрячили такое, что оно не работает без десяти ку.
Здравствуйте, smeeld, Вы писали:
S>Это говорит прежде всего о том, что вы не учитываете политический момент. А именно он и определяет то, каким компилятором должен собираться линукс.
Тут крыть нечем.
Здравствуйте, smeeld, Вы писали:
S>Для меня критерий прост: linux юзается везде-это не говнокод, оракел юзается везде-это не говнокод, nginx юзается везде-это не говнокод.
Здравствуйте, smeeld, Вы писали:
S>>а у вас-то квалификации хватает, чтобы отличить хеллоуворлд от не хеллоуворда?
S>Для меня критерий прост: linux юзается везде-это не говнокод, оракел юзается везде-это не говнокод, nginx юзается везде-это не говнокод. Тот примерчик, что Вы привели, юзает не индустрия, а полтора инвалида-это говнокод. Все остальные рассуждения про "красивость кода", "безопасность кода", "читаемость кода"-это рассуждения задротов, которым делать нечего. Код не может быть ни плохим, ни хорошим, он может быть юзаемым, как оракел, а может быть неюзаемым как Ваш пример. Неюзаемый код-это говнокод. Юзаемый код-это то, что выбрала индустрия, неюзаемый код-это код который выбрали полтора задрота, согласно своим личным взглядам и предпочтениям.
Здравствуйте, PM, Вы писали:
PM>И судя по частоте релизов, никто там не хочет сильно трогать ту кучу субстанции. Код != продукт.
Для такого монстра, у них очень хорошо в релизами. К тому же, DB ориентирован на кровавый тырпрайз, а там очень не любят частые релизы, раз в два-три года-это то, что нужно. Чаще-гемор.
Здравствуйте, Mystic Artifact, Вы писали:
C>>Envoy используется для коммутации трафика между сервисами, во многих компаниях из Top500. MA> Топ500 использует еще 100500 всякой хрени в самых разных местах. Если им это надо — это не значит, что остальной части населения, которой >99.9% нужно вообще об этом знать. Какие выводы можно сделать из того что они используют? Да никаких.
99.99% населения Envoy и не нужен, так как у них нет сети сервисов. А там где Envoy нужен — таки nginx даже близко не поможет. И таки да, он написан очень правильно.
Здравствуйте, smeeld, Вы писали:
S>И как же в крупных проектах на Си и Си c классами обходятся без этих понтов и заклинаний aka std::move, std::swap и прочих trivially_constructable?
пишут нечитаемое и неподдерживаемое говно с UB, ломающееся при переходе на новую версию компилятора
Здравствуйте, smeeld, Вы писали:
S>На серверах и железках доминирует чистый Cи, и будет, пока линуксы и прочие оракелы на Cи написаны, а замены им не видно. А в тырпрайзе C++ и не было никогда, там java балом правит.
Здравствуйте, Cyberax, Вы писали:
C>99.99% населения Envoy и не нужен, так как у них нет сети сервисов. А там где Envoy нужен — таки nginx даже близко не поможет. И таки да, он написан очень правильно.
ОК, на современном С++ все-таки смогли написать работающий код, возможно даже эффективный.
Теперь покажите работающий код на современном С++, от которого не хочется тошнить.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, lpd, Вы писали:
lpd>Теперь покажите работающий код на современном С++, от которого не хочется тошнить.
А могли бы вы показать работающий код на C++98/03, который вы считаете эталоном качества и читаемости? Ну в качестве камертона, так сказать.
Хотя можно усложнить задачу, и попросить вас показать таковой код на чистом Си. Но это уже даже не задачка со звездочкой, а с тремя звездочками. Нельзя собеседнику по RSDN такие тяжелые просьбы высказывать.
Здравствуйте, so5team, Вы писали:
S>Хотя можно усложнить задачу, и попросить вас показать таковой код на чистом Си. Но это уже даже не задачка со звездочкой, а с тремя звездочками. Нельзя собеседнику по RSDN такие тяжелые просьбы высказывать.
Ядро линукса (кроме некоторых участков вроде отдельных драйверов или sunrpc, например) вполне читабельно. Я не претендую, что все детали там знаю. Но при том огромном количестве фич которые оно содержит, обычно можно разобраться и найти концы, почему что-то не работает. Я бы впрочем и его меньше оптимизировал, начиная с тех же лишних на мой взгляд likely/unlikely во многих if. Но это лучше мув-семантики на каждом шагу лишь бы ее использовать.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, lpd, Вы писали:
lpd>Ядро линукса (кроме некоторых участков вроде отдельных драйверов или sunrpc, например) вполне читабельно. Я не претендую, что все детали там знаю. Но при том огромном количестве фич которые оно содержит, обычно можно разобраться и найти концы, почему что-то не работает. Я бы впрочем и его меньше оптимизировал, начиная с тех же лишних на мой взгляд likely/unlikely во многих if. Но это лучше мув-семантики на каждом шагу лишь бы ее использовать.
Не, так не пойдет. Дайте, пожалуйста, ссылку на конкретный фрагмент кода.
Опять же, я не досконально знаю этот код, но когда нужно было разобраться в отдельных фичах, я по-крайней мере не поседел от этого вашего леса скобочек.
У сложных вещей обычно есть и хорошие, и плохие аспекты.
Берегите Родину, мать вашу. (ДДТ)
Здравствуйте, Шахтер, Вы писали:
Ш>Комитет по стандартизации пора расстрелять. Такое ощущение, что эти дебилы никогда не писали софт сложнее hello world.
Ш>
Ш>Кстати, обратите внимание, какие замечательные короткие имена нам предлагают использовать для констант. На пол-экрана. А чо такова, мониторы-то теперь широкие?
Ш>Вылечить можно так. Хакаем заголовок <compare>.
Комиссар, просвятите пожалуйста старого дореволюционного профессора. То, что имена в стд длинные итп — это да,
а вот не хакая <compare> есть какое-нить решение?
Здравствуйте, lpd, Вы писали:
lpd>Ну вот тебе большая функция-кошмар плюсовика: kvm
Ну вот сходу типичное для чисто Сишного кода: как понять, где в коде этой функции можно сразу делать retun r;, а где нужно r = ...; goto out, а где r = ...; goto cancel_injection;? Посредством каких-то тайных знаний, штудирования документации, штудирования комментариев или внимательного разбирательства с кодом этой функции?