> с моей точки зрения — однозначно плохое: я ненавижу c++ и не
> скрываю этого.Сочувствую. А тред обещает стать ещё бессмысленнее и горячее.
На самом деле я тоже ненавижу C++, но все остальные императивные и/или сиподобные языки я ненавижу ещё больше.
> тем, что пакованый. и поэтому есть кучка кода, которая занимается его упаковкой
> и распаковкой.
Занимается и занимается себе, кушать не просит, компилирует быстро.
> зачем там в IR все эти битовые поля и
> хитрые форматы команд? нет, никогда не было и никогда не будет
> железа, исполняющего llvm'овский IR. тем не менее его зачем-то усердно моделировали
> как систему команд для какого-то странного камня, усердно пакуя. я лично
> оценочно и неаргументированно считаю это дурью.
Нормальное решение — рассуждать в терминах некоей абстрактной машины. Впрочем, опять же, на вливы на базе этого я бы посмотрел.
> ну так если llvm и лучше, и красивше — логично будет ожидать,
> что народ бросит кусок мамонтятины и пойдёт пилить новое, а с
> мамонтятиной останутся три инвалида и пёс барбос. однако пока что этого
> не наблюдается.
По-моему, llvm вполне себе отлично пилится, в том числе и в институтах всяких, что является достаточно хорошим критерием.
> gcc — оно подразумевается в контексте обсуждения.
Это я понимаю. Что за гитики-то?
> тогда я неверно его понял, видимо.
Что тут понимать. Неважно, какая архитектура и как к такой жизни люди вообще пришли, проще исправить, переписав всё с нуля, получится быстрее и надёжнее.
>> Чайник на орбите Плутона тоже возможен, но это не повод отталкиваться от
>> его существования.
> именно поэтому я и говорю на протяжении кучи постов, что вместо теорезирования
> нужно использовать практику. для чего llvm'у следует сначала научиться всем гитикам
> gcc.
На протяжении кучи постов не перестаю удивляться этому логическому переходу.
>>> я тоже хотел бы жить в мире, где всё идеально. а на
>>> практике часто получается, что не должно — а есть.
>> Однако, чем лажи меньше, тем оно ближе к идеальности.
> я подозреваю, что почти никто не делает проект с прицелом «а запихаем-ка
> побольше лажи!» лажа возникает в процессе адаптации идеала к неидеальному миру.
Иногда лажа просто сама возникает вследствие сущности, которую требуется адаптировать. Прицел «а сделаем-ка фигак-фигак-и-в-продакш^Wдебиан, а там посмотрим» вполне себе имеет место быть.
> а потом может оказаться, что вариантов осталось примерно два: или полностью переделать
> кодоген, потому что упс… не учли кое-что.
Опыт показывает, что такое бывает настолько исключительно редко при корректной изначальной архитектуре, что можно это не учитывать.
> новый проект, кстати, не факт, что учёл все шишки предшественника.
Ну с этим никто не спорит. Поэтому я когда-то давно уже и написал, что поживём — увидим.
> я не говорил, что у llvm код хуже (или лучше). пока что
> это и неважно, потому что многого другого, необходимого для сравнения в
> рамках данного обсуждения, всё равно нет.
Да хватит уже цепляться к этим архитектурам. Давай уже рассматривать «компилятор для x86 и производных».
> ну, -O0 вполне себе быстрый.
А в clang быстрее.
> а сообщения об ошибках благодаря шаблонной магии
> в c++ всегда были какими-то заклинаниями на древнешумерском.
На самом деле их даже у гцц можно читать вполне, если не упарываться по шаблонам серьёзно.
Но я вот, к сожалению, упарываться люблю.
> когда D примерно
> по тем же причинам начинает просираться подобными заклинаниями, тоже хочется кого-то
> убить. или хотя бы спрятаться в бомбоубежище.
Нет чтоб фронтенд сделать к llvm!
> вообще, я имею мнение, что это индикатор бардака в партитуре, а не
> в оркестре. но обосновать не могу, потому что дизайнер языков из
> меня никакой.
clang примером показывает, что можно сделать лучше.