Search
Write a publication
Pull to refresh
-11
0
Send message

Это оправдания, которые не имеют смысла. Не говоря уже о том, что куда-то потерялось "другое назначение"? Ах да, это другое.

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

Поэтому, когда подобный эксперт заходит в тупик в своих рассуждениях - начинаются манёвры. Вот так бам и забыть для >> про:

б)имеел уже другое предназначение

Ну имел и имел. Какая разница, да?

Такая же история с "знающий человек", который не знает про пайпы.

Амм..."битовое или" как-бы

Как бы нет. Ну меня не перестают удивлять рассуждения маздайщиков об "интуитивно". Рассуждения тех, кто никакого отношения к цпп не имеет. Ну и или максимум там лапшу на си с классами ваять.

Никакого отношения оператор| не имеет к "битовому или". Битовое или - это специализация оператора| для некоторых базовых типов.

Это, на самом деле, типичная проблема для людей далёких от настоящего цпп. Которые такие же куллстори рассказывают про foo(a){}и `foo(b) {}` - им так же не очевидно почему foo не имеет никакого другого "назначения".

Точно так же как нужно понять, что функцию не определяет имя. Точно так же в цпп нет никаких "битовых или" или прощей чуши. Есть операторы. Операторы могут иметь какую угодно логику. И то, что эти опираторы имеют какую-то дефолтную реализацию для каких-то дефолтных тип - это не означает, что эти операторы стали этими дефолтныи.

Аналогично в fs есть `path/to/file`, да, да с палочкой. И это не делить. А ещё есть >> << в iostream. И это не сдвиги. Как удивительно, да? Никогда такого не было.

Я в приницпе не понимаю как люди могут писать на цпп и рассуждать подобным образом. Даже если это какие-то помойные си с классами из 98года. Ведь даже там были ёлочки.

а)не интуинтивно понятен

Кому? Маздайщикам? Это максимально понятно тем, кто занимается и с цпп и снормальными ос.

б)имеел уже другое предназначение

Где имел? Когда?

ЭТО смешно.

Что?

Мне режет не сам оператор глаза, а его использование тут и в других подобных методах

Т.е. си с классами маздайщик? Причём тут цпп, оператор, интуитивно?

Тут надо бы новый оператор, допустим как в fsharp |>

Бездарное дерьмище. Ну в целом я не ошибся. Можно только похвалить цпп за то, что такого здесь никогда не будет. А если и будет - можно будет его(цпп) хоронить.

Маздайщик что-ли? Для подобных есть паскалик, бейсик, там авось си с классами.

Т.е. мало то, что "оператор глаза режет" в C++ - это уже смешно. А уж чтобы пайп резал. Это явно заоблачный полёт.

Сразу отвечу балаболу выше, который решил срывать покровы с

читаем расшифровку vliw: very long instruction word

А ведь выше я писал, что в том же итаники нет very long, а данный балабол называл это вливом. Как же так?

А, я понял - это жертва русскоязычной википедии. Хотя скорее всего просто бот с откроваения уровня "чёрная дыра - не дыра".

Что с интерпретируемыми языками программирования делать будем?

А что с ними делать? Это мосор. Если бы кому-то там нужна была производительность - этих языков не существовало бы. Поэтому слабый заход.

Да и проблема не в языках, а в подходах.

Нет, я конечно не против, если в счастливом будущем за слово жаваскрипт и похапэ будут вешать на дереве и вклеивать в руки табличку 2 + 2 = 22

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

Да и жабаскрипт - это просто скриптуха, т.к. где она есть? В броузере? Там нахрен производительность ненужна.

На каких-то маня-веб-серверах? Там она тоже ненужна. Да и любая подобная лапша имеет ровно ноль смысла, потому как не выполняет полезной работы. Её выполняют всякие демоны, внешние сервисы(типа баз данных), сишный рантайм и сишные же либы.

Такая же ситуация в питоне. Он в дерьмо сливает тому же жабаскрипту и что, кого-то это волнует? Нет.

а весь мир будет писать на С-подобных языках

Практически все живые языки в этоммире си-подобные. В том числе и жаваскрипт.

и устраивать срачи на тему
«Rust или C# — все стороны лохи», но что-то это совсем
утопично-нереалистрично звучит.

Какое отношение это днище имеет к языкам? Ладно там C# ещё пытается быть похожим на язык для бедных, но раст? Это просто мусор.

В любом случае люди очень странно себе представляют ситуацию. Им кажется, что существует какой-то отдельный жаваскрипт и там всё работает как-то иначе - нет.

Проблема с жаваскриптом и скриптухой не в том, что она скриптуха, а в что jit для этого мусора генерирует многожество ловушек и часто что-то пересобирает. Но люди уже давно поняли, что это так же хреново работает на суперскаляре. Именно поэтому подобная логика просто не доходит до жита.

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

Это всё старые песни. "типизации не будет", "типизация говно", "как мы будем писать". Всё это чушь и просто узкий вгляд на реальность.

а где вы другой код возьмёте?

Повышается уровень инстрии, старые говноделы возвращаются к мытью полов. Как вдруг появился многопоточный код?

даже не другой код, а задачи под него.

Это оправдание тех самым говноделов и неудачников разных мастей уровня "не мы такие". Ничего общего эта чушь с реальностью не имеет.

не мешает. но это, сюрприз, будет уже не vliw, а суперскаляр.

Нет, не будет.

вся идея vliw в том, что параллелизм явно задаётся компилятором, формирующим широкие команды.

Во-первых нет, широких команд во вливе может даже не быть. Это просто базовая модель.

Во-вторых, это называется явный параллелизм. Через что он задётся - неважно. А сам влив и широкая команда - это имя нарицательное. Здесь главное иметь isa с явным параллелизмом. Т.е. она не занимается поском этой параллельности в скалярной isa, как это происходит в случае с суперскаляром.

И самое важное, никаким образом я нигде не говорил о том, что парллелизм будет невным. Откуда взято это откровение?

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

На самом деле можно взять 10 поток инструкций, писать их параллельно, а делее исполнять. Это так же будет янвым параллелизмом.

В этом плане любой суперкаляр уже влив, потому как smt это элемент влива. Когда процессор читает множество независимых потоков инструкций, явно параллельных. И итаниум был именно таким.

Отвечу на другие клулстори.

да, именно так и было, конкуренция не нужна, интел планировал поделить
рынок на сегменты, высокопроизводительный отдать itanium'у, а бюджетный
оставить за x86.

Не фортануло. У интело получилось начиная с кор2 сделать не-кукурузу. Итаниум был практически х86 с smt, о чём я выше говорил.

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

Там же на итанике были симды, они хорошо продвинулись. Тоже самое и для х86. Потом интел уже начал делать х86-гпу на новых супер-симдах.

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

Уже противоречия в методичке. Итаник за много денег, который ничего не предлагал. Историю я описал выше.

Говноделы, нежелание интела учить адептов + дешевость и успешность новых х86, развитие симдов, которые везде продвигались.

Такая же история с паверами/спарками. х86 на их фоне дерьмо, а был ещё большим дерьмом. Там фанатики орали про "проигрышь риска" и прочей чуши.

Такова реальность. х86-дерьмо породило много адептов с покоробленным мозгом. В 90. Там сдохло всё. Ну и вопрос цены. А цена потому, что х86 штампавался миллионами, потому что маздайка и рабы.

Какая-то культура программирования была в юниксах, где-то там глубого в лабораториях. И только с спо, гпу - культура стала массовой. До этого там были такие овощи.

настолько будущее, что vliw известен несколько десятков лет, и кроме эльбруса и нескольких специализированных процессоров ничего сейчас и не выпускается?

А что-то вообще выпускается? Вот х86 выпускается. А х86 дерьмище отборное. Сливает всему. Но почему же оно выпускается? Ой, наверное потому что какое-то будущие и хки вторичны на рынке рабов?

Удачи там маздайку запустить на вливе. Даже мусорный арм-огрызок нахрен никому не упал, хотя билли хотел хоть какой-то мобильный сегмент занять. Хотя бы среди лёгких ноутбуков/гибридов.

В 90/00 - это слишком рано. Сейчас, да и раньше это никому ненужно. Все рынки поделены. Все бизнес-стратегии основаны на то, что чем более бездарны твои рабы - тем лучше.

Зачем кому-то из вендоров учить адептов? Если вендор хочет продавать и лочить ан блобах? Каким-то чудом х86 как что-то отрытое состоялся. Дай вендору возможность - он тебя обожит блобами и нулём информации.

Как это произошло с гпу, как это происходит в хдл-разработке. Это всё никак не связано с технической стороной вопроса.

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

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

VLIW для задач общего назначения — это, к сожалению, ретрофутуризм, а не будущее.

Будущие, к тому же это нелепая попытка подменить тезис. Нужно перечитать то, что я говорил. А говорил я о том, что влив требует измненеия подхода.

Это такая же методичка как 20 лет все кричали "многопоточность не работает - одно ядро наше всё".

Кроме Intel, им занималось ещё некоторое количество компаний, у которых
не было за душой x86, и все эти компании не стали успешными.

Никто вливом никогда не занимался. Опять же, очередная подмена тезиса. У интела не было никогда влива. У интела был огрызок, который вливом являлся чисто номинально.

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

Ах да, по поводу успешности. Успешными они тогда стать не могли. Потому как даже на текущем уровне развития языков, компиляторов и понимания - влив далеко в будущем. А ранее вообще ничего не было.

Зато развивавшийся тогда же ARM имеет огромные тиражи и полностью
захватил рынок всего, кроме ПК.

Арм ничего никуда не захватил. Просто фортануло. У него не было никаких конкурентов. Это как рассказывать, что что-то захватил интел. Интел всегда был мусором, продвигался дядями из межделмаша. Там каким-то чудом во что-то сформировался в середине нулевых. Из-за бесконечного бабла и отсутствия конкуренции. Ну и х86 во многом проприетарный мусор.

А дяди с теми же нормальными суперскалярами думали, что мейнфремы будут везде вечно. Но не фортануло. Потом вакханалия с эплом, пс3/коробкой.

К тому же, повторяю, суперскаляр - это такое же во много легаси, как и х86. Нужен ли кому-то х86? Нет. Это дерьмо. Он в принципе не имеет смысла. Но чего же он захватил и держит рынок?

А вот именно потому, что созданого терабайты бинарного дерьма. Есть дядя билли с маздайкой и тысячи вендоров, которым выгоден вендорлок.

Поэтому переход с х86 без смены парадигмы невозможен. Тоже самое касается суперскаляра.

И сейчас для амбициозного проекта RISC-V
можно было сделать вообще любую архитектуру, можно было выбрать все
самое лучшее, но выбран был вовсе не VLIW.

Нет, никто никакое лучше не выбирал. Выбиралось привычное и то, что куда проще внедрить. О каком-то "лучшее" там никто не думал.

Выгода от предсказателя хорошо измеряется.

Зачем мне спорить с неимеющими к теме отношения ретрансляторами пропаганды, которые не способны даже читать то, что им пишут? Я понимаю, сложно и проще тулить методичку.

То, что на дерьме что-то там "хорошо" измеряется - это ничего не значит. Проблема в том, что это - дерьмо.

Именно поэтому они есть в процессорах и активно развиваются.

Не поэтому. Я спорю даже с теми, кто даже не знает что такое предсказетль.

Я открою тайну экспертам, но предсказатель вообще никак не завязан на суперскаляр. Вообще процессора без предсказателя существовать не может.

Весь код, который пишется. Вернее большая его часть - бездарное дерьмо. Это дерьмо процессор исполнять не может. Т.е. неважно что там влив, либо не влив - пока там есть пайплайн - всё едино.

Поэтому ядро, которое исполняет код - оно не может выполнять всякие переходы, вызовы и прочую чушь. Оно может выполнять только плоский код. В том числе и влив.

Именно для этого и существует предсказатель. Его задача - сделать из мусора плоский код.

В плоский код программу можно преобразовать и без него, но, повторяюсь, наличие пайплайна требует чтения "в будущие", т.е. до исполнения текущей инструкции.

Именно потому, что преобразовывает он будущие - он называется предсказателем. И повторяю, никак он не связан суперскаляром. О том, что он есть и был в итанике я уже сказал.

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

Без всех эти оптимизация - никакой суперскаляр не работает. Потому что он дерьмо. Он ничего сам не может.

И единственное его преимущество это то, что у него исполнения выявленных независимым цепочек инструкций шедулится отдельно. Влив, в базовом случае - не может исполнять инструкции частично. {add, read}, {mul, mul} - вот влив не может выполнить add + после этого начать выполнять mul из второй "широкой команды", пока read не выполнился.

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

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

Здесь единственная проблема в том, что у влива частоты меньше, ну в текущих реализациях. Поэтому он будет сливать. Но это не такая большая проблема. Это проблема сейчас, когда много дерьма и оно упирается в частоту одного/нескольких ядер.

При этом высокая частота - это горячо. Её нет ни на мобилках, ни на тех же консолях, если мы говорим про игры. Ни на тех же серверах. У интела на жирных хеонах частота 3ггц и нормально.

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

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

Если попроще. Влив не особо хуже суперскаляра даже, если исполняет дерьмо. написанно под суперскаляр теми, кто хлебал это дерьмо 30-40 лет. Но потенциал у него куда выше. Он бесконечен. Там ещё нормальный рисковый суперскаляр с нормальным компилятором может ещё эволюционировать, но не долго.

А если очень будет нужно - нет проблемы запилить пару ядер во влив суперскалярные. Там, на самом деле, много ненужно. Для лапши хватит.

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

А по поводу самого влив. Влив - это будущие. Миф о том, что х86 и суперскаляр может что-то там без компилятора - это полнейшая чушь. Ничего он не может.

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

Тот же итаник никаким вливом не являлся. Это был огрызок. Это такой микс. Сдох он не потому, что влив, а потому что а) интелу ненужна конкуренция с самим собою, б) развитие той школы, которая нужна вливу - ненужна интелу.

Допустим интел до сих пор сидит на х86, хотя этот мусорное дерьмо. Но интелу это выгодно. Много бабла вложено в него и заменив его на что-то он потеряет весомую часть конкурентного преимущества.

Допустим, хороший пример это нвидия. Вот выгодно ли нвидии заниматься пониманием темы тех, кто пишет на той же куде? Нет. Зачем. Бизнес-модель нвидии - это продажа блобов/поддержки. Там до сих пор каждый первый уверен, что есть какие-то куда-ядра. Хотя эту херню нвидия просто придумала, чтобы вчерашние скалярные говноделы смогли хоть как-то понять разницу между х86 и видяхой.

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

Вот многие орут про видяшки, про "цпу говно". Но на самом деле основная производительность(если это не какой-то нвидия-блоб) в их коде это то, что там изначально выбрана более адекватная модель. И пиши он так же под суперскаляр - его код бы работала на порядок быстрее.

Со всеми этими ветками и прочими куллстори про "рантайм" - практически всегда это чушь. Там есть и то обстоятельство, что никто не понимает что вообще такое "предсказатель переходов" и суперскалярность вообще. В связи с этим всё это наделяется какими-то чуда-свойствами. Так же люди не понимают, что 90% того, что есть в их коде - это обусловлено их плохим пониманием и таким же уровнем качества кода. Просто людей учиили так писатаь.

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

Я, возможно, напишу об этом статью когда-нибудь. Но в целом влив - это будущие. Как и влив-подходы. Другое дело, что нельзя взять и оставить всё как есть, взять влив и что-то там догонять. Это просто проблема сорвеменного эльбруса, той конторы, что его разрабатывает. Но не влива.

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

Как же нелепо. Просто съехал с темы. Типичная тактика сектанта - я уже каждого поймал на этом.

В данном случае всё происходит по тому же сценарию. Берётся выдерается кусок моей фразы, а далее начинается балабольство "я не минусовал". При этом как будто бы я утверждал, что данный персонаж что-то минусовал. Да и минусы можно отменить, насколько я знаю.

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

Какой вообще смысл в этой болтовне про минусы? Данный персонаж разве где-то против минусов был? Нет. Он спокойно прибегает, рассказывает "он ничего не понимает" и прочую чушь. Если бы он был против минусов(ах да, не самих минусов, а целенаправленного загаживания).

Ах ну и да. Этот сектант прибежал и начал рассказывать "он ничего не понимает - он лох". Ему это делать можно. Низшие касты сектантов - тут же побежали плюсовать и гадить мне.

Остальное обсуждать бессмысленно, потому что опять везде у вас какие-то сектанты, балаболы и методички.

Вообще какие-то доказательства после этого бесмысленно. Здесь риторика типичного сектанта с синдромом бога, где он - есть мир, а мир есть он и его секта.

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

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

Ну и рассуждения про "забудлежения" типичная херня. Типичный мейнстримный балабол, который не состоялся qt/си с классами джуном и бегает везде и всюду и пытается через облизывание маргинальной херни набрать очки. Конкурировать с лучшими сложно, поэтому всегда хочется побежать в какой-нибудь хаскель, где обитает всякая студентота и прочие неудачники. Авось там кто заметит. И вот ты уже не на побегушках на какой-то цпп-галере, а имеешь шанс на заметить.

Уровень познаний этого персонажа можно посмотреть в комментах под его клоунадой. Допустим там, где он в очередной раз побежал цпп, потом опозорился, начал мазаться и до сих пор не смог родить атомики.

Подобные персонажи живут за счёт того, что коменты никто не читает. Поэтолму нести можно какую угодно херню.

При этом на хабре часто выпиливается этот позор. Множество моих комментов было выпилено. Всякие позорные темы(типа rust vs swift) авторы выпиливают вместо с собою. А там такое позорище было. Жалко, что вебархив сохранил только начала позора. Но кому интересно может поискать. там и начала достаточно.

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

Кстати, сектанты не палятся. Многие люди не понимают, когда я пишу "да это просто клоуны, обужиенные, которых я не раз глушил - они просто бегают и гадят". Им непонятно как так.

Они обычно шлангуют и несут херню видя "да мы тебя не знаем - мы просто минусуем за что-то". В этот раз они охренели совсем и решили забить на конспирацию.

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

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

Боже, какая нелепая клоунада. Данный пропагандист просто раскрыл мусорный макрос руками.

#[derive(std::fmt::Debug)]
pub enum MyError {
    IoError(std::io::Error),
    NixError(nix::Error),
}

impl From<nix::Error> for MyError {
    fn from (x: nix::Error) -> Self {
        MyError::NixError(x)
    }
}

impl From<std::io::Error> for MyError {
    fn from (x: std::io::Error) -> Self {
        MyError::IoError(x)
    }
}

Эти мусорные костыли то, о чём я говорил и что генерирует макрос. Правда это убожество бездарное в сравнение с макросами, но хоть что-то.

Очевидно, что без этого дерьма оно не работает. Что было мною доказано. Кому интересно - я выше там давал ссылку, где я более подробно разбирал всю эту чушь этих клоунов.

Ладно, мне максимально лень раз в час что-то отвечать в этой помойке.

Вот, здесь тоже такое же враньё и прпоагандистская херня.

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

Здесь пропагандист мусорной скриптухи подменяет тезис. Я говорил именно о ?, а не какой-то макросне. Эта макросня пишется и на сишке. И да, макросня не является языком. И не является языковыми возможностями.

Далее типичная история пропагандиста, который пытается делать вид, что я чего-то не знаю. Я поищу пруфы. https://habr.com/ru/company/yandex/blog/580880/comments/#comment_23564896 - вот пруф.

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

А оператор? — это не столько костыль, сколько сокращение для часто используемой операции.

Нет, это именно костыль. И говорял я именно о нём, а не о чём-то другое. Поэтому данный пропагандист идёт и показывает реализацию ? на скриптухе. Не `if(expr = err) return expr.err` в макросе, а ?

Типичная клоунада, показываю мат в один ход.

Ну вот у меня в моём коде нечто подобное как раз написано. Первая функция возвращает std::io::Error, вторая — nix::Error. И, представляете, оно работает! Ничего не сломалось!

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

Этот ответ полнейшая чушь, потому как это не работает. На что расчитывает данный пропагандист? Правильно, на то что никто не прочитает. Что он выдернет кусок фразы и будет спорить, но проблема в том, что я нигде не говорил, что оно НЕ РАБОТАЕТ вообще. Я говорил о том, что оно не работает с заявляемыми качествами и не работает без костылей.

Покажу как выглядит этот тезис полностью:

Предположим, что у нас есть две функции. Онда из первой библиотеки, а другая из второй. Как результат нельзя будет напсать {first::f()?; second::f()?;} - код сломается. Там есть страшные костыли на макросне, но в реальном коде просто будет box dyn err. А здесь уже проще написать исключения.

Т.е. я сказал, что там есть и box dyn err костыли, и что есть такие же на макросне. Как же удобно быть пропагандистом этой мусорной скриптухи, когда ты можешь врать, пастить куски фраз. И убогие тебя будут плюсовать, а меня минусовать.

А теперь смотри на то, как данный пропагадист потеряется. Теперь он покажет "работает" без макросни и без dyn err, т.е. любой потери типовой информации.

Ну и да, пусть этот пропагандист объяснит почему же он спастил обрывок фразы и куда потерялось дополнение?

Это никак не решить. Там слишком сильно. Правда непонятно почему это критика статических исключений. Это критика того мусора, которы пытаются выдать за них. И попытка защититься от всякой скриптуха-пропаганды на тему "исключения говно".


Никаких возражений именно на тему статических исключений там нет. Просто статический исключения - это развитие обычных, их оптимизация. Без ущерба фунrциональности(как любит делать скрипту-пропаганда. Выдавая какой-то дырявый мусор за решение проблемы. Типа result,БЧ и прочий мусор).


А именно что статический исключения на текущем уровне развития C++ невозможно. В массе своей этот набор дырявых костылей поверх си.


Я как раз рассказывал о том, что rtti тормозной мусор именно из-за линковки и прочей сишной атрибутики. Оказывается всё это уже обсуждается, а на меня смотрели с круглыми глазами.


Кому интересно я повторю. Из-за того, что у нас любой T является открытым типом мы никак не можем реализовать нормально rtti, только через строки. Т.е. сами типы в рантайме и их сравнение - это километры строк и их сравнение. В языках с vm мы можем просто заменить всё это на, условно, int. Потому что вм управляет всеми типами существующими в языке.


Аналогично это можно сделать и на C++ сейчас. Если выпилить мусорную линковку, которая итак не работает в С++ сейчас, поэтому все библиотеки являются ho, а всё остальное - си с классами. И сказать компилятору, что другого кода нет(аля -fwhole-program). Тем самым закроются все типы.


Таким образом любой тип - это int, а любое сравнение - сравнение интов. Аналогично можно буду работать что-то типа `any{}.visit([](auto && x) {});`


Особенно с этим не будет никаких проблем в ембедед, где это сделать элементарно(о чём автор и пишет). Но адепты хотят ныть, рассказывать враньё про rtti и исключения, вместо осознания и понимания проблем.



Так же здесь не будут работать всё эти сказки про "а как же большие программы". Такие же истории были про lto, ведь этот костыль(lto) решает ту же проблему. Без проблемы сделали после сделали "параллельное" лто. Тоже самое можно сделать на уровне компилятора. И это не такая уж большая проблема.


По-сути сейчас любая ide решает ту же проблему - как парсить куски исходника отдельно? Обычно это не доходит дальше хедеров, но здесь просто в тему не вкладываются.


В любом случае это нужно сделать и никак далее с линковкой С++ жить не сможет. Либы будут всё сложнее и компиляция будет длится вечно уже на текущем этапе и на хеловоролде.


Даже в рамках микса С++ и си с классами линковка несостоятельна. Потому как результате С++-код разбираться и компилируется десятки, сотни раз. И здесь не могут всякие pch, потому основное время часто занимает инстанцирование и кодогенерация, а не парсинг как таковой.


Поэтому любая раздельная сборка ~95% времени собирает одно и тоже, а не ваш код. Это пытались как-то чинить всякими костылями типа jumbo/unity билдов.


В том же си практически любую программу можно перевести на ho и никаких проблем не будет. Но этим никто не занимается. Люди сами себе создают себе проблемы, своими привычками и невежеством, а потом хаят язык/фиче. Ведь проблему всегда проще найти везде, но не в себе.



lto - это вообще диверсия всякого скама типа раста. Когда ресурсы людские тратятся на "вроде как" универсальные решения. И люди верят этом, но это не так. Это просто рождает всякий скам, который способствует деградации области. lto нужен всяким скриптухам с низким уровнем человеческого капитала. Какая разница что там у убогих? Которые, к тому же, прибегают тебе в комменты и гадят?


Решение это проблемы на уровне языка - открывает множество возможностей, делает ненужным всякие костыли типа lto. И это большая проблема на самом деле. И она везде.



У нас есть, условно, умный и глупый. И вместо того, чтобы поддерживать умного и призывать/способствовать развитию глупого - все всеми силами пытаются глушить умных. Шаблоны? Зачем шаблоны - запретить нахрен. Ведь я их не понимаю, поэтому сжечь - сжечь их, сжечь этих ведьм. Невежество правит миром.


Другие не могут? У других нет возможностей? Мы должны быть такие же. нам ненужно. Не выделяйся. Это то, что нужно понять. Лучше всегда можно свести к худшему, но не наоборот.


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


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



Что теряют адепты си с классами? Ничего. Они ничего не теряют. Им никто не запрещает не использовать все старые возможности. Но при этом другие получают возможности, которые нужны всем.


Поэтому потворство этим персонажам и сами эти персонажи - это враги, это угнетали. Они угнетаю наше желание, желание развиваться. Желание развивать язык. При этом у них никто ничего не забирает. Никто их не обижает.


Но почему же они недовольны? Я уже сказал, но они не скажут. Они недовольны именно тем, что завтра они потеряют работу. Потому что они уже не могут говорить "мы знаем С++", "мы и С++ - это целое", "мы - представляем С++". Тот, кто их нанимает будет видеть, будет видеть код на новом языке. Код лучше, код чище, код проще. Код людей, которые желают развиваться. И эти люди поймут, что их обманывали. Поймут, что нужно выкинуть баласт. Это их страх.


Поэтому они пытаются загнать нас в это болото. Чтобы у нас ничего не было. Чтобы мы барахтались в этом дерьме и бились, бились с ними на фронте этого невежества. Бились по их правилам.



Поэтому лучше всегда сделать вначале мощнее, фичастее, а потом уже ограничивать для определённых групп. Потому как ограничить всегда можно, а расширить нет. Очень хороший пример - это tcp-убожество. Людей действительно защищают этот мусор, который во всём хуже. Вместо того, чтобы на уровне транспорта оставить то, что даёт максимальную свободу. Оставить просто пересылку данных. А уже поверх этого строить то, что нужно.


И доводы там такие же "ой, наше сокет-дерьмо тормозит, потому что наше ядро, api, подходы и прочее - дерьмо". Но это не проблема. Это проблема того, что изначально был выбран мусор в качестве базы, а после все было заточена на него. Поэтому будут боль перехода, но эта боль - это не проблема нового. Этого проблема старого.



Такая же ситуация с теми, кто хочет повесить на остальных своё дерьмо. Допустим, у тебя есть легаси мусор. Ты не хочешь его обновлять? Ты не хочешь в него вкладываться. Какое решение? Сиди на старом компиляторе. Но эти воры хотят украсть у вас, хотят на вас повесить поддержку своего дерьма.


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


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


Это защищает мусор от конкуренции. Почему они всегда орут "пиши на дерьме", "пиши дерьмо", "пиши как в 98". Потому что они хотят, чтобы вы были в том же болоте, что и они, повторюсь. Чтобы они могли взять ваш код, чтобы за поддержку их мусора для вашего кода заплатили ВЫ, а не ОНИ.



Нужно думать шире. Ненужно уподобляться всякому растоскаму, который обмазывается сахаром и костылями, затыкая дыры. Который локализует проблемы, локализует потому, что адепты мыслят узко.


Допустим, они пытаются на генериках делать компилтайм и nttp - это невозможно. Но они будут в это верить и будут пытаться. Как раньше они все рассказывали про "инстанцирование - это мусор". И потом через 10 лет они, возможно, дойдут до проблемы.



Такая же проблема есть и у С++, когда "проблемы" пытаются решить всякими костылями игнорируя то, почему "плохо" работает "плохо" и плохо ли вообще. Об этом написано в тех возражениях - можно почитать.


Конечно - это, отчасти, вызвано бюрократической машиной С++, когда если ты будешь для решения проблемы проталкивать глобальные изменения. Когда чтобы изменить исключения - нужно будет жрать 20 лет. Поэтому каждый пытается побыстрее пропихнуть свою хотелку и "будь что будет".



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


Я когда-то приводил простой пример. Если мы заменим функции в С++ на нормальный, то эти функции могут, в том числе, эмулировать старое сишное поведение. И пусть там любители нырять в дерьмо в него ныряют, но мы не будем.


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


Аналогично нельзя альтернативу. Всегда хлебай дерьмо. Альтернативные исключения? Хрен. Альтенативные функции? Хрен. Альтернативное хоть что-то? Хрен. С этим живи. Всегда. Это цпп.



Напишу просто предложение, которое поможет многим людям. Да и реализуется оно достаточно просто. Сейчам мы можем передавать в asm только литералы строковые. Передать же туда constexpr-строку мы не можем. Нужно расширить asm, чтобы он мог принимать constexpr-строки.

Тогда можно будет писать кодогенерацию в комплейтайме напрямую.

Уже группая поддержки подключилась и гадят. Прибежал проповедовать. Все ответы - пустые лозунги и игнорирование доводов оппонента. Ещё у них там на всех разум коллективный, поэтому любое "фи" в адрес пропагандиста, либо обожаемой им скриптухи - сразу набегают и гадят.

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

Обычно они настолько приисполняются, что начинают тупо повторять то, что уже сказано оппонентов. Пишешь "ссылка одна" и тебе начинается "а вот в расте ссылка то одна, а ты не знал". Во-первых я знал, потому что это очевидная херня. Во-вторых я это же написал выше.

Так, уже группая поддержки, которую пропагандисты собирают по всяким чатам, начинает гадить в карму. Фиксирую. На начала моих ответов было -3/4.

Сейчас начнутся сказки, что они минусуют меня за то, что называю их пропагандистами. Придут всякие "я случайно проходит"-персонажи.

Фиксирую сразу. Гадить начали с первого же поста, в том числе в карму. Пропагандисты были уже после.

Фиксирую набег какого-то бота. Нагадил в карму и минуснул все комменты, которые были на тот момент написаны. В том числе и коммент:

Это обёртка над тем, что уже тысячи лет в нормальных компиляторах, а именно __builtin_unreachable

Этот, т.е. здесь попросту нет ничего за что минусовать. Но боту плохую подготовку получил и ещё не научился минусовать без такого явного палева.

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

Меня так удивляют пропагандисты, которые начинают с трансляции дефолтной методички, которуя в своём комменте разобрал.

Никакого вывода типа возврата в лямбдах нет, потому как лямбда не полиморфна. Тип там выводится костылём, код лямбды просто посдтавляется в контекст использования.

Бредни про "для человеком" мне даже комментировать лень. Потому что сигнатуры в расте сделаны именно что для компилятора, потому что вывода типов нет, полиморфиная модель убогая и прочее. Поэтому все эти костыли пишутся руками и уж никаким образом не для человека.

И, опять же, в данном случае пропаганда нам не сообщет о том - почему вдруг в лямбде сигнатура ненужна, а в функции нужна.

Ваш последний пример... Во что он должен скомпилироваться для id(1u8) и для id(1.0f64)?
Код-то разный. А полиморфизм должен явно задаваться, потому что если у
вас компилятор за вас будет подсовывать полиморфизм там, где вы не
ожидаете, то у вас опять получится как Си только с полиморфизмом. "Надо
было думать что пишешь".

Чего? Какие-то совсем жидкие оправдания. Лямбда так же может быть полиморфна, если она находится в другом контексте. И никаким образом явно это не задаётся.

Да и я могу просто передать в лямбду &dyn trash и всё там будет вызываться.

Поэтому все эти разговоры - оправдания, поэтому они такие дырявые. Если нужно явно, то почему void проставляется неявно? Либо лайфтаймы? А почему async-костыли на 99% состоят из неявно и там в сигнатурах совершенно не то, что в реальности? Почему into и прочее - это уже не плохо и не "неявно"?

Ах да - это другое. Всё что не можем - то неянво плохое. А как только получается родить какой костыль, то неявно уже не проблема.

Вы немного неправильно понимаете ownership в Rust. Иммутабельность всего в Rust - это дефолт. Вы написали let x: u32 = 4, и x - не мутабельное. Пока вы явно не скажите mut. Поскольку программисты - существа ленивые, они не будут писать mut пока он им не потребуется. Благодаря этому у вас в коде будет минимальное количество mut'ов.

К чему эта мантра? Как она связана с тем, что писал я?

А ещё mut по-умолчанию эксклюзивный. Работать с объектом,
который "ёщё где-то меняется" очень сложно, настолько сложно, что редкая
птица долетит до середины списка CVE.

К чему эти мантры? Никакого "не-умолчания нет" и к чему эта клоуна с попыткой делать вид, что я чего-то не понимаю и мне что-то объясняют? Я знаю как это работает.

Если кто-то меняет объект, до
момента окончания изменений никто с ним работать не может, и, наоборот,
если кто-то объект читает, никто в него писать не может.

Зачем, опять же, эта нелепая попытка мне что-то объяснять, когда а) я это знаю, б) я об этом сообщил выше?

Да и никакого "момента изменения" нет. Это всё костыли накостыленные ансейф-хаками и обёрнутые во всякие фокусы. Какое отношение это имеет к делу?

Это энфорсится
бесплатно.

Враньё. Никакого бесплатно нет, есть тысячи костылей с ручной проставкой лафтаймов и тысячей ансейфов даже в примитивной stdlib. Не говоря о том, что лайфатаймы дырявые и будут дырявыми всегда. Пример тот же фейкстатик.

Сейчас мы услышил типичные опрадвания, что дыры не дыры, баги не баги.

Но это дефолт. Если вы такой умный буратина, то вы можете
взять Atomic и написать код с шаренным доступом к памяти. loom вам даже
может подсунуть херни в рамках выбранной вами модели памяти, и вы
сможете оценить разницу между Relaxed и SeqCon.

Атомики на расте не выразимы. Это ансейф-хаки, которые не может работать нормально и не работают. К тому же, зачем мне брать атомики, если мне ненужны атомики?

К тому же какие модели памяти и прочие куллстори, если в расте нет никакой модели памяти - это набор костылей поверех си/ллвм-моделей. Что я там могу узнать?

Information

Rating
Does not participate
Registered
Activity