Компании Intel и AMD совместно развивают расширенный набор инструкций ChkTag (x86 Memory Tagging), который будет стандартизирован для унифицированной реализации в x86-процессорах различных производителей. По своим возможностям ChkTag напоминает расширение MTE (MemTag), уже поставляемое в процессорах ARM, и также позволяет блокировать эксплуатацию уязвимостей, вызванных обращением к уже освобождённым блокам памяти, переполнением буфера или обращением к памяти до инициализации...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64091
> позволяет блокировать эксплуатацию уязвимостей, вызванных
> обращением к уже освобождённым блокам памяти, переполнением
> буфера или обращением к памяти до инициализации.М... т.е. c сишными дырами решили бороться прям на уровне железа?
Неужели все НАСТОЛЬКО плохо?
>Неужели все НАСТОЛЬКО плохо?Да, сишники реально не обучаемые, а переписывать весь софт никаких сил не хватит.
но для использования этих инструкций надо будет переписывать код.. хтя в некоторых случаях умный компилятор может сам нагенерить нужный код наверное..
Эм, нет. Если они будут аналогичны ARM MTE, то для динамической памяти достаточно будет поддержки со стороны аллокатора (см. hardened_malloc и GrapheneOS). Для защиты стека нужно будет собирать со определёнными флагами компилятора.
> Да, сишники реально не обучаемые, а переписывать весь софт никаких сил не хватит.Т.е. все гранты Rust можно уже сворачивать. PROFIT!
Самый разумный подход. А то у ассемблера нет чекера боровов.
> Самый разумный подход.Ага, очень разумно тратить на каждые 16 байт еще полбайта. Вместо того, чтобы перенести проверки на этап компиляции, мы увеличим расход оперативы.
Не, ну понятно что новые сервера и оператива сами себя не продадут.
Там же написано, верхние 4 бита адреса, которые из 64 бит один фиг ни одно приложение и пк не адресует. Хорошо если 50 бит сейчас самые крутые процы могут использовать для адресации.
3% дополнительного потребления ОЗУ, чтобы избавиться от большого класса уязвимостей, найдётся у всех. Памяти даже на ноутбука современных, стыдно сказать, 32ГБ. При том, что приложения слабо отличаются по функционалу от тех, что работали на моём 486DX4-100 с 4МБ оперативы.
Ну и к тому же эти инструкции наверняка будут добавляться компиляторами только при взведении соответствующего флажка. Самоуверенные разработчики могут не пользоваться. Или не включать флажок для релизных сборок.
>> Самый разумный подход.
> Ага, очень разумно тратить на каждые 16 байт еще полбайта.Так эти байты - прямо в указателе вкодированы, в верхушке адреса. Это не есть новая аллокация. Сюрприз!
> Самый разумный подход. А то у ассемблера нет чекера боровов.Самый глупый подход - переносить в рантайм те проверки, которые можно делать на этапе компиляции.
Ну проверь в ассемблерном коде на этапе компиляции, удачи.
> Ну проверь в ассемблерном коде на этапе компиляции, удачи.Зачем? Может нужно просто генерить валидный ассемблерный код, а не всякий булщит?
А "генератор" можно и протестить хорошо, и даже формально доказать при наличии нужного кол-ва денег и времени. В отличие от миллионов строк сишного овнокода.
Может сами ассемблерные команды должны быть безопасны на уровне железа? Тебе никто не гарантирует что боров всё проверит и никто не гарантирует защиту что компилятор специально недосмотрит там где эти нужно Анб.
>Может сами ассемблерные команды должны быть безопасны на уровне железа?А о чём, по-вашему, вот эта инициатива, которая в новости? Похоже, вы начали о чем-то догадываться.
> Ну проверь в ассемблерном коде на этапе компиляции, удачи.Ты не поверишь, но борроу чекер так и делает :) Только не "в" ассемблерном коде (это, извини, бред какой-то), а перед его генерацией.
> Ты не поверишь, но борроу чекер так и делает :) Только не
> "в" ассемблерном коде (это, извини, бред какой-то), а перед его генерацией.Однако вон там есть немало unsafe кода, а вызовы asm вставок, вещей на C и проч unsafe - by design и следующие полвека это все явно будет с нами. Так что спасителя человечества из борова не получилось. Так, шашлычок на пикнике корпов.
> Однако вон там есть немало unsafe кода, а вызовы asm вставок, вещей на C и проч unsafe - by designНу так именно для этого "unsafe by design" и создают костыли типа сабжа.
> вещей на C [...] следующие полвека это все явно будет с нами
> Так что спасителя человечества из борова не получилосьХочешь сказать, что ложечка Сишки портит бочку Раста? Я думал, ты против Раста воюешь, а тут такой поворот...
> Ну так именно для этого "unsafe by design" и создают костыли типа сабжа.И отлично: не придется писать на птичьих языках не от мира сего, бороться с боровами и чрезмерной типизацией и убивать массу времени при компиле на пруфинг. В железе вон то - фактически бесплатное: компараторы на несколько битов - в делеще по сути ничего не стоят, работают в реалтайме, и свойства чипа не ухучшают.
> Хочешь сказать, что ложечка Сишки портит бочку Раста? Я думал, ты против
> Раста воюешь, а тут такой поворот...Хочу сказать что софта на сишке дохрена - и в ближайших полвека он явно никуда не денется. Потому что вопить на форуме одно, а писать софт - несколько другое.
А успех всяких фуксий и редоксов, затонарасте и прочих го - ну и кому оно такое?
> Хочу сказать что софта на сишке дохрена - и в ближайших полвека он явно никуда не денется.Ахаха, полвека) Какие милые фантазии сишника.
Сишке как инструменту осталось не больше двух лет, дальше только как музейный экспонат.
Запомните этот твит.
> Ахаха, полвека) Какие милые фантазии сишника.Возьметесь переписать нечто с Linux Kernel размером быстрее чем это? Не, много денег никто не даст - все жадные, и вообще, в экономике душняк намечается. А это только 1 из примеров. А еще более 9000 либ всех мастей и направлений. Фирмвары, бутлоадеры. Их зиллионы. Люди писали код более полувека. Логично что переписывать придется сравнимо. Не, никто не выбросит работающий код только потому что вы так сказали. И денег дофига за переделку того что работает - не насыпят. Вот по этой одежке - и растягивайте свои ножки.
А на ваших брейнфаках даже ничего сравнимого с апачом обычным - нет. Но вы можете показать мастеркласс как вы его такого подвинете с пьедестала. Заодно с нжинксом.
> Сишке как инструменту осталось не больше двух лет,
...после переезда столицы в нью-васюки. Черт, автомотивщики какие - за пару лет даже просто сертификации и стандарты на safety critical не родят. Даже если б Rust сам смог устаканиться и как-то более вменяемо девелопаться. А остальных там вообще при вашей жизни не будет, вероятно. И конечно они не выбросят 100500 проверенных, сертифицированных и проч кодоовых баз. И 100500 денег вбухивать в переделку с ноля не будут. Потому что жаба страшный зверь.
> дальше только как музейный экспонат.
А столица переедет в нью-васюки. Однозначно.
> Запомните этот твит.
Ишь расчирикался. Твиттер уж давно сдох и X называется.
>Заодно с нжинксомДык, это, уже. С разморозкой вас. Смотреть в сторону Клаудфлэрного прокси (Pingora). Он и быстрее получился в итоге. Так и с остальным софтом произойдёт со временем. Вон, вместо grep - ripgrep, вместо vim - zed, и так далее. Да и на замену Апача много уже веб-серверов написано.
> Дык, это, уже. С разморозкой вас. Смотреть в сторону Клаудфлэрного прокси (Pingora).Эта "фидора" мягко говоря не эквивалент nginx который здорово больше чем только прокси. Поэтому nginx я вижу на дохрена хостов. А эту "фидору" только клаудфлар и юзает как таковой. Больше ни у кого в диком виде ЭТО не попадалось вообще.
> Он и быстрее получился в итоге. Так и с остальным софтом
> произойдёт со временем.Странно что в статистике netcraft и прочих nginx и апач почему-то никуда не собираются деваться. Ну то-есть примерно как с фуксией все - 1 корпа сделала некую байду, только себе и нужную. Остальные успешно на нее забили болт.
> Вон, вместо grep - ripgrep, вместо vim - zed, и так далее.
Угу, еще примеры какой-то пакости для наиболее утонченных из первертов.
> Да и на замену Апача много уже веб-серверов написано.
Отсталось еще об успехе захвата мира рассказать сервисам статистики, а то они почему-то не в курсе и там все аналогично с фуксией и парой фоторамок.
Хотя вон там какая-то убер либа на расте. Зато уже с CVE. Аж миллионы загрузок. При том КМК 99% оных это какие-то боты, CI качающие эту пакость на каждый комит и прочий интернет-спам, примерно то от чего владельцы git'ов воют, баня таких ботов пачками.
>Больше ни у кого в диком виде ЭТО не попадалось вообще.Хорошо бы статистику от стороннего источника. А так голословненько получается. Pingora быстрее? Да, быстрее, был отчёт от Клаудфлэр. Сколько-сколько пользователей эта фирма обслуживает? ЕМНИП, около четверти Интернета? А сколько ваши знакомые? Полтора землекопа?
>Странно что в статистике netcraft и прочих nginx и апач почему-то никуда не собираются деваться
>Отсталось еще об успехе захвата мира рассказать сервисам статистикиНичего странного. Про инертность мышления слышали? Вот это оно. Люди привыкли к чему-то. Но это не означает, что нет ничего лучше. Просто должно пройти какое-то время.
>Угу, еще примеры какой-то пакости для наиболее утонченных из первертов.
По существу сказать нечего?
> Ты не поверишь, но борроу чекер так и делает :)борроу чекер делает, но относительно простых сценариях. На чуть более сложных начинается Arc/RC и Clone() - и фактически программирования на Яве, только подсчетом ссылок а не mark/sweep. Для unsafe у rust есть вариант инструментарии с miri, который как я смутно помню работает как-то похоже с тем что делает intel/amd - помечает указатели или области памяти и таким образом отлавливает UB в unsafe. Я думаю что и для rust программ использующих unsafe будут свои бенефиты от аппаратной поддержки.
На расте кстати постоянные проверки на этапе рантайма. Все обращения по индексу, RefCell, необходимость использовать Arc/Rc потому как за сырой поинтер тебе посоны предъявят - в результате код получается в целом более медленный чем корректный код на C/C++. Но зато safe.
>На расте кстати постоянные проверки на этапе рантайма.Некоторые можно отключить на этапе компиляции, другие, если надо для производительности, обойти.
>чем корректный код на C/C++
Это ещё доказать надо, что он корректный. И мамой поклясться для этого недостаточно.
> Некоторые можно отключить на этапе компиляции, другие, если надо для производительности, обойти.Не понял что можно отключить на этапе компиляции? Все что я перечислял отключить нельзя.
>в результате код получается в целом более медленный чем корректный код на C/C++А вы откуда знаете, что он корректный?
> А вы откуда знаете, что он корректный?Ну ты же как-то смог запостить мне свой вопрос через браузер и сетевой стек написанный на C/C++, достаточно корректный для того чтобы ты смог это сделать.
> М... т.е. c сишными дырами решили бороться прям на уровне железа?
> Неужели все НАСТОЛЬКО плохо?Ну да, настолько. Только вот сишечку сдесь обижать не принято, поэтому местные ее защитники сейчас, как всегда, наставят тебе минусов, но по существу ничего возразить не смогут.
> Ну да, настолько. Только вот сишечку сдесь обижать не принято, поэтому местные
> ее защитники сейчас, как всегда, наставят тебе минусов, но по существу
> ничего возразить не смогут.Без этой сишечки - у вас компьютер работать элементарно не будет. Совсем. Никак. На всех уровнях, от фирмвари накопителя и начальной загрузки и прочих ядер до кучи либ, апликух, серверного софта и проч.
> Без этой сишечки - у вас компьютер работать элементарно не будет.Ну, и? Это как-то опровергает утверждение, что с Сишкой все "НАСТОЛЬКО плохо"? Или вы в порыве праведного гнева (Сишечку обижают!) забыли тему обсуждения?
> Ну, и? Это как-то опровергает утверждение, что с Сишкой все "НАСТОЛЬКО плохо"?
> Или вы в порыве праведного гнева (Сишечку обижают!) забыли тему обсуждения?Я лишь констатирую что критиканы забыли - сделать что-нибудь лучше. Поэтому есть то что есть. И либо кушайте что дали либо идите нафиг и делайте сами, лучше.
> Я лишь констатирую что критиканы забыли - сделать что-нибудь лучше.Во-первых, ты изначально не говорил ничего о "сделать лучше" - ты зачем-то начал петь о "без сишечки ничего не будет работать", которое к теме никакого отношения не имеет.
Во-вторых, лучше уже сделано: и языки нормальные изобретены, и новый софт лет 25 как минимум на сишке не пишется.
>Во-первых, ты изначально не говорил ничего о "сделать лучше" - ты зачем-то начал петь о "без сишечки ничего не будет работать"Аргументы закончились, а признавать поражение не хочется.
> Во-первых, ты изначально не говорил ничего о "сделать лучше" - ты зачем-то
> начал петь о "без сишечки ничего не будет работать", которое к
> теме никакого отношения не имеет.А таки - без сишки вы даже просто пискнуть на этот форум не сможете. На более чем 9000 уровнях, от сервисных фирмварей и системного bios/uefi до кучи сишного кода в вашей ос, либах и софте который необходим чтобы до опеннета вообще эти пакеты дошли, в виде катящем как комент.
Но вы можете удивить меня и поюзать редокс какой-нибудь с сервой. Однако что-то я сомневаюсь что вы готовы на такие фортели за идею. Так что оба сдохнут как очередное ненужно.
И вообще - девелоп сервы это просто EPIC WIN... в номинации EPIC FAILов. Уж и тиму уволили, и мозилла на ладан дышит, а эта шляпа, ради которой Rust изначально затевался - до сих пор толком ни на что не годится. И уж конечно не спасет мозиллу ни от чего уже. Я уж забыл сколько лет эту шляпу девелопают то - а оно до сих пор дохлое. Прямо success story из топ10.
> Во-вторых, лучше уже сделано: и языки нормальные изобретены, и новый софт лет
> 25 как минимум на сишке не пишется.Ога, наверное -rc2 очередного линухкернела был моим глюком....
>Но вы можете удивить меня и поюзать редокс какой-нибудь с сервой.Ну и? Во-первых вы никак не проверите, через что отправлен комментарий. Во-вторых, вы даже если своими глазами увидите это всё равно свою точку зрения не поменяете. А ведь могли бы сами загрузить его в виртуалку и написать, тогда бы и доказывать никому ничего не пришлось.
>Ога, наверное -rc2 очередного линухкернела был моим глюком....У си остались считанные проценты. От того, сколько этих процентов ничего не меняется.
> Ну и? Во-первых вы никак не проверите, через что отправлен комментарий.Вы можете запостить пруфскрин, вот прям с ответом на комент, допустим. Конечно вы можете попытаться это подделать. Но это канительно. И скорее всего - будет заметно. Подделывать техническое инфо вообще - сложно.
> Во-вторых, вы даже если своими глазами увидите это всё равно свою точку
> зрения не поменяете.Потому что я знаю что по пути вашего комента были газиллионы сишного кода, от мелких сервисных фирмварей до ядра ос, либ и приложух.
На самом деле одним си обойтись тоже достаточно душно, для полноценного экспериенса с большими приложухами уже скорее C++ будет. Но оно такое было, есть и доказало что в целом может - в full stack, более или менее. В отличие от всех остальных, между прочим.
Единственным pretender'ом на что-то сравнимое с большим натягом можно засчитать Rust. Но на практике...
1) Опеоационки на этом как-то не сложились.
2) Браузерный движок Servo - безблагодатный долгострой, настолько что инициатор действа уволил тиму на мороз.
3) В ядре Linux есть такой же долгострой. И пока потолок успеха это полтора _скелетона_ драйверов GPU, которые не могут - примерно ничего.
4) Все эти rusticl в меса и прочие жалкие мерзкие потуги, где пиара больше чем дел конкретно за...ли ALL и как-то так мир в итоге стал выбирать - Vulkan как апю. И RADV как драйвер от адекватных людей, ога.> А ведь могли бы сами загрузить его в виртуалку и написать,
> тогда бы и доказывать никому ничего не пришлось.1) Зачем мне система работающая только в виртуалочке?
2) И зачем мне тратить время на этот заведомый дохляк?Я со своей стороны считаю что оно обречено сдохнуть а вы будете кушать сишку в разных закоулках еще лет 50.
>>Ога, наверное -rc2 очередного линухкернела был моим глюком....
> У си остались считанные проценты. От того, сколько этих процентов ничего не меняется.Или вы просто не в состоянии разуть глаза и посмотреть вокруг сколько этого си на самом деле везде распихано. И его процентов - на десяток растов хватит. Про совсем академ байду и упоминать неудобно - ее на радарах просто нет.
Как я уже сказал: если допустить что C куда-то денется в 1 день, мир остановится. Машины не заведутся. Компьютер не включится. Промоборудование встанет. Поезд не поедет. Элонмаск запуски Dragon отменит. Если допустить что та академ хрень куда-то денется - кто вообще заметит разницу? И эти люди будут рассказывать нам о том кто и что осилил? Rampant layering violation :)
> 1) Опеоационки на этом как-то не сложились.А Операционки - это в вашем понимании что?
Только ядро или что-то сверху? В винде, например, много С++.
В андроиде с/с++ активно выкидывается на мусорку и заменяют.
ОС писались в древние времена, ясен пень что за день не перепишут, но процесс идет.> 2) Браузерный движок Servo - безблагодатный долгострой, настолько что инициатор действа уволил тиму на мороз.
При этом в фуррифоксе раста 12%, что уже сравнимо с СИшкой.
4e6.github.io/firefox-lang-stats/> 3) В ядре Linux есть такой же долгострой. И пока потолок успеха это полтора _скелетона_ драйверов GPU, которые не могут - примерно ничего.
И Биндер) Подумаешь выкинул 5.5к строк сишного ужаса.
> 4) Все эти rusticl в меса и прочие жалкие мерзкие потуги,Настолько мерзкие что заменяют код на сишке)
> за...ли ALLПриятно видеть, как луддитов корежит.
> И RADV как драйвер от адекватных людей, ога.
Ну так и его перепишем, когда руки дойдут)))
> Я со своей стороны считаю что оно обречено сдохнуть а вы будете кушать сишку в разных закоулках еще лет 50.
Угу, как кобол.
Да где-то оно крутится, но язык мертв.
Думаю если покопаться то можно и на FORTRAN 77 найти либы облепленные прослойками.> Как я уже сказал: если допустить что C куда-то денется в 1 день, мир остановится.
Но си не девется за один день.
Его придется упорно выкорчевывать, как сорняки.> Если допустить что та академ хрень куда-то денется - кто вообще заметит разницу?
Кажется у вас какая-то обидка на академиков. Неужели отчислили?
Если академ штуки пропадут - то у вас все интеловые процессоры перестанут работать.
Подумаешь))> И эти люди будут рассказывать нам о том кто и что осилил?
Ага, будем. Что СИшники не смогли не делать ошибки по памяти уже десятки лет.
Будем тыкать в каждую CVE с выходом за буфер.
Будем рассказывать людям, что твой браузер могут взомать и украсть твои файлы, потому что бракоделы используют кривые инструменты.Во-первых, это весело)
> А Операционки - это в вашем понимании что?Это операционные системы внезапно. Совсем минимальный пакет требований от меня чтобы считаться хоть каким-то подобием ОС - подобие conformance современному POSIX, допустим. Ну не WinAPI же?
Долбаный тасксвичер и какой еще "task specifik kernel" - не оно. А всего лишь узконишевая ультрамаргинальная хтонь для полутора специфичных задач. И уж конечно это не прокатит как General Purpose OS, обслуживающая нужды умников типа вас хотя-бы. Не говоря про всех остальных.
> Только ядро или что-то сверху? В винде, например, много С++.
Не отменяет того факта что без C это добро просто не включится нахрен. А так гугло уже заменяло си и линух на go, rust и Fucshia. Смогло захватить 2 фоторамки аж.
Это - то что все эти програмеры на go и rust могут именно своим ходом, под началом нефиговой мегакорпы, между прочим. Только вот профитов оно не сгенерило за эн лет и гугло решил что платить толпе бесполезнях с хайпом - нафиг надо. Да и децимировал их там нахрен, на манер тимы сервы. Вещать о крутизне и быть крутым - две большие разницы.
> В андроиде с/с++ активно выкидывается на мусорку и заменяют.
А загрузить его без сишки эти заменяльщики смогут годиков через 50. Но это не точно.
> ОС писались в древние времена, ясен пень что за день не перепишут,
> но процесс идет.Ну вон написание сервы идет. Через 10 лет появился какой-то недопилок версии 0.0.1. И это круто, но зачем моему высохшему скелету упал хоть какой-то браузер вообще? Остальные тоже догадываются - так что денег на весь этот булшит никто не даст. Тиму офигенных програмеров прямым текстом ушли на мороз. И с фуксией аналогично.
> При этом в фуррифоксе раста 12%, что уже сравнимо с СИшкой.
> 4e6.github.io/firefox-lang-stats/Осталось уточнить еще что большая часть - C++. А реально...
1) После внедрения раста сборка FF стала совсем брейнфаком, и его разработка по сути сдохла.
2) В нем появились неустранимые memleak и через 2-3 недели работы он стабильно выносил мне виртуалки по OOM.
3) Эти мемлики живут с 40-чего-то версии (или когда там rust внедрили) по сей день.Заодно можно поговорить о качество кода и тулинга от этих господарей, во. Если цаные мемлики за столько лет придушить они не в состонии.
> И Биндер) Подумаешь выкинул 5.5к строк сишного ужаса.
Осталось посмотреть сколько миллионов строк в ядре линуха и посмотреть какой % от этого 5.5к строк вообще являет. Откуда и идея про 50 лет :)
И да, у гугла большая часть кода и софта - ужас независимо от ЯП, если что.
>> 4) Все эти rusticl в меса и прочие жалкие мерзкие потуги,
> Настолько мерзкие что заменяют код на сишке)Насколько я вижу - все настолько проперлись успехом, что аж Vulkan везде пилят чтоб с этим суперкачественным, убер-оптимизированным мега-безопасным ненужно связываться.
> Приятно видеть, как луддитов корежит.
Тогда вы уж и на танец на могилке не обессудьте при случае :)
>> И RADV как драйвер от адекватных людей, ога.
> Ну так и его перепишем, когда руки дойдут)))Для этого надо иметь руки из правильного места. А не как у дряни типа risticl, которые умеют поддержку железа дропать под громкие баззворды, да казать препозорнейший перфоманс операций.
(так что большая часть мира вообще CUDA юзает)> Угу, как кобол.
С той разницей что кобол я не знаю и это мне не мешает. А вот не иметь возможность пропатчить boot sequence моей системы, написать фирмварину или системный софт - это довольно серьезное ограничение так то. И это состояние дел будет еще весьма долго.
> Но си не девется за один день.
> Его придется упорно выкорчевывать, как сорняки.ЧСХ, вы имхо не доживете до момента когда его не станет на хотя-бы вашей системе. Просто предсказание такое.
> Кажется у вас какая-то обидка на академиков. Неужели отчислили?
Не, просто мне не нравятся м...ки от которых мало результата и много пафоса на тему как надо было. Такие же за микроядра еще топили. И конечно пытались грести жар чужими руками. И ессно не выгорело. Пробивать за них стены своим лбом желающих не нашлось и поэтому все популярные системы это монолиты и гибриды. Как-то так совершенно случайно.
Та академщина повторяет историю под чуть иным углом, но мотивчик аналогичный.
> Если академ штуки пропадут - то у вас все интеловые процессоры перестанут работать.
> Подумаешь))Это вы так про MEшный бэкдор чтоли? Вообще-то ME neutering приколен как раз выкидыванием этой "услуги человечеству" на мороз. И гордиться такой "услугой"... эээ потом вы еще удивляетесь почему таких считают за мешок гуано грубо говоря? :)
> Ага, будем. Что СИшники не смогли не делать ошибки по памяти уже десятки лет.
> Будем тыкать в каждую CVE с выходом за буфер.А пока вас потыкали в CVE в коде на расте :)
> Будем рассказывать людям, что твой браузер могут взомать и украсть твои файлы,
> потому что бракоделы используют кривые инструменты.
> Во-первых, это весело)А во вторых - ничего лучше вы все равно предложить не имели. Ну, вон, серву 0.0.1 :D но за такое предложение могут и по репе настучать, кмк, если это в RL удумать. Кстати сколько строк ужаса эта штука из себя являет?
> Ну да, настолько. Только вот сишечку сдесь обижать не принято,Потому что у культурных людей не принято гадить где сидишь. И без этой самой сишки работать у вас не будет - вот просто совсем нифига.
> Потому что у культурных людей не принято гадить где сидишь.Всяк кулик своё болото хвалит?
Речь не про "гадить". Ручное управление памятью приводит к целому классу ошибок, которых можно было бы избежать.
Так что да, нужно что-то менять, иначе так бы и бегали с палками.
> Всяк кулик своё болото хвалит?Вам как кулику гадящему сверху на головы проходящих мимо виднее. И не стоит обижаться на заряд дроби при случае, имхо.
> Речь не про "гадить". Ручное управление памятью приводит к целому классу ошибок,
> которых можно было бы избежать.А еще оно приводит к предсказуемым и эффективным системам. И иногда такой уровень контроля - нужен.
> Так что да, нужно что-то менять, иначе так бы и бегали с палками.
Ух да, надо срочно выкинуть немодный гаечный ключ и утащить у мужиков из сервиса эвона какую крутилку. С компрессором впридачу. Зато можно будет закрутить все винты болты и шурупы в хате за 3 секунды. И даже поменять кому-нибудь колесо на авто. Правда вот зачем мне это все - в моей хате?
>И иногда такой уровень контроля - нужен.Вот ни разу ни один сишник не объяснил мне, зачем ему нужен UB при разыменновывании нулевого указателя. И макросы без гигиены. И куча других сишных сишностей.
> Вот ни разу ни один сишник не объяснил мне, зачем ему нужен
> UB при разыменновывании нулевого указателя.Что-то вам лохи какие-то попадались вместо сишников.
1) Типовая, и наиболее адекватная реакция платформ на null pointer dereference (обращение по адресу 0) - крах. При том не случайный, а целенаправленно подпертый хардварным исключением. Где-то это сделано через MMU. Страница памяти просто защищена от доступа - попытка сунуться в первые N байтов адреса ведет к хардварному исключению - которое юзермоду по типу *nix транслируется как сигнал SIGSEGV или типа того.
ARM настолько это не лю, что прям в железе подпер и даже в МК без MMU кидают крутое хардварное исключение HardFault.
Общего у этой модели исключений то что в хотя в принципе можно попробовать работать и после этого - по умолчанию считается что программа творит какую-то дичь и если это user mode его надо прибить а фирмвар в таких случаях войдет в safe state или сделает рестарт в попытке деглюка. Потому что это явно не работает как должно. И функционально это - антибаг. Типа panic() в Rust, только сурово подпертый хардваром и потому 100% бесплатный по скорости и коду.
2) Но не все платформы созданы равными. У некоторых платформ сишка - есть. А хардварных исключений - нет. Как понятия. Удачи кинуть хардварный эксепшн на Atmel AVR. Этот 8-бит тупень просто не имеет такого понятия. И соответственно платформа чисто технически не может оттрекать такой доступ. А поскольку сишка это про все железо вообще, и никто не долбанется затребовать "MMU" или "модель хардварных исключений" - в стандарт ЖЕСТКО вогнать поведение из 1) все же не того. Не все платформы могут соответствовать таким требованиям.
Наверное правильнее было бы сказать что это implementation defined. Но это в общем то семантика. И да, есть вполне легитимные поводы - ходить по именно конкретным адресам памяти.
> И макросы без гигиены. И куча других сишных сишностей.
Макросы в си и правда довольно дурные. Но Rust тоже например не предел мечтаний. Лучше всех это Zig вообще имхо сделал - не придумывя нихрена и просто сделав возможность посчитать выражения прямо на основном синтаксисе в компилтайм. Это по моему логичнее всего так то. Но остальных на это почему-то не хватило. Так что имеется то что имеется.
>У некоторых платформ сишка - есть. А хардварных исключений - нет.Вы не отвечаете на вопрос "зачем". Можно сразу же разделить указатели на два типа - возможно нулевые и точно не нулевые. Первые запретить разыменновывать, но разрешить приводить ко вторым после проверки. И всё, бага больше нет, сишники и так должны проверять каждый указатель, если он может быть нулевым. Обратите внимание, что здесь нет абсолютно никаких требований ко времени выполнения, всё это остаётся исключительно во времени компиляции. Нечто подобное уже есть в Cyclone и ATS.
>Макросы в си и правда довольно дурные. Но Rust тоже например не предел мечтаний.При чём здесь Rust? Сишники не могут говорить про си не вспоминая про раст постоянно?
>Что-то вам лохи какие-то попадались вместо сишников.Итак, по первому пункту есть какие-то оправдания, но ответа на вопрос "зачем" нет, по второму пункту нет даже оправданий.
>>У некоторых платформ сишка - есть. А хардварных исключений - нет.
> Вы не отвечаете на вопрос "зачем". Можно сразу же разделить указатели на
> два типа - возможно нулевые и точно не нулевые.И как я заранее узнаю при динамической аллокации памяти - удалось оно или нет?
Господа с Rust при попытке в ядор Linux вдруг случайно заметили что для ядра бахнуться в panic() при transient с душняком памяти - очень поганая идея, и Торвальдс весьма понятно объяснил этим гениям где он такое поведение кернела видал.
В ответ гении концепций влепили фееричный костыль try_* на это дело. В итоге родив по сути ту сишную семантику с которой они так героически боролись. Когда потом надо чекать прокатило ли оно. И вот за что спрашивается боролись?...
> Первые запретить разыменновывать, но разрешить приводить ко вторым после проверки.
Это приводит нас к вопросу кто делает проверки и что случается если не прокатило и насколько я вижу - в Rust VS системщина этого откушали и лучшее что они смогли родить это косплей все той же сишной блин логики с try*.
А так изначально - Rust вообще не подразумевал long run с graceful recovery после душняка памяти. Типа retry аллокаций несколько раз как это некоторые СУБД делают в надежде что полегчало - и можно все же не фэйлить вот эту транзакцию с дурной причиной "памяти нет". И это так то достаточно крутой факап "гениев" от системщины.
> И всё, бага больше нет,
Гении системщины, тудыть! Что значит - бага нет? Память в конкретный момент может быть а может не быть. И вот тут возможны варианты как этот сценарий мы на самом деле хотели обработать. Fail fast с бряком в паник лишь 1 из них. Совершенно не годящийся для кучи системщины. Но о таком люди подобные вам начинают думать лишь когда ядро вас грубо вытряхнет прям из ваших абстракций - в во какой паник скрин. И начнет это делать - несколько раз в день. Косплея стабильность Win95.
> сишники и так должны проверять каждый указатель, если он
> может быть нулевым.Судя по костылям с try* у тех горе кернелдевов и отповеди торвальдса у сишников не было монополии на эту семантику.
> ко времени выполнения, всё это остаётся исключительно во времени компиляции. Нечто
> подобное уже есть в Cyclone и ATS.И много системщины в результате на этом кто-то смог и захотел писать? Да, мне кстати разок попадался и 100% валидный повод читануть значение по (физическому) адресу 0. Вы ессно с вашими е...чими абстракциями страшно далеки от того чтобы сделать bootload(self) или даже не self. Этим мы и отличаемся...
> При чём здесь Rust? Сишники не могут говорить про си не вспоминая про раст постоянно?
Остальные вообще упоминания не стоят как таковые. За отсутствием даже намека на вхожесть в системное программирование.
>>Что-то вам лохи какие-то попадались вместо сишников.
> Итак, по первому пункту есть какие-то оправдания, но ответа на вопрос "зачем"
> нет, по второму пункту нет даже оправданий.Я расписал и как это юзается - и почему оно такое. При том это весьма прагматичные аспекты дизайна и программирования систем на нижнем уровне. То с чем у эстетов от хайлевела и правильных типов по жизни небогато - ибо они знают как это все сделать геморроем на всю голову. Только потом сами не рвутся что-то это программить. Зато гадят на головы другим, что это они якобы-должны страдать таким мазохизмом. Но не, так не пойдет. В айти если кто считает что нечто круто, он идет и шоукейсит это. И только так. По другому не работает и работать не будет.
Видят, что все преходят на Эльбрус, вот и зашевелились. Это не сишная проблема, это проблема машинного кода.
> Видят, что все преходят на Эльбрус, вот и зашевелились.ЖЫрный ЖЫР.
Ты думаешь, они не в курсе, куда все клиенты уходят?
Куда угодно, но сотка не на Эльбрус.
Китайцы там что-то похожее пилили емнип, да и у арма не на пустом месте.
>да и у арма не на пустом месте.Сейчас бы vliw путать с risc
Идея тагированной памяти откуда-то взялась и кем-то была опробована.
Криворукость не зависит от языка программирования.
> Криворукость не зависит от языка программирования.Кривость и убогость инструмента приводит к ошибкам.
Внимание у мясных мешков ограничено и на кодовых базах чуть больше хеллоуволда легко что-то упустить, особенно если тебе нужно микроменеджить код на уровне ассемблера.
Что сишники регулярно доказывают "очередной сишной дырой" (с)
А кто unsafe блоки в Rust пишет?
Сишники. Unsafe обычно используют в обвязках к Си-либам.
Одно дело написать один unsafe блок ну пусть даже на 10 строчек, и другое дело - когда вся программа один большой unsafe.
>"Неужели все НАСТОЛЬКО плохо? "Да, на столько всё плохо!
С одной стороны нужное.
С другой ещё один повод заставить обновить железо, как было с TPM2.
С третьей всё равно всплывут новые дыры.Это реклама риск-5, наверное.
>повод заставить обновить железо, как было с TPM2Спецификация TPM 2.0 появилась в 2014 году:
https://en.wikipedia.org/wiki/Trusted_Platform_Module
Т.е. придумали примерно тоже самое, что в местном E2K было чуть не с самого начала - тэгированную память. Забавно, однако.
Даже если и так, зато хоть это в розничных комповых магазинах можно будет купить за приемлемую цену, в отличие от.
Местный E2K когда проявился?
А интеловские-амд когда?
Вот и ответ.Смотреть на лидеров и обходить их ошибки всегда легче.
Правда E2K получился каким-то фиговым, несмотря на это всё)
x86_64 и E2K появился примерно в одно и то же время, около 2000 года.
Если тебе интересно, итаниум появился как раз из эльбруса. Но компилятор не потянули вовремя сделать, это было основной причиной провала.
> итаниум появился как раз из эльбруса.не курите
Ага, Итаниум первый выпуск в 2001 (хотя Intel ещё с 80х годов этим направлением занимался), Эльбрус в 2005, но Эльбрус раньше!!!
//От свидетелей секты Pentium - потому-что Владимир Пентковский
Первый выпуск… Конечно, ведь не было десятилетий R&D. Я понимаю, ты не в курсе, но почитай, как жила Россия в 90х, когда бывшие союзные республики спихнули на неё свои долги. А предателей на Руси на сто лет припасено, не один же он свалил пилить процессоры в интел, команду прихватил. Пентиум тут ни при чём, а вот итаниум вполне вероятно.
Ага, только начались эти десятилетия со статьи Джоша Фишера из Йельского Университета от 1983 года. И первые коммерческие VLIW-процессоры стали делать его Multiflow и конкурирующая Cydrome в конце 80-х.
Не, я не хочу сказать, что Бабаян дурак и всё украл. Это нормальный ход технического прогресса: кто-то придумывает, другой совершенствует, все пробуют немножко разные варианты. Но и рвать тельняшку на грудях и бия себя в них же пяткой вопить, что мы везде были первые, не стоит. Или уж, по крайней мере, историю вопроса перед этим немножко изучить не помешало бы.P. S. Если вдруг кто не понял, сей срачик к теме новости не имеет никакого отношения. В нём речь про VLIW, а не про тегирование памяти (которое, к слову, ещё в 1960-х применялось).
Не то же самое. На E2K это было сделано, чтобы было, но настолько неэффективно, что практически никто этим не пользуется. Даже программные проверки куда более эффективны. С другой стороны, то, что делается для AMD64, лишь вероятностно предотвратит ошибку.
> придумали примерно тоже самое, что в IBM System/38 было чуть не с самого начала - тэгированную память.
> придумали примерно тоже самое, что в Intel 960 было чуть не с самого начала - тэгированную память.
> придумали примерно тоже самое, что в Burroughs каких-то было чуть не с самого начала - тэгированную память.и так далее
ну тут тоже не совсем наше, в основе была Burrough, хотя мы акцентировали идею тегов и хорошо её развили на практике. Реально удобно, гораздо проще искать источник сбоя. Вообще странно что мало кто её применял, там надо то всего пару битов добавить к проверочным ECC и немного аппаратной логики, очень небольшой процекнт прибавки площади кристалла а выгода очевидна.
Это просто какой-то позор, за более чем полвека сишники до сих пор не узнали ни о зависимых типах, ни об афинных, ни даже об алгебраических. И даже сейчас в этой теме найдутся сишники, которые вместо того, чтобы хотя бы сейчас прочитать об этом, будут рассказывать о том, что нужно быть просто внимательным. И сейчас поверх этой безграмотности сишников делают аппаратные костыли.
> ни о зависимых типах, ни об афинных, ни даже об алгебраическихПокажи мне как это на ассемблере x86 выглядит.
>Покажи мне как это на ассемблере x86 выглядит.О, вы отвечаете как эталонный сишник. Это проверки времени компиляции. Подобно тому, как синтаксически некорректная программа не соберётся, эти проверки отделяют заведомо некорректную программу от корректной. Вот ни разу не слышал, чтобы хотя-бы один сишник жаловался на то, что синтаксически неверная программа не собирается, им почему-то хватает мозгов понять, что как минимум синтаксически она должна быть верна. Но вот про семантику сишники почему-то не думают.
ЗЫ В качестве примера рекомендую посмотреть на ATS. Или на Idris, если не смущает сборщик мусора.
Си проектировался как портабельный кроссплатформерный ассемблер, таким он и остается. Все эти ваши афинные типы, ООП, классы и тд - это всё высокоуровневые абстракции, которые никакого отношения к сгенерированному ассемблерному коду не имеют отношения. Еще раз - Си это как бы такой ассемблер на стероидах, какие к черту афинные типы в асме?А вот синтаксически некорректная программа - это другое (С). Из нее невозможно собрать рабочий ассемблерный код.
> Си проектировался как портабельный кроссплатформерный ассемблер, таким он и остается
> Еще - Си это как бы такой ассемблер на стероидах, какие к черту афинные типы в асме?Пхахаха, вот это розовый мирок! Он был "портабельным ассемблером" во времена PDP-11. С тех пор этот копролить уже давно не ложится на архитектуру современных CPU настолько, что на уровне этих самых CPU приходится лепить костыли специально для Сишечки.
Чем это хуже оптимизаций процессора под плюсы и жаву? Сишечка хотя бы предсказуемая независимо от модели процессора.
> Чем это хуже оптимизаций процессора под плюсы и жаву?Потому что плюсы и жава нормальные языки.
> Сишечка хотя бы предсказуемая независимо от модели процессора.
Сишечка непредсказуема даже при смене компилятора.
А вы вообще про процессоры загнули.
Вообще, всех тех, кто что-то там восторженно вещает про шланг, читать не обязательно. Гцц генерирует вполне предсказуемый код, а оптимизации вполне воспроизводимы вручную при очень большом желании. Это шланг раздувает лапшой, под которую надо пайплайны процессора подгонять. Видимо, у майкрософтовского компилятора научился.
>Вообще, всех тех, кто что-то там восторженно вещает про шланг, читать не обязательно.А мне рассказывали, что у си есть стандарт и в отличии от раста целых два компилятора. Врали значит?
> Сишечка хотя бы предсказуемая независимо от модели процессора
>> предсказуемаяПха-ха-ха... Уморил... То-то в комбинациях реализаций компиляторов и архитектур кол-во UB неконтролируемо множится относительно кол-ва "законных" UB, описанных в стандарте. Это уже не говоря об описках со смыслом "на усмотрение реализации компилятора". Предсказуемая...
>Си проектировался как портабельный кроссплатформерный ассемблерСи не проектировался. Это типичный тяп-ляп и в продакшин. Максимум, о чём они озабоитлись - экономили байты всяких вещах типа размера строки.
>Все эти ваши афинные типы, ООП, классы и тд - это всё высокоуровневые абстракцииВы смешивете абстракции нулевой цены и абстракции требующие определённых затрат времени выполнения.
>Еще раз - Си это как бы такой ассемблер на стероидах, какие к черту афинные типы в асме?После того, как вы выучили си, вы перестали интересововаться CS? Про Cyclone слышали? Про типизированный ассемблер?
>это другоеЯ не помню ни одного раза, когда данная фраза была бы умесна.
>Из нее невозможно собрать рабочий ассемблерный код.То есть из кода с UB можно собрать рабочий код, а из синтаксически неверной программы - нет? Что за ерунда? Как минимум случайное количество nop-ов можно насыпать всегда.
Даже про объектный ассемблер слышал. Говорили, что был такой у Борланда, но сам не видел. А вот, чтобы был ассемблер с проверкой выхода за границы массива в компайл-тайме или владения адресами памяти, не слышал.
>А вот, чтобы был ассемблер с проверкой выхода за границы массива в компайл-таймеЗависимые типы
>владения адресами памятиАфинные типы
>А вот, чтобы был ассемблерФормально, для этого даже не обязательно новый ассемблер делать. Можно как в условном liquid haskell хранить данную информацию внутри комметариев.
>>А вот, чтобы был ассемблер с проверкой выхода за границы массива в компайл-тайме
> Зависимые типы
>>владения адресами памяти
> Афинные типы
>>А вот, чтобы был ассемблер
> Формально, для этого даже не обязательно новый ассемблер делать. Можно как в
> условном liquid haskell хранить данную информацию внутри комметариев.Вот когда вы на этом брейнфаке напишете хотя-бы себе операционку, которая будет обслуживать хотя-бы вас самих - тогда и будете мастерклассы другим давать на тему того как надо было. До тех пор - это все немного преждевременно.
И как видите может быть проще - немного подпилить железо. Потому что эстетствовать вы можете до упора. Но софт на си следующие полвека - никуда не денется. И такие как вы точно его заменить не смогут. Почему-то.
Более того. Многие операции с железом это by design - "unsafe". Автомат DMA вообще не знает - можно в некий адрес или нельзя. Ему дали адрес и количество, он фигачит от сих до сих. Что сие было - ему все равно. Или работа с memmapped регистрами. Для компилеря это "какие-то странные деяния" ибо сам софт этот регион не создавал - но суется туда. И что-то делает с ним. И это ведет к side effect. Но такие мелочи вообще в ваши парадигмы не входят. А вон то - может и со всем этим жить. В принципе даже автомат DMA можно подрихтовать при сильном желании учитывать такое.
>Вот когда вы на этом брейнфаке напишете хотя-бы себе операционку, которая будет обслуживать хотя-бы вас самих - тогда и будете мастерклассы другим давать на тему того как надо было. До тех пор - это все немного преждевременно.И какая такая магия от этого произойдёт, что невежественные сишники вдруг возьмут и прислушаются? Никакой?
> И какая такая магия от этого произойдёт, что невежественные сишники вдруг возьмут
> и прислушаются? Никакой?По крайней мере объем напыщенного неконструктивного хамства на этом глобусе немного поубавится. Что уже неплохо.
>По крайней мере объем напыщенного неконструктивного хамстваВот вам ОС на языке с ADT https://github.com/mirage/mirage, с вас магия уменьшения хамства.
> Вот вам ОС на языке с ADT https://github.com/mirage/mirage, с вас магия уменьшения хамства.Легко! Установите ЭТО себе на десктоп, во! :D. И мы посмотрим сколько коментов из под этого вы сможете прислать на опеннет. По моему довольно прсото, да? :)
Да, в виртуалке кстати - несчитово. Ибо уповает на существование хоста юзавшего совсем другие ЯП. Я даже согласен на время забыть про системные и сервисные фирмвари, во.
>Вот когда вы на этом брейнфаке напишете хотя-бы себе операционкуУже есть, хотя пока и пет-проект.
>И как видите может быть проще - немного подпилить железо.
Может быть, а может и не быть. Чего так долго тянули с этим подпилом?
>Но софт на си следующие полвека - никуда не денется.
Не факт. Просто ваши домыслы.
>И такие как вы точно его заменить не смогут.
Уже заменяют. Процесс идёт полным ходом.
> Уже есть, хотя пока и пет-проект.Вот когда господа смогут хотя-бы постить коменты на опеннет из своего фетища, не уповая на виртуализаторы, ибо те точно не на этих яп - возможно это будут воспринимать как нечто большее чем позерство и петпрожекты. А до тех пор мы говорим о чем-то уровня тасксвичера, которые студни пишут сотнями "себе по приколу".
> Может быть, а может и не быть. Чего так долго тянули с этим подпилом?
Это вероятно надо спросить у корп делающих железо. ARM вот чуть раньше просек. Но да, долго.
>>Но софт на си следующие полвека - никуда не денется.
> Не факт. Просто ваши домыслы....глядя на количество этого софта в самых разных закоулках.
>>И такие как вы точно его заменить не смогут.
> Уже заменяют. Процесс идёт полным ходом.Ога, на примере Servo и прочих Fuchsia видны масштабы успеха. Первое делали около 10 лет, если не больше. И как, много рынка то уже отхватило? И это за 10 лет. Судя по тренду могут и за 50 не успеть, пожалуй.
>Ога, на примере Servo и прочих Fuchsia видны масштабы успеха.Вы не туда смотрите просто. Смотрите на Клаудфлэровскую Пингору, Гугловский Андроид, Микрсофтскую Винду, да ту же Лису, Дропбокс, Дискорд, Амазон.
> И как видите может быть проще - немного подпилить железо.На АРМ такой "подпил" уже давно.
Но в андроид раст все равно добавляют.
Значит пиление железки не ультимативно.На интеле в итаниуме "подпил" тоже был.
И где сейчас итаниум?))> Но софт на си следующие полвека - никуда не денется.
Какой классный копиум)
> И такие как вы точно его заменить не смогут. Почему-то.
Потому что так вякнул анон?
Да-да, всё верно, раз так сказал - тогда точно не сможем))
> Покажи мне как это на ассемблере x86 выглядит.Получите-распишитесь godbolt.org/z/ae35Wo649
Кроме того, все нормальные языки программирования, и даже сишка, были созданы как раз для того, чтобы НЕ писать на ассемблере, а пользоваться абстракциями.
Ну и мерзость же, не удивительно, что ни одной программы на этом так и не написали за всю историю, где таких дураков найдёшь. Это 35 лет, между прочим. Ну, про pandoc не будем.
У вас никакой начитанности нет? Очевидно же, что хаскель будет давать не лучший ассемблерный код. Вот вам пример на Ocaml https://godbolt.org/z/7z4f79js1 а ещё лучше на rust https://godbolt.org/z/6KnMeGTeY
> Ну и мерзость жеРеакция типичного неосилятора))
> не удивительно, что ни одной программы на этом так и не написали за всю историю
И ванье типичного дырявого СИшника.
Про git-annex ты вообще слышал?
А Bluespec SystemVerilog это что?
Или seL4, которое изначально писалось на хаскеле, чтобы проводить верификацию?
И это без корпоративного закрытого кода, для бизнеса и всяких финансов.Я понимаю, это не настолько круто как писать дырявые утилитки на сях.
>> Ну и мерзость же
> Реакция типичного неосилятора))А вы что осилили то? Операционки на вашем брейнфаке у вас есть? Ваши нужды обслуживают? Или кто тут еще неосилятор то? Вот этот тип - гадящий на головы тем, чью операционку юзает? Что ж вы такие - юзаете софи и ос от сишников, да еще неосилятором после этого смеете обзываться, вместо того чтоб мастеркласс то всем дать? :)
О, очередной "спирва добейся!!!111"))
Наш брейнфак уже работает в андроиде на миллионах устройств и является языком ядра.> Вот этот тип - гадящий на головы тем, чью операционку юзает?
"Нельзя говорить что жигули это ведро с гайками, пока не построишь БМВ" ?
> Что ж вы такие - юзаете софи и ос от сишников, да еще неосилятором после этого смеете обзываться, вместо того чтоб мастеркласс то всем дать? :)
Так мы его активно заменяем.
Вон uutils уже в бубунте тестируется.
Если бы диды "я не буду учить новый язык!" не копротивлялись процесс шел бы гораздо быстрее.
Но рабобаем с тем что есть. А именно с самоуверенными необучаемыми бракоделами.
> О, очередной "спирва добейся!!!111"))Слов из песни не выкинешь.
> Наш брейнфак уже работает в андроиде на миллионах устройств и является языком ядра.
Насколько я помню потуги с Fucshia были не особо удачными. И в результате - удачи отказаться в том вашем ядре на миллионах устройств от сишки. Хочу на это посмотреть, чо.
> "Нельзя говорить что жигули это ведро с гайками, пока не построишь БМВ" ?
Вообще-то да. Если весь ваш мир состоит только из жигулей, они не хорошие и не плохие, сравнить просто не с чем. И покуда не с чем сравниваться - то и говорить нечего.
А хайп и пиар - это прекрасно. Но как видим спасение человечества от спасителей немного застопорилось и мегакорпы решили что проще и дешевле - в железо проверки впилить. Какой облом для крузады по спасению мира, теперь гранты и зарплаты перераспределят и баззворды с хайпом отвалятся. Во печалька то, да?
> Так мы его активно заменяем.
> Вон uutils уже в бубунте тестируется.По поводу чего в этой версии убунты не работает чуть менее чем нихрена :). Даже флатпак и снап отломали, лол.
> Если бы диды "я не буду учить новый язык!" не копротивлялись процесс
> шел бы гораздо быстрее.Иметь дело с носителями языка типа вас - это удовольствие здорово ниже среднего. И вашего кода это тоже касается - этот код вообще майнтенансу вдолгую не подлежит как правило.
>А вы что осилили то? Операционки на вашем брейнфаке у вас есть?
>Вообще-то да. Если весь ваш мир состоит только из жигулей, они не хорошие и не плохие, сравнить просто не с чем. И покуда не с чем сравниваться - то и говорить нечего.Если бы сишники не были столь невежественны, то они бы знали, что есть целая куча операционок на самых разных языках. Так что ваше заявление про мир исключительно из жигулей уже ложно. Ещё раз повторю свой вопрос, вот теперь вы знаете, что есть ОС на разных языка(за примерами можете сходить в гугл), дальше что? Вы прямо сейчас признаете поражение или по быстрому переобуетесь и начнёте менять условие, что вам нужна не просто операционная система, а фалгман, ещё и более популярный чем реализация на си?
> Если бы сишники не были столь невежественны, то они бы знали, что
> есть целая куча операционок на самых разных языках.Ну так я и спросил высокообразованного сэра блещущего культурой - из какой операционки он изволит изливать свои художества на опеннет? На чем это написано? По моему простой вопрос. Весьма логичный, если уж вопрос о осиляторстве.
Потому что сишники обслужили свой окорок. И не только свой - но и весь глобус. Перк засчитан. А тут им предъявляют за неосиляторство? Извините, кто? Осилившие в этом мире - например, что? Хотя-бы обслугу своего окорока, для начала, не, не того?
> Так что ваше заявление про мир исключительно из жигулей уже ложно.
Да как бы это вам сказать? О условных жигулях мечтало немало народа когда и такого не было. Можно конечно пешком ходить. Лучше ли это - вопрос интересный. Бэха лучше? Предположим. Вот только где ваша бэха от операционок? Покажите. Желательно - подкатив ко мне и вылезая из салона, чтоб я видеть мог что это еще и ездит - и даже возит вас.
Или вы думаете что я денег за это насыплю даже не удостоверившись что эта штука хотя-бы ездить умеет? Да, кстати, фирмвар у нее тоже таки - на сишке. Пусть и по правилам MISRA. А для Rust например - таких правил вообще как минимум пока просто еще нет. Может быть когда-нибудь и будут, когда будут ясны границы применимости и как делать предсказуемый и _надежный_ софт. Не, panic() на скорости 150 - это не "безопасно", это п...ц водителю. Даже если память и не побилась, водитель с такого бонуса побьется - чисто физически. И кстати в системе без MMU - а мк без MMU - гарантии Rust не работают. О чем они честно пишут по крайней мене.
А всякие маргинальщины типа ocaml и haskel? Ну, э, покажите на этом фирмварь ECU вообще. Я уж молчу про то чтобы кто-то подписался своей головой за сертификацию этих ментальных заподвыподвертов, с готовностью сесть в случае факапа.
> Ещё раз повторю свой вопрос, вот теперь вы знаете, что есть ОС на разных
> языка(за примерами можете сходить в гугл), дальше что?А дальше простой вопрос - обслужили ли все ваши фетищи хотя-бы вас? Чтоб сищникам за осиляторство тут предъявлять? Сишники осилили обслужить и свои нужды - написав себе ос и свичнувшись в них. И тулсы себе все сделали. И на сях много всего - все фирмвари по сути, без которых большая часть машин и инженерии просто не двинется с места уже. Едет поезд? Разгоняется трамвай? Крутится стиралка? Я легко узнаю что там есть код. Крутящий колеса, барабан или что там. Его - слышно. Он, ессно, на си.
Мы включаем комп. Десятки сервисных процов с фирмварой оживают. Основной системный фирмвар стартует ос. И все это тоже - си. Но вы можете показать как вы вот все это - на ваших суперязыках. Проблема в том что для того чтобы вы могли почирикать тут на форуме должно раскочегариться нехило всяких стеков - на си. Без этого вы вообще сюда звука издать не сможете. И в благодарность тем кто все это сделал вы ... нагадили им на голову?
> Вы прямо сейчас признаете поражение или по быстрому переобуетесь и начнёте
> менять условие, что вам нужна не просто операционная система, а фалгман, ещё и более
> популярный чем реализация на си?Мне нужно чтобы оно - смогло обслужить хотя-бы вас, обеспечив стек технологий достаточный для того чтобы вы могли пискнуть на форум без помощи клятой сишки. Иначе это гадеж на головы на которых вы стоите. Чисто технически. Если кто считает что может лучше - он показывает. Делом. Его BMW должен ездить и возить хотя-бы его тушку. Иначе это - гламурный но бесполезный кус металла и жигуль намного практичнее и лучше. Просто потому что на нем можно взять и приехать из города A в город B. В отличие от вашей бэхи без двигателя.
>Потому что сишники обслужили свой окорок. И не только свой - но и весь глобус. Перк засчитан.И дальше что? По вашему тот факт, что сишники когда-то написали свой код позволяет им теперь говнокодить вечно? Все теперь должны преклоняться пред их г-кодом и не сметь указывать на ошибки?
>Мне нужно чтобы оно - смогло обслужить хотя-бы вас, обеспечив стек технологий достаточный для того чтобы вы могли пискнуть на форум без помощи клятой сишки.А где граница между может и не может? http? tcp? Роутер? Конечный сервер? Ваш браузер? Прошивка трансформатора на электростанции? Кад, на котором этот трансформатор проектировался? Прошивка базовой станции, по которой вызывали такси для того чтобы приехать в роддом?
>Ну, э, покажите на этом фирмварь ECU вообще.О, это как раз то, о чём я вам и говорил. Вначале вы хотели просто операционку, теперь вам ещё и прошивка нужна. Стало быть с операционкой вопросов больше нет?
>И на сях много всего - все фирмвари по сути
>Основной системный фирмвар стартует ос. И все это тоже - сиИ вы ни разу не показали исходники. А то вдруг там паскаль в перемешку с ассемблером? А вдруг там голый ассемблер?
>Проблема в том что для того чтобы вы могли почирикать тут на форуме должно раскочегариться нехило всяких стеков - на си.Вам уже показывали как миниум один пример операционной системы не на си https://github.com/mirage/mirage. Вот вам tls тоже не на си https://github.com/mirleft/ocaml-tls
https://github.com/mirage/mirage. Остальное думаю вы и сами найдёте.Про операционки на других языках - crystal, rust я тоже молчу, сам найдёте.
Вот вам прошивка клавиатуры не на си https://habr.com/ru/articles/548854/ (кто там утверждал, что буквально каждая прошивка на си?)
>Его BMW должен ездить и возить хотя-бы его тушку. Иначе это - гламурный но бесполезный кус металла и жигуль намного практичнее и лучше.
Пока не вылечили рак - даже не смейте лечить бронхиты и пневмонии.
> И дальше что? По вашему тот факт, что сишники когда-то написали свой
> код позволяет им теперь говнокодить вечно? Все теперь должны преклоняться пред
> их г-кодом и не сметь указывать на ошибки?Именно так - пока такие как вы не смогут выкатить что-то лучше, что ALL еще и юзать потом захочет. Полторы неюзабельных блевотины через которые даже комент на опеннет отослать не получится - "немного" не оно по влиянию на мир и полноте стека технологий.
Так что чисто технически вы гадите на плечи на которых стоите. Это просто констатация факта.
> А где граница между может и не может? http? tcp? Роутер? Конечный
> сервер? Ваш браузер? Прошивка трансформатора на электростанции?Full stack, конечно. Но вы уже начали о чем-то догадываться на тему почему сишка с нами останется на следующие полвека. Не, никто не засунет туда прошивку на Rust чтоб она брякнулась в panic() и гражданин с горящими глазами - спалил индустриального хардвара на мегабаксы, а то и поубивал кого в процессе. С тем девелопом как Rust сейчас он вообще для таких вещей не годится. Автомотивщики пытаются нащупать регламенты, но пока это ни во что конкретное не материализовалось. Да и врядли хипстерам с горящими глазами зайдет то что у них потом получится. Если вообще получится, что имхо 50/50 в лучшем случае.
> Кад, на котором этот трансформатор проектировался? Прошивка базовой станции,
> по которой вызывали такси для того чтобы приехать в роддом?Вообще-то да, гадить на головы сишников если вы пользуетесь их достижениями малость неблагодарно, если вы не можете выкатить ничего лучше. Сюрприз. И относится я к вам буду соответствующе. Например, "я не работаю с явными м...ками". Хорощая полися, удобная и приятная.
> вы хотели просто операционку, теперь вам ещё и прошивка нужна.
А почему нет? Вы сами бэху притащили. А там обана - фирмвари на си тоже в ходу. И раз уж вы настаиваете - существование бэхи требовало существования си, оказывается. Иначе она ездить не будет, хы.
> Стало быть с операционкой вопросов больше нет?
Я и так никогда не сомневался что написать ОС которую кто-то еще и юзать будет - вон тем не дано. Пафос и даунплей других у определенного класса господ всегда идет впереди их собственного результата. Я нахожу таких господ токсичными и деструктивными. И кажется не только я. Особенно судя по состоянию многих проектов которые такие делают.
> И вы ни разу не показали исходники. А то вдруг там паскаль в перемешку с ассемблером?
Рантаймы разных штук оставляют разные следы. Это было бы видно. А фирмвар на паскале писать это вообще отчаянный мазохизм просто. Ибо системщик уволится через неделю этого брейнфака топ.
А так вон фирмвар протокольного стека квалкомм модемов утек. И чего-то на сишке тоже. Можете взять uboot. Опять си. Или даже EDKII - который в основе EFI большинства компов. Опять экзоты мимо? Заодно посмотрим как вы это все лихо на чем вы там хотеле перепишете, во.
> А вдруг там голый ассемблер?
Голый ассемблер - не оставляет характерные сигнатуры компилеров и рантаймов. Я зачастую даже версию и тип компилера могу определить. То что вы это не можете - так это вы с вашими афинными типами. Страшно далекое от системщины и враждебное всему этому существо. Мнящее что почему-то удумало что лучше знает как надо. А реально - это BS. Вы лишь мерзкий, наглыи и имхо довольно некомпетеннтый в вопросах системщины тип.
> Вам уже показывали как миниум один пример операционной системы не на си
> https://github.com/mirage/mirage.
> Вот вам tls тоже не на си https://github.com/mirleft/ocaml-tlsВот когда вы забутявите свою "операционную систему" и будете чирикать свои коменты из под нее - это даже не будет смотреться позерством. А до тех пор вы чисто технически гадите на плечи на которых стоите.
> https://github.com/mirage/mirage. Остальное думаю вы и сами найдёте.Я не водитель мусоровоза чтобы в мусоре копаться.
> Про операционки на других языках - crystal, rust я тоже молчу, сам найдёте.
И вы конечно используете это все хотя-бы для себя? Или таки - гадите на плечи на которых стоите? Потому что вон то малость не тянет на альтернативы <чему либо>
> Вот вам прошивка клавиатуры не на си https://habr.com/ru/articles/548854/
> (кто там утверждал, что буквально каждая прошивка на си?)Я имхо никогда не говорил что КАЖДАЯ, и уточнил что "почти все". Да, "на спор" и "на принцип" я могу даже прошивку клавиатуры на brainfuck вам оформить. Но в глобальной картине миры это все же не будет означать что "на brainfuck пишут прошивки".
> Пока не вылечили рак - даже не смейте лечить бронхиты и пневмонии.
Эээ если вы вылечили бронхит вызывая взамен рак - это спорное достижение. И гадить на голову тех на чьих плечах вы, неблагодарные, стоите - тоже. Ибо сами ты вы нихрена стоящего вообще не сделали просто. Даже для просто поддержания себя самих на плаву. Не, вон то явно не тянет на то что сможет вас хотя-бы самого на плаву удержать. И поэтому как системщик вы в моих глазах - просто ноль. Paper guru как максимум.
И вы уже наконец понемногу начали допирать почему я думаю что следующие лет 50 вы будете жить с сишкой как зайчики и никуда от этого не денетесь. Это лишь экстраполяция ваших успехов захвата мира.
> Именно так - пока такие как вы не смогут выкатить что-то лучше,Вот биндер выкатили, будут использовать все заинтересованные.
Условие выполеннно - СИ овно)))> Полторы неюзабельных блевотины через которые даже комент на опеннет отослать не получится - "немного" не оно по влиянию на мир и полноте стека технологий.
Ты про лису где раста 12%, а дыряшки 13?
> Так что чисто технически вы гадите на плечи на которых стоите. Это просто констатация факта.
Чисто технически те, из кого ты творишь кумиров, навыдавливали из себя столько овнокода, что можно поседеть.
И кричать: "да дед сделал сортир ʼдырка в землеʼ, но он сам копал! так что все быстро уважайте его! и пофиг что там овна по колено и запах что топор вешай. Так что срочно все его используйте!" можно, но выглядит максимально жалко.> никто не засунет туда прошивку на Rust чтоб она брякнулась в panic() и гражданин с горящими глазами - спалил индустриального хардвара на мегабаксы, а то и поубивал кого в процессе.
Какие жуткие истории.
Ага, а прошивках на СИшке будет просто переполнение и станок за мегабакс просто разгонится до 100500 оборотов.
Или всего лишь облучит пару пациентов до состояния medium rare (там была не сишка, но ошибки такие же)> С тем девелопом как Rust сейчас он вообще для таких вещей не годится.
То ли дело накодить СИшной лапшички, как тойопта.
> И относится я к вам буду соответствующе. Например, "я не работаю с явными м...ками".
Всем плевать на твое отношение и полиси)
Давай просто встретимся в теме про ядро 6.18 и .19 и посмотрим что там изменится.> Я не водитель мусоровоза чтобы в мусоре копаться.
Нет, ты просто пафосный звездун, который способен только на высокопарное "бла-бла, там есть характерные сигнатуры, бла-бла" без единого пруфа или примера (даже чужого).
> И гадить ...
Про гадить ты уже какой раз пишешь.
Это какая-то болезнь?> И вы уже наконец понемногу начали допирать почему я думаю что следующие лет 50 вы будете жить с сишкой
Потому что ты... как бы это сказать, чтобы не обидеть... немного тупой?
> Насколько я помню потуги с Fucshia были не особо удачными.А она то тут причем, тебе про андроид пишут. Опять сишник границей буфера в комментариях ошибся...
> А она то тут причем, тебе про андроид пишут. Опять сишник границей
> буфера в комментариях ошибся...Андроида без сишки просто вообше не существовало бы, как явления. Такая ерунда :)
У вас с логическим мышлением очевидные проблемы. Андроид вполне мог бы быть написан и на другом языке программирования (как это сделали авторы других ОС, ссылки на которые вы можете найти чуть выше).
> У вас с логическим мышлением очевидные проблемы. Андроид вполне мог бы быть
> написан и на другом языке программирования (как это сделали авторы других
> ОС, ссылки на которые вы можете найти чуть выше).Бы в этом мире - не считается. Гугло уже попробовал что-то такое. И горячие головы типа вас рассказывали что вот-вот Linux в андроиде заменит - Fuchsia. Но почему-то план захвата мира встрял на паре фоторамок. Что же пошло не так?...
>Бы в этом мире - не считается.Ещё раз напомню про другие ОС, написанные не на Сях.
>Что же пошло не так?
Какую-то часть Андроида уже переписали на Rust. И этим уже пользуются миллионы людей. И действительно, что же пошло не так?
> удачи отказаться в том вашем ядре на миллионах устройств от сишки. Хочу на это посмотреть, чо.Так мы уже в процессе)
Вон биндер заменяем на нормальный.
А потом еще что-то. А потом ядро без раста не соберешь.
Потихоньку, понемножку. Рим не за один день строился.> Вообще-то да. Если весь ваш мир состоит только из жигулей, они не хорошие и не плохие, сравнить просто не с чем. И покуда не с чем сравниваться - то и говорить нечего.
Правильно. Пока была безальтернативная сишка (хотя это не правда) то можно ездить на жигулях.
> проще и дешевле - в железо проверки впилить.
В АРМ проверка уже много лет.
Но от недоязычков это не спасает - вон гулу приходится заменять их на нормальный.> Во печалька то, да?
Только в твоих фантазиях)
> Иметь дело с носителями языка типа вас - это удовольствие здорово ниже среднего.
Ваше удовольствие не входит в договор.
Да и ваше мнение в целом.> И вашего кода это тоже касается - этот код вообще майнтенансу вдолгую не подлежит как правило.
Звучит не убедительно. Пруфов бы.
> Так мы уже в процессе)
> Вон биндер заменяем на нормальный.Целый binder. А грозились - выкинуть Linux. И еще недавно заменить расово верной фуксией. Экое урезание осетра то.
> А потом еще что-то. А потом ядро без раста не соберешь.
> Потихоньку, понемножку. Рим не за один день строился.Ну я и говорю - годиков через 50 можно будет вернуться к этому. Глядя на dx/dt процесса. Вон там серва что-то типа-зарелизила, мушкетеры 10 лет спустя. Уж тимы то нет и мозилла почти сдохла...
> Правильно. Пока была безальтернативная сишка (хотя это не правда) то можно ездить
> на жигулях.Ну так у ваших BMW пока то двигателя нет, то руль забыли, то колеса не крутятся, то еще какое-то д-мо. Народ и не понимает зачем им бесполезный кус металла. И все эти фуксии и редоксы - ну, они формально есть. Реально - кто это юзает? Две фоторамки? Влияние на мир, чо. Формально и не поспоришь даже :)
> В АРМ проверка уже много лет.
Ну не так уж и много. Относительно новый
> Но от недоязычков это не спасает - вон гулу приходится заменять их
> на нормальный.Гугл много чего делает. При том 90% из этого - FAIL. Они и фуксию писали. Да даже и пишут в принципе. Но есть нюансы. А этот их binder только им в общем то и нужен. В таком виде они его могут хоть на brainfuck писать, кому какое дело вообще.
>> Во печалька то, да?
> Только в твоих фантазиях)Да это не у меня фантазии на тему замены сишки за 2 года :)
> Ваше удовольствие не входит в договор.
Вобще-то если нет моего удовольствия - то и договора тоже нет. Ибо "я не работаю с м...ками". И это моя стандартная полися.
> Звучит не убедительно. Пруфов бы.
Берете гитхаб. Ищете проекты на своих любимых ЯП. Смотрите число комитеров, когда последние комиты были, вот это все. Остальное любой минимально понимающий азы project management увидит сам.
>Ну так у ваших BMW пока то двигателя нет, то руль забыли, то колеса не крутятся, то еще какое-то д-мо. Народ и не понимает зачем им бесполезный кус металла. И все эти фуксии и редоксы - ну, они формально есть. Реально - кто это юзает?Часть Андроида уже на Rust. Это юзает миллионы людей. Часть Винды уже тоже на Rust. И это тоже юзает миллионы людей. Пингора - на Rust. Её юзает четверть Интернета (миллиард людей?).
А как на ассемблере x86 выглядит restrict или чем char* отличается от void*?
>> Покажи мне как это на ассемблере x86 выглядит.
> А как на ассемблере x86 выглядит restrict или чем char* отличается от void*?Вот это очень неудобный вопрос! Персонажа поди вообще ментально закоротило, ведь оказывается, что на ассемблере даже большинство типов из сишечки нашей родненькой никак не выглядят! 😭
Вот только софтом, который писали сишники пользуются, т.к. он быстрый и создаётся за разумное время. А академически правильный код зачастую годится только ЧСВ потешить.
>Вот только софтом, который писали сишники пользуются, т.к. он быстрый и создаётся за разумное время.Софт на си уже массово вытеснен софтом не на си. Хоть rust, хоть go, хоть js, лишь бы не на си.
Что-то я не вижу в репозитории OpenSuse особо софта на js или go. Раст это капля в море. На бэкенде - да популярны, но там задачи однотипные типа перекладывания жсонов в базу, а как только хоть чуть-чуть думать надо, геймдев хотя бы, не говоря уж о серьёзном софте типа кадов или условного фотошопа - так ой всё, все эти хипсторы куда-то испаряются.
>Что-то я не вижу в репозитории OpenSuse особо софта на js или go.Почему именно OpenSuse и что именно вы собираетесь увидеть?
>На бэкенде - да популярны, но там задачи однотипные типа перекладывания жсонов в базуНу давайте подумаем - forgejo - go; docker, incus, lxd - go; asciicinema - переписан на rust; waypipe - переписан на rust; cosmic de - rust; pantheon - vala; куча всяких мелких сетевых утилит - go; helix - rust; emacs - преимущественно elisp; timeshift - vala; qtile - внезапно python. Вам не кажется странным, что в современном мире как-то подозрительно много проектов разных направленностей почему-то не на си?
>а как только хоть чуть-чуть думать надо, геймдев хотя быВнезапно будет c# и java. Посмотрите на тот же Mindustry.
>или условного фотошопаЧто там в фотошопе творится, неизвестно, код закрыт. И потом, вы ещё vim вспомните. Естественно такие старые программы будут на си.
> forgejo - go;Бэкендовая обёртка над гитом. docker - тот ещё тормоз, банальное копирование нескольких файликов в образ занимает минуты. Уж лучше б на с++ был. Остальным не пользуюсь, не такое уж оно и нужное.
> подозрительно много проектов разных направленностей почему-то не на си?
В % если брать то мало, особенно если брать ПО для обычного юзера с GUI а не недоделанные консольные утилитки, которые за выходные накидать можно.
Это капля в море на фоне тысяч пакетов с C/C++.
> Внезапно будет c# и javaЯва в геймдеве редкость, может в инди где-то есть пара процентов, вряд ли больше. C# есть, но он во 1х очень похож на C++ а во 2х у Unity свой патченный рантайм, где наверняка всё что нуждается в скорости написано уже на плюсах, C# наружу для игровой логики торчит и возможно некритичных участков кода ядра. А так вообще топ это Unreal на C++ и собственные движки ААА проектов на нём же. На раст жаловались уже что боров чекер мешает в разработке игр.
>Бэкендовая обёртка над гитом.И что это меняет? Интересно, почему бекенд так не любят писать на си?
>docker - тот ещё тормоз, банальное копирование нескольких файликов в образ занимает минуты.Врать не хорошо.
>Уж лучше б на с++ был.Вот интересно, почему его никто не написан на си, ни вы, ни его авторы?
>В % если брать то малоА вы прям проценты посчитали, только вот расчёты прикрепить забыли.
>если брать ПО для обычного юзера с GUIАга, особенно в репозитории OpenSuse
>а не недоделанные консольные утилиткиЯ упомянул несколько десктопных программ. Вот вам ещё пример rustdesc, написан на rust - более чем графическая программа.
>которые за выходные накидать можно.Вы там знаете
>Это капля в море на фоне тысяч пакетов с C/C++.А почему не миллионы или лучше миллиарды?
>C# есть, но он во 1х очень похож на C++У вас совсем аргументы закончились? Это два совершенно разных языка.
>где наверняка всё что нуждается в скорости написано уже на плюсахТо есть тот факт, что игры пишут на c# вы уже даже не отрицаете. Прогресс однако.
>А так вообще топ это Unreal на C++То, что полторы игры пишется на крестах, ещё никому ничего не доказывает.
А ну чтобы не выдумвать ничего, вот статистика ЯП в репозитриях Дебиан. https://sources.debian.org/static/img/stats/sloc_bar_plot.png
Это конечно хорошо, только почему я должен рассматривать дебиан как эталон? Дебиановцы регулярно удаляют из репозитория программы, которые не смогли собрать. Как пример https://www.opennet.dev/opennews/art.shtml?num=61794
>В качестве причины удаления называется невозможность дальнейшего сопровождения пакета в ветке Debian Stable из-за несоответствия зависимостей к bcachefs-tools требованиям сборки для Debian Stable. Bcachefs-tools недавно был переписан на языке Rust и требует использования конкретных версий компонентов Rust, которые не соответствуют версиям, поставляемым в Debian, а ослабление зависимостей не гарантирует корректную работу bcachefs-tools.Если вы будете удалять каждую программу, написанную не на си, то у вас вообще 100% чистого си будет.
> Софт на си уже массово вытеснен софтом не на си. Хоть rust,
> хоть go, хоть js, лишь бы не на си.Что-то фуксия мир так и не захватила. И захват мира в очередной раз отложился. Черт, вы без си вообще компьютер не включите. И ни один чип в нем не заведется. Даже фирмвар SSD какого, или что там у вас. Но вы можете показать этим сишникам мастеркласс... или... кажется не можете? И вот кто тут неосиляторы тогда? :)
>И ни один чип в нем не заведется. Даже фирмвар SSD какого, или что там у вас.Для того, чтобы рассуждать о прошивке, надо как минимум видеть её исходник, а то она внезапно может на расте или паскале оказаться. И потом, даже если у вас прошивка ssd будет на си, условный докер всё равно будет не на си. Так что хватит сказки рассказывать.
>Черт, вы без си вообще компьютер не включите.Если вы невнимательно читали, то вопрос не в наличии хотя бы одной программы на си, а в их общем проценте. Если программа написана на условном js, то это js, а не си.
> Для того, чтобы рассуждать о прошивке, надо как минимум видеть её исходник,
> а то она внезапно может на расте или паскале оказаться.Это будет _очень_ внезапно ибо почти все фирмвари на этом глобусе пишутся - на си, иногда subset плюсов.
И это при желании можно проверить. В бинарях попадаются характерные куски, прозрачно намекающие на характер рантайма, и порой даже чем именно собрано. Но высокопарным экспертам о таких мелочах не рассказывали, а смотреть в бинарный код витающим в облаках афинных типов ниже из достоинства. Лучше вещать о бороздении просторов большого театра.
Ида нынче так вообще - научилась опознавать типовые функции рантаймов и основательно реконструировать сорец прям из бинаря. Вот прям так.
> И потом, даже если у вас прошивка ssd будет на си, условный
> докер всё равно будет не на си.Я не юзаю докер, вот ведь какой парадокс. Это опциональная вторичная вспомогаловка, и близко не являющаяся - незаменимой и mandatory для работы ключевых систем. А вот что б я делал без бутлоадера, ядра линуха, сервисных фирмварей МК и системной фирмвари - вопрос интересный. Этим оно малость отличается от докера по степени критичности.
> Так что хватит сказки рассказывать.
Сказки о чем? Что вы без сишки вообще нихрена не сможете? Так не можете ведь. И это просто констатация наблюдаемого факта. А вот докер и правда чем-то незаменимым или критичным не является. Так, вспомогаловка.
> Если вы невнимательно читали, то вопрос не в наличии хотя бы одной
> программы на си, а в их общем проценте. Если программа написана
> на условном js, то это js, а не си.Но без рантайма на си и си++ оно вообще нифига не сможет. Даже просто запуститься. Небольшой такой нюанс на тему свиней, дуба и желудей.
> Это будет _очень_ внезапно ибо почти все фирмвари на этом глобусе пишутся - на си, иногда subset плюсов.Ну сравнивать даже сабсет плюсов и СИшку это конечно сильно.
> А вот что б я делал без бутлоадера, ядра линуха, сервисных фирмварей МК и системной фирмвари - вопрос интересный.
Там это... в ядро линукс добавили драйвер на совершенно не нужном расте.
Который будет в сотнях миллионах смартфонов на андроиде.
opennet.ru/opennews/art.shtml?num=64092> Этим оно малость отличается от докера по степени критичности.
Тебе - да. Миллионам людей - нет.
> Сказки о чем? Что вы без сишки вообще нихрена не сможете?
> просто констатация наблюдаемого факта.Наблюдаемый единичный факт не является доказательством.
Стыдно не знать такие азы.> Небольшой такой нюанс на тему свиней, дуба и желудей.
Плохая аналогия подобна котенку с дверцей.
Ты сейчас напоминаешь пресонажей, которые говорят "раз цивилизация появилась из овна и палок (саманый кирпич), это её фундамент! нужно и сейчас строить так же как диды! reject progress, return to monke "
> Ну сравнивать даже сабсет плюсов и СИшку это конечно сильно.Они в этом режиме юзаются как этакий C-ish C++ чаще всего. Почему-то.
> Там это... в ядро линукс добавили драйвер на совершенно не нужном расте.
> Который будет в сотнях миллионах смартфонов на андроиде.Но без сишки этот андроид вообще просто не загрузится. Но конечно можно выпятить 1 мелкий драйвер и проигнорить 99.9% кода на си. Который в обозримой перспективе заменить явно не светит.
>> Этим оно малость отличается от докера по степени критичности.
> Тебе - да. Миллионам людей - нет.Да что уж, миллиардам. Иначе недостаточно масштабно выглядит. На весь линух например всего несколько десятков миллионов юзерей. И отньдь не все юзают докер. А в остальных ос доскер вообще по сути не имеет хождения. Но втерли очки конечно хорошо. Правда я считать умею и смотреть вокруг - тоже.
> Наблюдаемый единичный факт не является доказательством.
> Стыдно не знать такие азы.Я вообще ни разу не видел способности вон тех хотя-бы обслужить свои нужды своими тулсами. Rust так вообще - без LLVM на C++ это нечто достаточно мифическое. И даром никому не нужное. А, ну еще gccrs вот прорезается. И тоже завязано на C и C++.
>> Небольшой такой нюанс на тему свиней, дуба и желудей.
> Плохая аналогия подобна котенку с дверцей.Ща вам сделают робокотов и дадут мастеркласс на тему дверц :)
> то её фундамент! нужно и сейчас строить так же как диды! reject progress, return to monke "
Ну, блин, если вы положили вместо них 2 бетонных блока - это еще не есть пригодное для жизни место. И дом из самана неизмеримо лучше чем ЭТО.
> Но без сишки этот андроид вообще просто не загрузится. Но конечно можно выпятить 1 мелкий драйвер и проигнорить 99.9% кода на си.А без этого драйвера он будет работать?
Или загрузились, а дальше пофиг?> Который в обозримой перспективе заменить явно не светит.
Поживем увидим.
>> Тебе - да. Миллионам людей - нет.
> Да что уж, миллиардам. Иначе недостаточно масштабно выглядит.У одного проекта где я участвовал около 50 миллионов юзеров.
Для оказания им услуг, кроме всего прочего используются докер контенеры.
А это не самые большие проекты в мире.> Я вообще ни разу не видел способности вон тех хотя-бы обслужить свои нужды своими тулсами.
А, ну раз целый ты не видел!))
> Ну, блин, если вы положили вместо них 2 бетонных блока - это еще не есть пригодное для жизни место. И дом из самана неизмеримо лучше чем ЭТО.
А кто сказал про 2 блока? Это твои фантазии.
Понято что культ священных-идеальных-непогрешимых-дидов это круто, в узких кругах, но не все такие впечатлительные как ты.
>ибо почти все фирмвари на этом глобусе пишутся - на си,О, уже прогресс, а раньше про говорил про то, что всё пишется на си. Скоро так и быть узнаешь и про другие языки
>И это при желании можно проверить.https://habr.com/ru/articles/548854/ Вам прямо сказано, что драйвер есть как на расте, так и на zig, а вы по прежнему исключительно про си говорите
>Я не юзаю докер, вот ведь какой парадокс.И? Ну осталось софта на си на несколько процентов, дальше что?
>Но без рантайма на си и си++ оно вообще нифига не сможет.То есть вы записываете программы на js в строки на си? Ну тогда я запишу их в строки на go и на rust, ибо интерпретатор есть как на одном, так и на другом.
> О, уже прогресс, а раньше про говорил про то, что всё пишется
> на си. Скоро так и быть узнаешь и про другие языкиЭто где я именно так сказал? Я и сам могу какой-нибудь фирмвар клавы даже на брейнфаке родить не спор. Это не докажет что "на brainfuck пишут фирмвари" с точки зрения эффекта в мировом масщтабе. Скорее - что я долбанулся на отличненько.
> https://habr.com/ru/articles/548854/ Вам прямо сказано, что драйвер есть как на расте,
> так и на zig, а вы по прежнему исключительно про си говоритеПотому что 1 самопальный фирмвар клавиатуры уровня пет прожекта (между драйвером и фирмварой есть небольшая разница, мистер "эксперт" от системщины) - в мировом масштабе - ну, сами понимаете. И именно для этих случаях "почти" и оставлено.
> И? Ну осталось софта на си на несколько процентов, дальше что?
Того же Rust здорово меньше этих процентов. И в общем то без этих процентов все остальное просто не будет работать. Совсем. Никак.
> То есть вы записываете программы на js в строки на си? Ну
> тогда я запишу их в строки на go и на rust,
> ибо интерпретатор есть как на одном, так и на другом.Нормальные люди их вообще в файлы записывают. А так есть и то и се. И если хочется JS и С, за примерами далкео ходить не надо - polkit например. Тоже так то довольно системный компонент.
Раз вы такие умные, сделайте нам, сишникам, компилятор, который будет гарантированно генерировать безопасный код.
И чтобы можно было им пользоваться в реальной жизни, для реальных задач.
Все поделки, которые мы видим от си-хейтеров - это какие-то максимально кривые яп и инструменты. Такое впечатление, что их создают только для того чтобы чесать свое ЧСВ.Так что да, это позор - за более чем полвека никто из умничающих экспертов так и не придумал как сделать си более безопасным, приходится обходить ошибки хардварными костылями.
>Раз вы такие умные, сделайте нам, сишникам, компилятор, который будет гарантированно генерировать безопасный код.Вам его дают уже на протяжении более чем двух десятилетий, а вы всё нос воротите. До rust-а был как минимум ATS и Cyclone, и что, сколько сишников ими пользовались?
>И чтобы можно было им пользоваться в реальной жизни, для реальных задач.Откройте любой тред про rust и почитайте как сишников от афинных типов корёжит, если они осилили синтаксис. Ибо не позволяет стрелять ноги, как сишники привыкли.
>за более чем полвека никто из умничающих экспертов так и не придумал как сделать си более безопаснымОчевидно же - никак. Максимум что у вас будет - Cyclone.
>До rust-а был как минимум ATS и Cyclone, и что, сколько сишников ими пользовались?Да даже возьмём c++ - сколько сишников после появления плюсов перестали изобретать хотя-бы строки? Ну не позор ли?
Мы не воротим нос. Мы тоже хотим писать безопасные программы.
Но писать их в более-менее привычном стиле, привычным синтаксисом.
Все что предлагают как замену си - это, извините, шлак, на котором НЕУДОБНО программировать.
Именно поэтому этим не пользуются, а не из-за какого-то мифического заговора сишников против прогресса.
Вы пишете о сишниках как об отставших в развитии существах, которых вы милостиво наставляете на истинный путь.
Так же, наверное, думают и создатели всех этих новых шизофреничных ЯП.
Ну и кагбе вот результат в новости - вместо умников со своим неуемным ЧСВ нам на помощь приходят создатели железа.
>Мы тоже хотим писать безопасные программы.Что-то незаметно. Я не говорю уже про переход на другой язык, где как минимум линтеры в хотя бы в подавляющем большинстве проектов?
>привычным синтаксисомПриводить синтаксис как аргумент - это сильно. Нет, если у вас два языка, различающиеся только синтаксисом, то тогда ещё можно выбирать, но когда у них разная семантика - нет.
>на котором НЕУДОБНО программировать.Ну так системное программирование, оно в принципе неудобное. Каждое выделение памяти надо проверить, помнить что находится в куче, а что в стеке.
>Но писать их в более-менее привычном стилеВозьмите ATS, возьмите Rust, и скажите, в чём конкретно неудобство. Только не надо говорить про синтаксис, поскольку переписать парсер - проще простого. Возьмите, язык, приделайте к нему нормальный с вашей точки зрения синтаксис и вперёд, авось ещё станете популярнее оригинала.
> Мы не воротим нос.Еще как воротите.
> Мы тоже хотим писать безопасные программы.
Очень заметно)
> Но писать их в более-менее привычном стиле, привычным синтаксисом.
Это ваши проблемы.
Когда начали в панике делать всякие поделки типа TRAP-C ? Буквально вчера.
Т.е десятилетиями было просто плевать на качество, на коректность кода, на типичные дыры.> Все что предлагают как замену си - это, извините, шлак, на котором НЕУДОБНО программировать.
Не, хуже дыряшки мало что может быть.
"Неудобно" это не аргумент, это вкусовщина помноженная на эффект утенка.> Именно поэтому этим не пользуются, а не из-за какого-то мифического заговора сишников против прогресса.
Неправда.
Дыды-бракоделы из ядра просто говорили "я не хочу учить новый язык". Т.е просто лень помноженная на потерю способности воспринимать что-то новое.> Вы пишете о сишниках как об отставших в развитии существах, которых вы милостиво наставляете на истинный путь.
Неа, я пишу о них, как о тех, кто знает, что инструмент поганый и результат получается плохой. Но уперто стоит на своем выдавая брак раз за разом.
> Так же, наверное, думают и создатели всех этих новых шизофреничных ЯП.
Бгг, эти шизофреничные ЯП заняли свои ниши, а некоторые них, даже выкидывают дыряшку за борт.
Жду новость про замену Binder в ядре, там точно много *оп сгорит.> Ну и кагбе вот результат в новости - вместо умников со своим неуемным ЧСВ нам на помощь приходят создатели железа.
Посмотрим как получится, сенйчас оно на этапе "давайте начинать стандартизацию")
Пока производители железа обделываются с завидным постоянством.
Если народу будет ок повышенный расход памяти, то может зайдет.
> Мы тоже хотим писать безопасные программы.Хотеть то вы хотите, а можете ли? Или "Я тоже так могу, просто не хочу"?))
> это, извините, шлак
Шлак это ваша сишка, потому что на ней практически невозможно писать недырявый код.
> Вы пишете о сишниках как об отставших в развитии существах,
> которых вы милостиво наставляете на истинный путь.Нет, мы пишем о закостенелых бракоделах, которые не хотят писать нормально.
> вместо умников со своим неуемным ЧСВ нам на помощь приходят создатели железа.
Ага, а вы продолжите писать овноков. Зашибись.
> Мы не воротим нос.и тут же в следующей строке
> писать их в более-менее привычном стиле, привычным синтаксисом.
> ... шлак, на котором НЕУДОБНО программировать.Как здесь иногда повторяют, у сишников "особое мышление".
> Ну и кагбе вот результат в новости - вместо умников со своим неуемным ЧСВ нам на помощь приходят создатели железа.
ChkTag из новости - это такой аппаратный pointer provenance, который сломает многие сишные программы, ибо все, кто кастует указатели через int, окажутся в пролёте.
> Мы тоже хотим писать безопасные программы.Но писать их в более-менее привычном стиле
Вы никак не хотите понять, что этот ваш "привычный стиль", привычные шаблоны и порождают те самые пресловутые 70% ошибок. Сишный стиль и надо менять, внедрять немного другую парадигму мышления.
"Мы не хотим ничего менять, но хотим, чтобы оно поменялось (стали получаться безопасные программы)". Это же то самое: "Безумие — это делать одно и то же снова и снова, ожидая иного результата".
>внедрять немного другую парадигму мышления.Какую парадигму мышления.
Что несет, господи.
Си это простой, лаконичный, императивный яп. И при этом довольно близкий к железу. Берем обычный императивный алгоритм, перекладываем на Си, все, больше ничего не нужно.Если нужно этот алгоритм переосмысливать, переписывать в функциональном стиле, оформлять его в каком-то безумном синтаксисе, постоянно бороться с шизочекером, который делали аутисты (это не только про rust если что, а и про Frama C, и про eBPF verifier), то естественно я скажу "знаете что, пишите на этом языке сами".
И как мы видим, не я один такой, а большинство программистов. Производители железа это понимают (см. новость). Нетакусики, которые изобретают новые тулы для программистов - не понимают.
> Берем обычный императивный алгоритм, перекладываем на Си, все, больше ничего не нужно.А потому по невнимательности сравниваете два енама - крокодилы и апельсины - и... они сравниваются! Вот такой замечательный йазычок.
> И как мы видим, не я один такой, а большинство программистов.
Большинство программистов в гробу видели писать на этом кале.
>сравниваете два енамаТак я эту ветку и начал с предложения: хотите что-то поменять - СДЕЛАЙТЕ лучше. Не нравится что в дидовском С можно сравнивать разные enum - сделайте свой, хороший С, в котором нельзя этого делать.
Это же вроде несложно?
Или сложнее, чем изображать из себя эксперта?>Большинство программистов в гробу видели писать
А, ну да, забыл, есть же еще программисты на HTML. Похоже, они как раз и набигают со своим экспертным мнением в новости опеннета.
> хотите что-то поменять - СДЕЛАЙТЕ лучшеТак мы сделали! Называется С++!
Если у вас аллергия не плюсы... ну возьмите раст, так и быть.
А вы предлагаете взять кусок ов.. Си и сделать из него конфетку. Так не бывает.> Похоже, они как раз и набигают со своим экспертным мнением в новости опеннета.
Да хоть на 1С пусть пишут. От этого сишка не станет менее дырявой.
>С++!$ cat azaza.cc
enum : unsigned { A = 14 };
enum : unsigned { B = 88 };int
main()
{
return (A == B);
}$ clang++ -Wall -Wextra -pedantic azaza.cc
$Ни единого предупреждения. И вот так у вас все.
> Ни единого предупреждения. И вот так у вас все.Вы заказали 2 entity одного и того же типа. И сравнили их. С хрена ли это должно быть невалидным действом? Чтобы превратить программирование в совсем брейнфак?
А если оно надо - в плюсах можно завести весьма кастомные типы, навернуть классов, заоверлоадить операторов - и оно так и out of bounds делать не будет, и даже некий эквивалент борова откосплеить может. Если оно надо было - некоторые так и делали.
А, то есть для C++ это был один и тот же enum.
Понял.А можете еще объяснить, почему сишка не дает сравнивать enum'ы крокодилов с апельсинами?
$ cat azaza.c
enum CROCO { CROCO_1 = 14 };
enum ORANGE { ORANGE_1 = 88 };int
main()
{
return (CROCO_1 == ORANGE_1);
}$ cc -Wall -pedantic -Wextra azaza.c
azaza.c: In function ‘main’:
azaza.c:7:25: warning: comparison between ‘enum CROCO’ and ‘enum ORANGE’ [-Wenum-compare]
7 | return (CROCO_1 == ORANGE_1);
| ^~
$
> А можете еще объяснить, почему сишка не дает сравнивать enum'ы крокодилов с апельсинами?Не так уж и не дает, варнинг не ошибка. Действительно не даёт C++, с enum class
> А, то есть для C++ это был один и тот же enum.
> Понял.То-есть если кто написал гвозди и гвозди - будет очень странно, что гвозди нельзя сравнить с гвоздями. И если мне сделают по этому поводу мозг на именно такой декларации это вообще - баг а не фича.
> А можете еще объяснить, почему сишка не дает сравнивать enum'ы крокодилов с апельсинами?
В смысле - не дает? Дает. Но _может_ сгенерить варнинг. Потому что подозрительное действо.
>[оверквотинг удален]
> enum ORANGE { ORANGE_1 = 88 };
> int
> main()
> {
> return (CROCO_1 == ORANGE_1);
> }
> $ cc -Wall -pedantic -Wextra azaza.c
> azaza.c: In function ‘main’:
> azaza.c:7:25: warning: comparison between ‘enum CROCO’ and ‘enum ORANGE’
> [-Wenum-compare]Ну и в чем суть претензий? Вас честно предупредили что вы сравниваете крокодилов и апельсины. Это, типа, баг, чтоли? По моему - фича. Но вон там то у вас оба enum - идентичные.
Или к вопросу о том почему сишку юзать удобно: орет на явно левые действия. Не делает мозг на нормальные действия. Представляете, сравнить гвозди и гвозди странным действом не является.
>А если оно надо - в плюсах можно завести весьма кастомные типы, навернуть классов, заоверлоадить операторовИнтересно, а почему это у людей аллергия на плюсы?
>>А если оно надо - в плюсах можно завести весьма кастомные типы, навернуть классов, заоверлоадить операторов
> Интересно, а почему это у людей аллергия на плюсы?Потому что
1) Сложные. И довольно много наслоений исторически.
2) Это временами ведет к достаточно зубодробильному синтаксису, когда Rust и C++ на равных рубятся за непочетное звание "Brainfuck 2.0".
3) Это порой приводит к убер-навороченному коду который сложно майнтайнить, ибо вкурить в него могут - единицы.Но я видел как из C++ сделали половину раста - и боровы, и проверка bounds, и кастомная обработка какой-нибудь математики если надо.
Но если этим с умом пользоваться - в принципе бывает довольно красиво. Скажем можно сравнивать условных крокодилов с абы каким типом, используя "operator >" и "operator <" так что выглядит как обычно - а на самом деле эвона какой навернутый кастомный тип, или что там кто хотел. Что означает "<" и ">" для этого типа - ессно на усмотрение програмера. Это собссно некая проблема с майнтенансом ибо если некто так повыражовывается - потом код может выглядеть как одно а реально делать - совсем не то что вы подумали. И это некие грабли по части майнтенанса. Ибо очень хочется такого програмера потом придушить.
>>>А если оно надо - в плюсах можно завести весьма кастомные типы, навернуть классов, заоверлоадить операторов
>> Интересно, а почему это у людей аллергия на плюсы?
> Потому что
> 1) Сложные. И довольно много наслоений исторически.
> 2) Это временами ведет к достаточно зубодробильному синтаксису, когда Rust и C++
> на равных рубятся за непочетное звание "Brainfuck 2.0".
> 3) Это порой приводит к убер-навороченному коду который сложно майнтайнить, ибо вкурить
> в него могут - единицы.Полностью согласен. Я бы добавил что Си++ создаёт избыточную сложность если писать в оверинжинирном модернистском стиле с овер-использованием извращённой шаблонной магии (т.е. в общепризнанном стандартизированном стиле). Однако, если сделать партизанский шаг в сторону и использовать Си++ как Си с классами без STL (с альтернативными библиотеками, а также частью сишных), и лишь минимальной щепоткой шаблонов (только там где они действительно нужны), то на плюсах кодировать становится намного приятнее чем на чистом Си.
Это проклятие Си++ лежит на поверхности, и то что требуется альтернативная удобная для масс стандартная библиотека (без шаблонного кретинизма) - писал уже много раз.
Это правда, но не вся:
enum class X : unsigned {a, b, c};
enum class Y : unsigned {a, b, c};...
auto flag = X::a == Y::b; // Ошибка компиляции - несовместимые типы
> А потому по невнимательности сравниваете два енама - крокодилы и апельсины -
> и... они сравниваются! Вот такой замечательный йазычок.Сишка простой - и поэтому местами педальный. Зато благодаря простоте на нем системщина простая, шустрая, предсказуемая и не надо убивать массу времени и сил на борьбу с компилером пытаясь ему объяснить что вот этот доступ в mmaped HW - валидно, так и задумано и just as planned. А вот как вы это с вашими высокопарными абстракциями вообще сделаете?
Это там обычно - от "никак" и вы вообще не системный яп тогда - до весьма конкретных ужастиков как в Rust которые даже brainfuck фору дадут запросто. В половине случаев еще и unsafe к тому же.
>> И как мы видим, не я один такой, а большинство программистов.
> Большинство программистов в гробу видели писать на этом кале.Почему-то большая часть ОС, фирмварей, бутлоядеров, ядер и системного софта - на си. Или вы что под калом имели в виду? Языки с синтаксисом брейнфака и прочими наворотами делающими майнтенанс кода - mission impossible - ибо если уникум писавший его уволится то другого кто этот полет мысли сможет и захочет раскурить вообще фиг найдешь?!
>не надо убивать массу времени и сил на борьбу с компилеромПока оптимизацию не включишь, а потом опять надо. Внезапно окажется что и memset() без магических атрибутов не написать, да и указатели не очень-то кастуются из-за UB.
Божественный язык, особенно отметим поддержку фич для системного программирования.
> Пока оптимизацию не включишь, а потом опять надо.Не подтверждаю. Как практикующий это все. Надо - 1 раз все же прочитать стандарт и усвоить что и кому реально обещали, а что - нет. И тогда все ЗБС. А если почитать еще стандарты antibug coding и проч, и взять в оборот, желательно прикрутив статический анализатор как часть билда - мои фирмвары прекрасно работают, годами. И зачастую адекватный код получается с 1 попытки. И fuzzing оно - переживает на ура. А вот в коде дидов да - каках вынимать приходилось изрядно.
> Внезапно окажется что и memset() без магических атрибутов не написать,
Да вообще-то можно и без, но от окружения зависит. Но да, спеки на стандарт местами специфичные, а самому это надо как правило только в экзотичных случаях (экзотичные окружения). Нюанс только в том что писать какому-нибудь C++ или Rust стартап, интринсики, внутренние фичи и подобные вещи под кастомное окружение - вы вообще заманаетесь просто в край. Сколько из фанатов афинных типов сможет само поднять хотя-бы микроконтроллер вот лично своим кодом - с ноля? Желательно без костылей типа ассемблера - который неструктурированный и еще более уродский и паршивый в майнтенансе.
> да и указатели не очень-то кастуются из-за UB.
На мой вкус кастинг указалетей вообще должен быть исключением а не правилом, типа unsafe в Rust.
> Божественный язык, особенно отметим поддержку фич для системного программирования.
Проблема в том что остальные профачились по этой части еще жестче. Кому интересно может почитать рассылку Rust for Linux для понимания масштаба факапов, сколько раз костыляли рантайм, тулчейн, пилили костыли и проч. И вот за дофига лет этой долботни практических результатов - почти ноль.
Если б сишники писали софт так же - мы бы ща браузили веб в Arachne под MSDOS, пожалуй. Считая Win95^W то-есть конечно Win25 с досявым ядром - нехилым апгрейдом. До остального мы бы такими темпами просто не дожили бы нахрен. Примерно как идея дожить до момента когда вон та концептуальная хрень превратится в что-то практическое. Но, к счастью, сишники не настолько чистоплюи и у них Getting Things Done в приоритете.
>Си это простой, лаконичный, императивный яп.Ха ха ха. Давайте, покажите мне самую обычную строку на си, а я посчитаю, сколько тысяч строка кода вам для этого понадобится.
>Если нужно этот алгоритм переосмысливатьСовершенно верно. Ибо концепция владения
>переписывать в функциональном стилеСишники не в курсе, что современные компиляторы хорошо оптимизируют функциональный код, как минимум со времён MLTon-а? Или у них головы взрываются, когда они монады видят?
>оформлять его в каком-то безумном синтаксисеВы забыли обосновать данное утверждение
>постоянно бороться с шизочекеромАй-ай, оказывается память портить нехорошо.
>это не только про rust если что, а и про Frama C, и про eBPF verifierЛичино я считаю си синтаксис крайне уродливым, но это моё личное дело. Но как только вы начинаете осуждать Frama C, то тут же изобличаете себя: вас пугает не синтаксис, а семантика. Даже если вам дать статический анализ для сишного исходника, вы всё равно его не осилите.
>И как мы видим, не я один такой, а большинство программистов.Ага большинство. Осталось только понять, а откуда тогда взялись куча программ на rust, c, haskell, ocaml и так далее.
>rust
>афинных типовРечь про это:
https://doc.rust-lang.org/nomicon/subtyping.html
?
Частный случай афинных типов - владение.
> Раз вы такие умные, сделайте нам, сишникам, компилятор,
> который будет гарантированно генерировать безопасный код.Не, чувак, этот мусор никак не исправить)) Можно, и даже нужно!, об****ть и сжечь.
В недостандарте вашего "переносимого ассемблера" почти 200 UB gist.github.com/Earnestly/7c903f481ff9d29a3dd1
Вот как можно из этого сделать нормальный компилятор, если сам "стандарт" говорит "а х его знает что произойдет в этом коде"?> Так что да, это позор - за более чем полвека никто из умничающих экспертов
> так и не придумал как сделать си более безопаснымMISRA C. Берем сишку, запрещаем в ней половину возможностей и вуаля - писать на этом стало практически невозможно.
А вообще решение придумали давно - выбросить дыpяшку и заменить хотя бы на с++.
Просто диды, которые ничего больше не в состоянии осилить, и всякие аймфинишы, не умеющие признавать своих ошибок, копpотивляются ее замене на хоть что-то.
> Не, чувак, этот мусор никак не исправить)) Можно, и даже нужно!, об****ть и сжечь.Можете начать избавляться от этой анафемы прямо с своего компьютера! Наверняка там в всяких сервисных чипах, контроллерах, загрузочной фирмвари и чем там еще - полно си. На костер этого негодяя! Заодно и форум от спама отдохнет :)
А так - много вы фирмварей, бутлоадеров, ядер и низкоуровневой системщины написали то, чтоб свое мнение иметь? :)
> Не, чувак, этот мусор никак не исправить)) Можно, и даже нужно!, об****ть
> и сжечь.Начать можно прямо с вашего компьютера который без сишки неоперабелен :)
Да не умные они, они только вонять в интернетах могут, а в реале максимум жсоны перекладывают. Раст даже для геймдева не подходит, не говоря уж про серьёзное ПО для работы.
>а в реале максимум жсоны перекладываютТолько вот сишники даже жсоны не перекладывают, так как всё потечёт и попортит память.
Сишники делают ~80-90% десктопного софта, остальное это C# и swift. Ну и примерно вся эмбеддовка. В РФ просто ни то ни другое особо не развито, тут больше на перепродажу и сервис бизнес целится, наверное поэтому такое мнение сложилось. А так в мировых рейтингах сишка в топе.
> Сишники делают ~80-90% десктопного софтаЧё??? 80-90% это с++, а не дырявая.
Игровые движки - с++
Офисный пакеты - с++
Игры - с++
3д пакеты - с++Да даже компиляторы - два открытых оптимизирующих компилятора написаны на с++. Причем gсс был вначале на сишке, но потом перешли на плюсы.
> 80-90% это с++Процентов чего? Наименований? Которые используют 1000-и-1 библиотеку на Си. В итоге, кодовая база на 99,9% на Си. (И это хорошо.)
> Причем gсс был вначале на сишке, но потом перешли на плюсы.
Это была диверсия со стороны Плюсов. Напихать в стандарт огромную библиотеку шаблонов и сделать предельно сложной её поддержку в компиляторе на Сях. Плюс, разрабам компилятора, хош-нехош, пришлось изучать чудовищно раздутый стандарт Плюсов. И переход стал неизбежен.
Сейчас что-то подобное пытается провернуть Ржавый. Тоже с поддержкой корп, кстати. Через 10-20 лет - повторить, с новым, Улучшенным(TM) Языком(TM).
> В итоге, кодовая база на 99,9% на Си.Пруфы в студию. Пока это выглядит как розовые очки с линзой толщиной в лобовую бронь Т-90.
> (И это хорошо.)
И именно поэтому у нас так много дырявого софта. Потому что он использует дырявые либы.
> Это была диверсия со стороны Плюсов.
Это было лучшее решение. Потому что убогость, невыразительносить и многословность сишки не позволяла эффективно писать компилятор.
> И именно поэтому у нас так много дырявого софта. Потому что он
> использует дырявые либы.Так вы не написали другой софт, только бла-бла развели как все круто и фильдиперсово, и какахами покидались. Поэтому все так и останется. Хамство на форуме - софт не пишет.
>Сишники делают ~80-90% десктопного софтаАга, сишники. Ещё в 90-ые появился Visual Basic, а вы до сих пор свои сказки рассказываете.
> Раз вы такие умные, сделайте нам, сишникам, компилятор, который будет гарантированно генерировать безопасный код.Вам, сишникам, диды уже сделали святой СТАНДАРТ, в котором заботливо прописаны многие пункты, на корню пресекающие любые гарантии безопасности.
Поэтому создателям компиляторов и даже вон CPU приходится сбоку в обход стандарта прикручивать костыли через флажки компиляции, дабы эта дидовская отрыжка из 70х была бы хоть немного юзабельна в современных реалиях.
Что непонятного?
>например, в реализации MTE для каждых 16 байт создаётся 4-битный тегЯ так понимаю у кого-то лишняя оперативка завалялась, и он, вместо того, чтобы отдать её мне, решил её проср^W потратить?
> Я так понимаю у кого-то лишняя оперативка заваляласьА потом окажется что в ваш сервак больше оперативы не влезет, поэтому вы просто купите новый.
не рассказывайте этому господину про ЕСС память, а то ведь он желчью изойдет, что там из каждых 72 бит восемь ЗРЯ простаивают!!1
Похоже на борьбу нанайских мальчиков.
Все внедряют новые механизмы, инструкции, алгоритмы...
И все не помогает, только делает все хуже.Неужели инженерам не очевидно, что проблема в архитектуре?
Некоторые-бы написали, что нужно менять девочек, а не двигать кровати.
> Неужели инженерам не очевидно, что проблема в архитектуре?пока существует спрос на Г, то есть существуют г-еды, будут производить Г, будет существовать предложение.
>> Неужели инженерам не очевидно, что проблема в архитектуре?
> пока существует спрос на Г, то есть существуют г-еды, будут производить Г,
> будет существовать предложение.Существует спрос - на Getting Things Done. За разумное время и деньги с приемлимыми параметрами. А если кто пошел писать серву, 10 years passes, still not f...g here - упс, извините, господа. Захрен такое счастье кому?! Ну всю тиму и уволили нахрен. И фуксию аналогично. Такие соотношения просто не от мира сего.
>За разумное время и деньги с приемлимыми параметрами.Это вы сейчас на Джаву, Си-шарп, Питон, Джава-скрипт намекаете? Поскольку к Си то, что вы перечислили, не имеет никакого отношения. Потому что денег приходится выкидывать немало на ликвидацию последствий дырявого софта (а потом ещё и на исправление этих дыр), в котором строк кода чуть больше тысячи (с меньшим количеством кожаные мешки еще как-то справляются).
>Неужели инженерам не очевидно, что проблема в архитектуре?i432
итаникещё что-то очень красивое но ненужное :-)
О, они так скоро эльбрус переизобретут
Но самое интересное, что этот Неоэльбрус будет реально в железе и доступен рознице.
Ага, как раз хотел про Эльбрус упомянуть. Реально, Intel и AMD давно надо было этот ChkTag выкатывать - для всех 64-битных процессоров по умолчанию, а не дожидаться кренделей из госдепа и нашествий бешеных растофриков. Но с другой стороны - если бы не было столько хайпа и пугалок со стороны растишек, то и не было бы этого принципиального решения. Давно пора.
А потом 5 лет патчить ведро чтобы оно не разваливалось при его включении.
судя по описанию, выглядит даже не как дыра, а как дырища библейских масштабов
Наконец-то. Думал, что после 2018 года появятся аппаратные фиксы Спектра и Мельтдауна, а они только сейчас появляются
Чекай, они сделают проверку тэгов только на этапе retire инструкции. Таким образом спектр с мельдонием останутся в безопасности
Амуде превращается в длинющий Влив и стоить будет также. Кто мечтал,что войти только для мега-пупер профессионалов?Остальным смурфы на пять лет и хватит для котиков.
Ты дичь втираешь. Поддержка тэгировпнной памяти есть в мобильных процах у ябла. Какой там vliw
Неудивительно что такое ничто как арм один из тех кто обязан приспосабливаться.
Начало конца rust. Всячески одобряю. Краборжавофилы возбудились в теме, замечательно -- хватило умишка понять, что это сулит ржавчине. Что ж, всем, полагающим, что они умнее проектировщиков Intel, ARM и AMD вместе взятых -- флаг в руки и бегом писать петиции о запрете данной инициативы. Вас, конечно же, услышат!
Какие же сишники необучаемые. Си будет проверять ошибки и падать в рантайме, как позорный гвидобейсик. В то же время rust будет проверять ошибки во время выполнения и если скомпилировалось, значит работает.
Какие же растеры необучаемые -- им и невдомек, что кроме раста существует 100500 языков, которые получат практически бесплатный механизм защиты. Хотя что это я, они просто понимают, что это не просто гвоздь, а целый набор саморезов в крышку гроба раста.> Если скомпилировалось, значит работает
Ну, тут я даже комментировать не буду, фраза, достойная быть выбитой на могильном камне раста!
> что кроме раста существует 100500 языков, которые получат практически бесплатный механизм защитыАхаха! А ничего, что сабж включается через флажки компилятора сугубо для дырявых C и C++. А в других нынче живых языках в принципе нет проблем уровня "обращение к уже освобождённым блокам памяти, переполнение буфера или обращение к памяти до инициализации".
Зато как против Раста воюет!
Технология, которая только разрабатывается и планируется к реализации в новых CPU, включается флажками компилятора... Что?! Если ты про MTE, чудила, то флажками компилятора включается защита стека и глобальных данных вне кучи, а для защиты кучи достаточно использовать аллокатор, поддерживающий MTE.
> Технология, которая только разрабатывается и планируется к реализации в новых CPU, включается флажками компилятора... Что?! Если ты про MTEДа, она будет включаться флажками, как в MTE. Или ты думал, ее впендюрят всем во все процессоры по-умлочанию. 😂
> Если ты про MTE, чудила, то флажками компилятора включается защита стека и глобальных данных вне кучи, а для защиты кучи достаточно использовать аллокатор, поддерживающий MTE.
Ах, ну да, в аллокаторе у нас ведь MTE не флажками компилятора включалось. "Вы не понимаете, жто другое! 😭"
> Ах, ну да, в аллокаторе у нас ведь MTE не флажками компилятора включалось. "Вы не понимаете, жто другое! 😭"
LD_PRELOAD=/path/to/libscudo.so ./your_programстало у нас внезапно флагом компилятора? циpк уехал, клoyн остался...
Или.. постой... ты виндузятник?
>> Ах, ну да, в аллокаторе у нас ведь MTE не флажками компилятора включалось. "Вы не понимаете, жто другое! 😭"
>LD_PRELOAD=/path/to/libscudo.soЧел, ты читаешь, что тебе пишут? Чобы в либе liscudo.so появилось MTE, ее нужно скомпилировать с флажками компилятора, включающие это MTE. Что тебе не понятно?
> Или.. постой... ты виндузятник?
Ты читатель пятой точкой.
https://www.l3harris.com/newsroom/editorial/2023/10/scudo-ha...не пoзoрься, scudo -- это аллокатор с поддержкой MTE, тебе не надо его пересобирать, юный гений.
> не пoзoрься, scudo -- это аллокатор с поддержкой MTE, тебе не надо его пересобирать, юный гений.Исходный код у него есть, прцессорный MTE он использует, но собирать его не надо. Бинари поди с небес спускаются. Ясно, понятно...
> Исходный код у него есть, прцессорный MTE он использует, но собирать его
> не надо. Бинари поди с небес спускаются. Ясно, понятно...Его надо собирать не больше чем любой иной код на любом ином ЯП. В этом отношении лучше только скриптоязыки.
>кроме раста существует 100500 языков, которые получат практически бесплатный механизм защитыВы лучше скажите, кому он нужен - может Haskell-ю? Или Ocaml-у? Или JS-у?
>Ну, тут я даже комментировать не будуОтсутствие долгих часов отладки - это уже достаточная причина уйти от сишки. Ибо код надо писать, а не отлаживать.
Я полагаю, что тот же Haskell вполне обрадуется возможности вынести ту же проверку границ блоков памяти на CPU... Хотя с этим вопросом тебе скорее к разработчикам Haskell.
> Я полагаю, что тот же Haskell вполне обрадуется возможности вынести ту же проверку границ блоков памяти на CPU...Сорян, в Хаскеле не сношаются с буферами. А проверки границ типов коллекций в рантайме там и так есть.
О, ты изучил устройство компилятора Haskell, и проверки границ коллекций там реализованы непосредственно при помощи духа святого? Продолжайте наблюдение, мы с вами свяжемся.Я о чем: если программист не видит в своем коде, скажем, байтового буфера, это совершенно не означает, что его нет в скомпилированной программе в принципе )
>> А проверки границ типов коллекций в рантайме там и так есть.
> Haskell, и проверки границ коллекций там реализованы непосредственно при помощи духа святого?Они реализованы при помощи програмных рантаймных проверок, о чем тебе и написали. Причем проверок с нормальной обработкой ошибок на уровне языка.
Ты же, гений, предложил вместо этого аппаратные проверки из сабжа, чтобы при ошибке софт просто вверх лапками ложился.
Господи, и он еще язвит там что-то...
> Они реализованы при помощи програмных рантаймных проверокДа ну? Быть не может, а я то думал... А оно вон оно как...
А скажи-ка, что мешает реализовать эти проверки на основе предлагаемого набора расширений для CPU? А подумай, может это быстрее будет, с аппаратной поддержкой-то? Я не знаю деталей предложения, могу ошибаться, но что-то мне подсказывает, что проектанты разрабатывали их именно с учетом применимости в реальных софтинах...
Честно скажу, спросил ИИшку:
Таким образом, да, ChkTag потенциально может использоваться вместо или в дополнение к программным проверкам границ, обеспечивая более эффективную и надёжную защиту от выхода за пределы выделенной памяти — при условии, что:
используется поддерживаемое оборудование (будущие процессоры Intel/AMD с ChkTag),
программное обеспечение скомпилировано с поддержкой этих инструкций.Это делает ChkTag перспективной заменой для многих runtime-проверок
Что с лицом?
> Я не знаю деталей предложения
> что-то мне подсказывает
> спросил ИИшку
> Что с лицом?Что с лицом спрашиваешь? Я его уже разбил себе фейспалмами.
Я надеюсь, ты просто троллишь.
>Я полагаю, что тот же Haskell вполне обрадуется возможности вынести ту же проверку границ блоков памяти на CPUКоторая будет только в процессорах на полках магазинов. Или по вашему нужно все процессоры списывать в утиль?
> Вы лучше скажите, кому он нужен - может Haskell-ю? Или Ocaml-у? Или JS-у?Хрен ваших эзотериков знает - а в JS что-нибудь заоффлоадить вполне можно будет. Что там эзотерики (не)выигрывают - это кому-то интересно вообще? Их вообще на радаре не видно и они погоду не делают.
> Отсутствие долгих часов отладки - это уже достаточная причина уйти от сишки.
> Ибо код надо писать, а не отлаживать.При том как показал пример тех эзотериков, код там именно write only. Его потом вообще никто читать не хочет. А программы чаще всего - театр 1 актера.
>кому он нужен - может Haskell-ю? Или Ocaml-у? Или JS-у?А хотя бы сходить под себя они без частей на Си они могут? ;)
Впрочем, кого интересует что творится за кулисами.
> кроме раста существует 100500 языков, которые получат практически бесплатный механизм защиты."Произошла ошибка доступа к памяти при чтении по адресу 0xXXXXXXXXXXXXXXXX, процесс был завершён"
Отличная защита, раст ненужён!!!11.
Отладка программы? Не, не слышал, раз код компилируется -- значит работает, что за бред там происходит -- неважно.
> Отладка программы?И что ты наотлаживаешь?
Когда оно повторяется у клиента на его конктретном сетапе/данных раз в месяц когда меркурий становится ретроградным?
Но данные тебе никто не даст, а что полез не в свою память тебе краш тоже не скажет.
Поэтому прдль отладчик до посинения.> Не, не слышал, раз код компилируется -- значит работает,
> что за бред там происходит -- неважно.Так это же любая сишная программа)))
Пишешь за пределы буфера - сойдет!
С разных потоков - еще лучше!
Главное что не крашнулось на старте и можно в прод.
> Поэтому прдль отладчик до посинения.Да персонаж уже запутался, бедняга, в порыве войны против Раста: то ему нужен сабж (ведь ловит дырени), то теперь уже не нужен (ведь мастера отладки и так умеют писать программы без дыреней в памяти). Цирк да и только.
>С разных потоков - еще лучше!Это будет в следующем наборе команд, лет через семьдесят.
>> "Произошла ошибка доступа к памяти при чтении по адресу 0xXXXXXXXXXXXXXXXX, процесс был завершён"
> Отладка программы? Не, не слышалЧего отладка, лол? Сабж буквально создан для того, чтобы быть костылем-заплаткой, грохающей процесс при ошибках работы с памятью (вместо того, чтобы молча их хавать, открывая дырени).
>Отладка программы? Не, не слышал, раз код компилируется -- значит работаетУзнаю сишников. Только вместо того, чтобы отлаживать алгоритм, сишники отлаживают свои указатели, выясняя где же там они попортили память.
> если скомпилировалосьsic!
Укажите, сколько терабайт памяти нужно, чтобы скомпилировалось.
> Начало конца rust.Какой забористый копиум))
> Что ж, всем, полагающим, что они умнее проектировщиков Intel и AMD вместе взятых
12.09.2025 VMScape - атака на CPU AMD и Intel, обходящая изоляцию между гипервизором и гостевой системой
19.10.2024 Обход защиты от атак Spectre и эксплоит для извлечения данных из памяти другого процесса
09.04.2024 Новый вариант атаки BHI на CPU Intel, позволяющий обойти защиту в ядре Linux
14.03.2024 Уязвимость в процессорах Intel Atom, приводящая к утечке информации из регистров17.10.2025 В некоторых процессорах AMD Zen 5 генератор случайных чисел RDSEED выдаёт 0 в 10% случаев
09.07.2025 Атака TSA, приводящая к утечке информации из микроархитектурных структур CPU AMD
11.04.2025 CPU AMD Zen 5 подвержены уязвимости, допускающей изменение микрокода и обход изоляции SEV-SNP
04.02.2025 Уязвимость в загрузчике микрокода в CPU AMD, позволяющая обойти изоляцию SEV-SNP
13.12.2024 Атака BadRAM, позволяющая обойти механизм аттестации SEV-SNP в CPU AMDКажется проектировщики просто кровные браться СИшников)
Ты же сделал свой процессор, получше, правда? Ведь сделал же?
> Ты же сделал свой процессор, получше, правда? Ведь сделал же?Да он и операционку написал, что уж. Видимо один из уволенных програмеров Fuchsia.
> Начало конца rust.Смешно.
> Всячески одобряю. Краборжавофилы возбудились в теме, замечательно -- хватило умишка понять, что это сулит ржавчине.
Начиная с Rust 1.84 стабилизирован strict provenance API. Сможешь показать то же самое в Си?
> Что ж, всем, полагающим, что они умнее проектировщиков Intel, ARM и AMD вместе взятых -- флаг в руки и бегом писать петиции о запрете данной инициативы. Вас, конечно же, услышат!
Наоборот, всем сишникам пора начать писать петиции, потому что с ChkTag большинство сишных программ перестанут запускаться.
> Начиная с Rust 1.84 стабилизирован strict provenance API.А-а-а-а, то есть растеры смогут заняться любимым делом -- переписывать свои проекты для задействования этой фигни вместо предыдущей фигни? Рад за них, без дела не останутся.
> Наоборот, всем сишникам пора начать писать петиции, потому что с ChkTag большинство сишных программ перестанут запускаться.
Ну раз ты так сказал, тогда конечно...
>Рад за них, без дела не останутся.Завидуете?
>Ну раз ты так сказал, тогда конечно...
Это обычная логика и здравый смысл. Правда не все Сишники в это умеют. Увы. Вот вы тоже не смогли.
> Краборжавофилы возбудились в теме, замечательно -- хватило умишка понять, что это сулит ржавчине.А что сулит? Неужели появлене вулнов в памяти и последующим прибитием процесса программы при помощи сил сабжа? 🤣 Та не, это же вроде для Сишки сценарий...
звонила AS/400 из 1990 года, просила передать приветтакже просила сказать - если оставить пользователю возможность самому генерировать машинный код, ничего у вас не получится.
Ага, только техножрецы из межделмаша могут генерировать машкод для пользователя, подписывать его своей личной подписью, а as400 будет эту подпись проверять
ерунду не пишитезрн блгдрн
Это что же получается? Ржавый теперь... не нужен? Вот это поворот))
> Вот это поворот))Вы процессор вначале новый купите, а потом проверим помогло оно или нет))
Всегда был.
> Всегда был.Про то я в курсе. Просто сложно удержаться и не потроллить некоторых ;)
Рыночек уже порешал Раст не занял хоть какой либо значимой доли.
Не знаю в чьей голове там какой рыночек порешал, но примерно около миллиарда людей планеты (может уже и больше) используют уже ПО на Rust: Google, Microsoft, Amazon, Mozilla, Discord, Dropbox и прочие старые лидеры софтостроения используют Rust. Но вы можете и дальше пытаться себя утешать фантазиями про какой-то там рыночек. Правда, это вам не поможет особо.
Не волнуйтесь прохфессор ржавчина уже в андроиде, и в ядре, и в утилитах на замену дырявах...
Думаю она вас переживет.
И меня, возможно.
> Не волнуйтесь прохфессор ржавчина уже в андроиде, и в ядре, и в
> утилитах на замену дырявах...Да я в общем и не волнуюсь)) Я с интересом жду продолжения драмы. Враг подкрался с тыла, хы))
> Думаю она вас переживет.
> И меня, возможно.Да без вопросов)) С учётом всех обстоятельств шансы на выживание конкретного индивида сегодня у нас так себе...
> Это что же получается? Ржавый теперь... не нужен? Вот это поворот))"Вот это поворот" будет, когда вы наконец-то наберетесь компетенции, чтобы понимать смысл написанного.
А так у нас есть выбор: вырезать все ошибки при работе с памятью на корню ВО ВРЕМЯ КОМПИЛЯЦИИ или же греть CPU в попытках выловить их ВО ВРЕМЯ ВЫПОЛНЕНИЯ с последующим прибитием процесса программы.
Знатный эксперт ProfessorNavigator, конечно же, выбирает второй вариант - и Раст теперь не нужен. Очередная сокрушительная победа над здравым смыслом!
>> Это что же получается? Ржавый теперь... не нужен? Вот это поворот))
> "Вот это поворот" будет, когда вы наконец-то наберетесь компетенции, чтобы понимать смысл
> написанного.
> А так у нас есть выбор: вырезать все ошибки при работе с
> памятью на корню ВО ВРЕМЯ КОМПИЛЯЦИИ или же греть CPU в
> попытках выловить их ВО ВРЕМЯ ВЫПОЛНЕНИЯ с последующим прибитием процесса программы.
> Знатный эксперт ProfessorNavigator, конечно же, выбирает второй вариант - и Раст теперь
> не нужен. Очередная сокрушительная победа над здравым смыслом!Что, подгорает?)) Понимаю)) Только вы не в ту сторону воюете - вы это тем, кто вам такую подляну подложил, объясняйте, а не мне.
P.S.
Лишнее действие при таких раскладах как раз проверка во время компиляции. Потому что вы потом всё равно будете гонять программу по всякому на тестах. Там всё и выплывет.
> Что, подгорает?)) Понимаю))Понимаете как подгорает?
Это хорошо!
Не удивлен, что аФФтор одного из самых уродливых опенсорс приложений такое понимает!
> Лишнее действие при таких раскладах как раз проверка во время компиляции. Потому что вы потом всё равно будете гонять программу по всякому на тестах. Там всё и выплывет.Или не выплывет.
Как в одно весьма глючной библиотеки для книжек))
>> Что, подгорает?)) Понимаю))
> Понимаете как подгорает?
> Это хорошо!
> Не удивлен, что аФФтор одного из самых уродливых опенсорс приложений такое понимает!
>> Лишнее действие при таких раскладах как раз проверка во время компиляции. Потому что вы потом всё равно будете гонять программу по всякому на тестах. Там всё и выплывет.
> Или не выплывет.
> Как в одно весьма глючной библиотеки для книжек))Да вы не убивайтесь так, это ещё нескоро будет)) Впрочем, всё равно не удержусь, процитирую один фильм: "Работать теперь пойдёшь... Делать то умеешь чего?" ;)
> Да вы не убивайтесь так, это ещё нескоро будет)А как же все заламывания рук, проклятия в стороноу капиталистов и знаменитое "ЧАСИКИ ТИКАЮТ!!" ?
Неужели конец света и человечества откладывается?
Неужели сумасшедшие пророки врали??
> А как же все заламывания рук, проклятия в стороноу капиталистов и знаменитое
> "ЧАСИКИ ТИКАЮТ!!" ?А часики не тикают?)) У вас есть бесконечные ресурсы - нефть, газ, редкоземельные металлы? Посевные площади и банально место для проживания растущего с каждым днём количества людей?
> Неужели сумасшедшие пророки врали??
Хорошо, я обязательно передам С.В. Дробышевскому, что вы считаете его сумасшедшим. Он порадуется))
>нефть, газ, редкоземельные металлыА других источников энергии, заменителей редких металлов не бывает, да? И материаловедение застыло и совершенно не развивается?
> А других источников энергии, заменителей редких металлов не бывает, да?Какие например?)) И да, нефть и газ используются далеко не только как источники энергии. Вся органическая химия, т.е. пластики, всякие современные углеродистые волокна и т.п. - это всё нефть и газ. Но и это не важно. Жрать вы что будете? Куда денете влияние людей на климат - а оно будет только нарастать (и не только на климат, на планете вообще всё взаимосвязано) - что будете делать с промышленностью? Что будете делать с растущей численностью людей? Отстреливать, стерилизовать?
> И материаловедение
> застыло и совершенно не развивается?Есть такое подозрение, что в нём я понимаю больше вашего. Потому что у меня в приложении к диплому стоит оценка в том числе и за него. Так что может не будем? ;)
>Какие например?Солнце, ветер и вода - наши лучшие друзья. Плюс водород в бесконечных количествах. Плюс ядерная энергия (в будущем и термоядерная). Плюс биоэтанол.
>Вся органическая химия, т.е. пластики, всякие современные углеродистые волокна и т.п. - это всё нефть и газ.
И что? Их для этого потребляют в гораздо меньших количествах. И, как я уже заметил, материаловедение не стоит на месте.
>Жрать вы что будете?
Синтетический белок и овощи с фруктами из теплиц.
>что будете делать с промышленностью?
Превращать в замкнутые производства.
>Что будете делать с растущей численностью людей? Отстреливать, стерилизовать?
Стимулировать сокращение. Налогами. Запретами. Работают все меры, доказано Китаем. Я даже больше скажу. Когда численность действительно станет критической, включатся природные меры её саморегуляции (были эксперименты на мышах), и люди просто меньше начнут рожать других людей.
> Солнце, ветер и вода - наши лучшие друзья. Плюс водород в бесконечных
> количествах. Плюс ядерная энергия (в будущем и термоядерная). Плюс биоэтанол.Эти сказки вы будете рассказывать тем, кто не понимает в физике и биологии (ребята, учите физику и биологию, чтобы не быть вот такими).
> И что? Их для этого потребляют в гораздо меньших количествах. И, как
> я уже заметил, материаловедение не стоит на месте.Чего?)) Количество вещества - это количество вещества. Не важно - какого. Если у вас некое изделие должно иметь определённый объём, то оно будет иметь этот объём, независимо от материала. При этом на изготовление любого нового материала всегда уходит больше энергии. Потому что производственные цепочки усложняются.
> Синтетический белок и овощи с фруктами из теплиц.
У-у, как всё запущено... А вы уже умеете синтетический белок производить?)) Такой, чтобы не сдохнуть через полгода его потребления? И из чего вы его будете производить? Кроме того, любое производство - это расход энергии, воды, полезных площадей, материалов.
> Превращать в замкнутые производства.
Как?
> Стимулировать сокращение. Налогами. Запретами. Работают все меры, доказано Китаем.
Ну т.е. убивать, но другими методами. Только ради того, чтобы кучка богатеев продолжала свои бессмысленное паразитическое существование. Кто решения о неугодности будет принимать? Были, кстати, тут уже такие. Тоже посчитали, что они - высшая раса. А других в газовых камерах того...
> Я даже
> больше скажу. Когда численность действительно станет критической, включатся природные
> меры её саморегуляции (были эксперименты на мышах), и люди просто меньше
> начнут рожать других людей.И это по вашему хорошо? Уважаемый, а у вас с головой как? Остальным, кстати, если это прочитает кто-то ещё до того, как удалят, рекомендую поинтересоваться - что это был за эксперимент с мышами, и чем он закончился.
>Эти сказкиКакие ещё сказки? Про зелёную энергетику никогда не слышали? Всё ещё хуже, чем я изначально предполагал (рука-лицо).
>Чего?)) Количество вещества - это количество вещества.
Где вас так контузило, что вы за простой мыслью не в состоянии уследить? Газа и нефти сжигается гораздо больше, чем потребляется тем же химпромом. Поэтому, если прекратить сжигать нефть и газ, то на химпром их хватит очень надолго.
>А вы уже умеете синтетический белок производить?
Лично я - нет. А учёные, которые этим занимаются - да, умеют.
>> Превращать в замкнутые производства.
>Как?Что значит, как? Вам на пальцах объяснять? Может, почитаете вначале по теме что-нибудь?
>Ну т.е. убивать, но другими методами
Незачатого человека нельзя назвать убитым, даже если очень сильно стараться натянуть сову на глобус. Но вы как-то умудрились.
>Только ради того, чтобы кучка богатеев продолжала свои бессмысленное паразитическое существование.
Устройте им революцию, я не против. Но сам участвовать не буду.
>Кто решения о неугодности будет принимать?
В Китае это было правительство страны, законодательный орган. Полагаю, Китай - не единственная страна, у которой есть законодательная ветвь власти.
>И это по вашему хорошо?
Если людей слишком много, они или занимают новые территории (экспансия), или пытаются повысить эффективность использования имеющихся ресурсов (интенсификация), или вымирают (сокращается ЕСТЕСТВЕННЫМ путём их численность). Таковы законы природы. Других у меня для вас нет.
> Какие ещё сказки? Про зелёную энергетику никогда не слышали? Всё ещё хуже,
> чем я изначально предполагал (рука-лицо).Нет, просто в отличие от вас, я хорошо знаю, что это такое и как оно на самом деле работает. Что вся эта энергетика - не "зелёная", а просто альтернативная. "Зелёного" там нет ничего от слова совсем. Если только доллары ;) Я знаю КПД солнечных панелей (порядка 5%), сложность их эксплуатации, изготовления и утилизации (каждые 5 лет). Знаю из чего, как, кем и где делаются детали ветряков, знаю нюансы их эксплуатации, в том числе - влияние на окружающую среду. Знаю, что промышленности требуется устойчивый поток энергии, чего не способен дать ни один альтернативный источник энергии. Знаю про конечность запасов урана, и про проблемы термоядерной энергетики. Потому что я инженер. Да, ребята - учитесь на инженеров, и в целом - учитесь, учитесь и учитесь. Всю жизнь.
> Где вас так контузило, что вы за простой мыслью не в состоянии
> уследить? Газа и нефти сжигается гораздо больше, чем потребляется тем же
> химпромом. Поэтому, если прекратить сжигать нефть и газ, то на химпром
> их хватит очень надолго.Не вопрос - прекращайте сжигать. Пересаживайтесь с личного авто на общественный транспорт. Или вовсе ходите пешком. Не пишите комментарии в интернете, не пользуйтесь электроэнергией вообще. Откажитесь от пластика, лекарств и т.д. Только камни, палки и сыроедение (вот ведь всякие бычьи цепни порадуются). И костёр зимой жечь нельзя - ни-ни, оно загрязняет окружающую среду.
> Лично я - нет. А учёные, которые этим занимаются - да, умеют.
Я им передам. Вот они удивятся ;) Но и это бы ладно. Но вы ж вообще не представляете, как работает ваш же организм. Рацион человека в норме где-то на 70% состоит из углеводов, процентов на 20 из жиров, и 10 - всё остальное (белки, витамины, минеральные соединения). Для нормальной работы пищеварительной системы требуется клетчатка и т.д. В общем - берёте учебник по анатомии человека, и вперёд.
> Что значит, как? Вам на пальцах объяснять? Может, почитаете вначале по теме
> что-нибудь?Именно на пальцах. Инициатива ваша - вам и карты в руки. Кто, как, на каких ресурсах, какими техническими методами всё это будет реализовывать.
> Незачатого человека нельзя назвать убитым, даже если очень сильно стараться натянуть сову
> на глобус. Но вы как-то умудрились.А кто решать будет, кого зачать, а кого нет? Не отмазывайтесь, в общем, кто вы такой - мы уже поняли.
> Устройте им революцию, я не против. Но сам участвовать не буду.
Мы обсуждаем не меня, а НЕНУЖНОСТЬ РЖАВОГО ;)
> В Китае это было правительство страны, законодательный орган. Полагаю, Китай - не
> единственная страна, у которой есть законодательная ветвь власти.А кто все эти люди? Уж не представители ли крупной буржуазии? Т.е. самых матёрых паразитов. Нет? Ну ладно... Ох-хо-хо...
> Если людей слишком много, они или занимают новые территории (экспансия), или пытаются
> повысить эффективность использования имеющихся ресурсов (интенсификация), или вымирают
> (сокращается ЕСТЕСТВЕННЫМ путём их численность). Таковы законы природы. Других у меня
> для вас нет.А если голову применить? ;) Территории ведь есть. Только не на планете Земля ;)
Но обсуждали мы не это в целом. Обсуждали мы НЕНУЖНОСТЬ РЖАВОГО и поиск вами работы.
> Я знаю КПД солнечных панелей (порядка 5%),Ого, а вот и альтернативная физика подъехала)
> сложность их эксплуатации, изготовления и утилизации (каждые 5 лет).
Какой ужас!
Получаются что у меня панельки НЕ работают уже 11 лет.
Но эл-во откуда-то берется.
Возможно это космические лучи?? Или беспроводная энергия теслы?> Знаю из чего, как, кем и где делаются детали ветряков, знаю нюансы их эксплуатации, в том числе - влияние на окружающую среду.
Возможно ваши знания остались на уровне прошлого, 20го века.
Сейчас уже работаю заводы по переработка панелек.> Знаю, что промышленности требуется устойчивый поток энергии, чего не способен дать ни один альтернативный источник энергии.
В совокупности с системами хранения - может.
А они могут быть хоть гидро, хоть термальные.> Потому что я инженер.
Который не смог стать капитаном ;)
>[оверквотинг удален]
> Но эл-во откуда-то берется.
> Возможно это космические лучи?? Или беспроводная энергия теслы?
>> Знаю из чего, как, кем и где делаются детали ветряков, знаю нюансы их эксплуатации, в том числе - влияние на окружающую среду.
> Возможно ваши знания остались на уровне прошлого, 20го века.
> Сейчас уже работаю заводы по переработка панелек.
>> Знаю, что промышленности требуется устойчивый поток энергии, чего не способен дать ни один альтернативный источник энергии.
> В совокупности с системами хранения - может.
> А они могут быть хоть гидро, хоть термальные.
>> Потому что я инженер.
> Который не смог стать капитаном ;)Мы обсуждали не это, Мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО
>Лишнее действие при таких раскладах как раз проверка во время компиляции. Потому что вы потом всё равно будете гонять программу по всякому на тестах. Там всё и выплывет.Ага, если эти тест будут. А то будет, прямо как у вас, когда ошибки вы начали исправлять только после того, как вас носом ткнули в конкретную строку и долго долго объясняли, почему так делать нельзя. И то, до сих пор кучу ошибо не исправили.
> Ага, если эти тест будут. А то будет, прямо как у вас,
> когда ошибки вы начали исправлять только после того, как вас носом
> ткнули в конкретную строку и долго долго объясняли, почему так делать
> нельзя. И то, до сих пор кучу ошибо не исправили.Ну всё, все фанаты в сборе, можно начинать бенифис)))
>Что, подгорает?)) Понимаю)) Только вы не в ту сторону воюете - вы это тем, кто вам такую подляну подложил, объясняйте, а не мне.Нашёл начало обсуждения. https://www.opennet.dev/openforum/vsluhforumID3/134750.html#523
>Вы пробегаете по целой строке только для того, чтобы обнаружить конец тега. Даже решение на парсер комбинаторах успеет по дороге атрибуты распарсить, у вас же это холостой прогон.Как минимум эта проблема до сих пор не исправлена, остальные смотреть лень, уже больше года прошло. И этот человек рассказывает нам как программировать.
>>Что, подгорает?)) Понимаю)) Только вы не в ту сторону воюете - вы это тем, кто вам такую подляну подложил, объясняйте, а не мне.
> Нашёл начало обсуждения. https://www.opennet.dev/openforum/vsluhforumID3/134750.html#523
>>Вы пробегаете по целой строке только для того, чтобы обнаружить конец тега. Даже решение на парсер комбинаторах успеет по дороге атрибуты распарсить, у вас же это холостой прогон.
> Как минимум эта проблема до сих пор не исправлена, остальные смотреть лень,
> уже больше года прошло. И этот человек рассказывает нам как программировать.И снова вопрос - а при чём здесь вообще я?)) Речь шла о ненужности Ржавого, на которую мои личные и профессиональные качества не влияют никак ;)
>Речь шла о ненужности Ржавого, на которую мои личные и профессиональные качества не влияют никакДля того, чтобы выносить подобное суждение, надо разбираться в предметной области. Очевидно, у вас с этим проблемы. Вам об этом и говорят. Странно, что так долго и подробно надо объяснять подобные элементарные вещи.
> Для того, чтобы выносить подобное суждение, надо разбираться в предметной области. Очевидно,
> у вас с этим проблемы. Вам об этом и говорят. Странно,
> что так долго и подробно надо объяснять подобные элементарные вещи.Хы)) Можно вообще ничего не знать о предмете, и вынести о нём верное суждение. Сюрприз, правда?)) А всё потому, что смысловая связь обратная. Если суждение неверное, то его неверность можно объяснить низкой квалификацией собеседника. Но это далеко не единственное возможное объяснение. Т.е. это всего лишь один из вариантов из множества. Но и это неважно. Потому что сначала нужно доказать, что суждение - неверное. И с этим у вас проблемы)) Пока что, кроме очередной попытки съехать с темы путём перевода на личности, больше у вас ничего нет. Напомню, обсуждаем не меня, а ненужность Ржавого.
>Потому что сначала нужно доказать, что суждение - неверное. И с этим у вас проблемыУже вам доказали это. Попробуйте перечитать. Данное новшество не повысит производительность труда программистов на Си. По двум причинам. Первая. Отлов ошибок в рантайме гораздо менее надежен, чем на этапе компиляции. Вторая. В Rust полно и других плюшек, способствующих лучшему качеству кода, кроме боров-чекера. Поэтому ваше предоположение о ненужности этого ЯП неверно,что объясняется тем, что вы не владеете предметной областью.
> Уже вам доказали это. Попробуйте перечитать. Данное новшество не повысит производительность
> труда программистов на Си. По двум причинам. Первая. Отлов ошибок в
> рантайме гораздо менее надежен, чем на этапе компиляции. Вторая. В Rust
> полно и других плюшек, способствующих лучшему качеству кода, кроме боров-чекера. Поэтому
> ваше предоположение о ненужности этого ЯП неверно,что объясняется тем, что вы
> не владеете предметной областью.Опять-двадцать пять... Для сидящих в танке повторяю через дуло: мы обсуждаем не меня, не Си. Мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО.
>мы обсуждаем не меня, не Си. Мы обсуждаем НЕНУЖНОСТЬ РЖАВОГОМы обсуждаем ВАШЕ МНЕНИЕ о ненужности Rust. Оно не имеет под собой веских оснований, потому что вы не владеете предметной областью. Никак не дойдёт?
> Мы обсуждаем ВАШЕ МНЕНИЕ о ненужности Rust. Оно не имеет под собой
> веских оснований, потому что вы не владеете предметной областью. Никак не
> дойдёт?Нет, видимо экипаж танка слегка контузило, поэтому он того... глуховат. Ещё раз: мы обсуждаем не меня, и не моё мнение мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО.
>мы обсуждаем НЕНУЖНОСТЬ РЖАВОГОКто сказал, что он не нужен, кроме вас и ещё пары таких же "экспертов"? Или это просто сферический конь в вакууме, вот это утверждение? Таки действительно кого-то контузило. И он даже с третьего раза не может понять, что ему пытаются объяснить.
> Кто сказал, что он не нужен, кроме вас и ещё пары таких
> же "экспертов"? Или это просто сферический конь в вакууме, вот это
> утверждение? Таки действительно кого-то контузило. И он даже с третьего раза
> не может понять, что ему пытаются объяснить.Нет, видимо контузия оказалась сильнее, чем, я думал. Ещё раз: мы обсуждаем не меня, не экспертов. мы обсуждаем только то, что РЖАВЫЙ НЕ НУЖЕН. Для особо догадливых повторю ещё раз РЖАВЫЙ НЕ НУЖЕН, ТЧК. Ищите другую работу ;)
В четвёртый раз (матерится про себя, но всё ещё надеется на вменяемость оппонента).Цитата: "Это что же получается? Ржавый теперь... не нужен? Вот это поворот))"
Это же вы написали? Или голоса в вашей голове?
Написано в форме вопроса, на который автор сам себе даёт в косвенной форме положительный ответ. А ниже вообще утверждает, что это истина, потому... что он так сказал.
Это высказывание, на которое вам ответили отрицательно, и подкрепили это конкретными аргументами. Вы начали спорить зачем-то. Вам справедливо заметили, что для такого занятия у вас недостаточно квалификации. Поэтому ваше мнение не имеет никакой ценности.
Rust НУЖЕН.
>Ищите другую работуЗачем, если мне за теперешнюю деньги платят?
>[оверквотинг удален]
> Это же вы написали? Или голоса в вашей голове?
> Написано в форме вопроса, на который автор сам себе даёт в косвенной
> форме положительный ответ. А ниже вообще утверждает, что это истина, потому...
> что он так сказал.
> Это высказывание, на которое вам ответили отрицательно, и подкрепили это конкретными аргументами.
> Вы начали спорить зачем-то. Вам справедливо заметили, что для такого занятия
> у вас недостаточно квалификации. Поэтому ваше мнение не имеет никакой ценности.
> Rust НУЖЕН.
>>Ищите другую работу
> Зачем, если мне за теперешнюю деньги платят?Ещё раз, для особо... остроумных ;) Мы обсуждаем не меня, мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО.
Rust нужен. Обсуждение закончено.
> Rust нужен. Обсуждение закончено.Мы обсуждали не конец обсуждения, а НЕНУЖНОСТЬ РЖАВОГО.
Добрый день. Вы уже починили свой парсер xml или как всегда нет? Или как настоящий сишник, вы и не планировали его делать рабочим?
> Добрый день. Вы уже починили свой парсер xml или как всегда нет?
> Или как настоящий сишник, вы и не планировали его делать рабочим?А как я его могу починить, если вы филоните?)) Вы же из тестировщиков уволились - тестировать теперь некому, вот я и не знаю, что он сломан))
>Вы же из тестировщиков уволились - тестировать теперь некому, вот я и не знаю, что он сломан))Я вам уже кучу раз говорил, что так https://github.com/ProfessorNavigator/mylibrary/blob/3590a4c... делать нельзя. Следующий код является валидным
<tag attr=">"/>
А ещё, я вам скидывал пример, как делать правильно. https://dev.realworldocaml.org/parsing-with-ocamllex-and-men...
Ранее вам уже писали об этом, и то это не самое первое сообщение https://www.opennet.dev/openforum/vsluhforumID3/135943.html#105
Вы до сих пор не починили данную проблему.
> Я вам уже кучу раз говорил, что так https://github.com/ProfessorNavigator/mylibrary/blob/3590a4c...
> делать нельзя. Следующий код является валидным
> <tag attr=">"/>И что?)) Вы хоть взгляните, куда ваша ссылка указывает, и разберитесь, что этот код вообще делает)) И при чём здесь вообще я? Речь шла о ненужности Ржавого, на которую мои профессиональные и личные качества не влияют никак))
>Вы хоть взгляните, куда ваша ссылка указываетНа ваш код
>и разберитесь, что этот код вообще делаетУ вас одна и та же ошибка повторяется из раза в раз
https://github.com/ProfessorNavigator/mylibrary/blob/3590a4c...
https://github.com/ProfessorNavigator/mylibrary/blob/3590a4c...
вам уже и пример привели, когда это работать не будет, а вы до сих пор так ничего и не поняли
>И при чём здесь вообще я? Речь шла о ненужности Ржавого,При том, что вы как эталонный борец с ржавым, не умеете писать код.
https://github.com/ProfessorNavigator/mylibrary/blob/3590a4c...
>case 34:
>case 39:
>case 62:Вот это - это что такое? Вместо того, чтобы исправлять ошибки, вы только запутываете код.
>на которую мои профессиональные и личные качества не влияют никак))Влияют. Я вам более года тому назад рассказывал, что туда-сюда ходит по строке - это медленно. Вы это починили? Нет. Почему? По тому, что не умеете. Если вы не в состоянии нормально написать парсер, то на каком основании вы в состоянии рассказывать о нужности раста?
>[оверквотинг удален]
>>case 34:
>>case 39:
>>case 62:
> Вот это - это что такое? Вместо того, чтобы исправлять ошибки, вы
> только запутываете код.
>>на которую мои профессиональные и личные качества не влияют никак))
> Влияют. Я вам более года тому назад рассказывал, что туда-сюда ходит по
> строке - это медленно. Вы это починили? Нет. Почему? По тому,
> что не умеете. Если вы не в состоянии нормально написать парсер,
> то на каком основании вы в состоянии рассказывать о нужности раста?И тут Остапа понесло)) Понимаю, новость для вас шокирующая - придётся чему-то учиться, по-настоящему работать идти. Но вы не убивайтесь так - оно нормально, все так живут ;)
Зачем нужна эта клоунада? Пишите сразу - что реализовать парсер вы не осилили и дело с концом.
> Зачем нужна эта клоунада?Это вас нужно спрашивать)) Обсуждали вроде бы ненужность Ржавого, а вы зачем-то пытаетесь съехать с темы и перейти на личности. Зачем?)) Впрочем, вопрос риторический ;)
>Обсуждали вроде бы ненужность РжавогоДля того, чтобы иметь возможность что-то обсуждать, надо обладать необходимыми знаниями. У вас их нет. Следовательно, ваше мнение не имеет никакой ценности. Другими словами, обсуждать нечего.
Чтобы было понятней. Это как человеку из средневековья пытаться объяснить, что Земля вращается вокруг Солнца, а не наоборот. Вы в данном случае - вот этот самый человек, который просто не понимает о чём говорит.
> Для того, чтобы иметь возможность что-то обсуждать, надо обладать необходимыми знаниями.
> У вас их нет. Следовательно, ваше мнение не имеет никакой ценности.
> Другими словами, обсуждать нечего.
> Чтобы было понятней. Это как человеку из средневековья пытаться объяснить, что Земля
> вращается вокруг Солнца, а не наоборот. Вы в данном случае -
> вот этот самый человек, который просто не понимает о чём говорит.Ну вот и глупые аналогии подъехали (зевает). Т.е. по существу вам ответить нечего, так и запишем. До свидания, в общем ;) Настоятельно (и уже не в первый раз) советую поискать другую работу. Чисто из сочувствия к вам советую.
>Т.е. по существу вам ответить нечего, так и запишем.Так вам уже разжевали, что не так, але себе по существу. Сишным программам это не поможет, следовательно, Rust по-прежнему нужен, а ваше предположение о его ненужности - глупое. Зачем мне повторяться? Или до вас с первого раза не доходит?
> Так вам уже разжевали, что не так, але себе по существу. Сишным
> программам это не поможет, следовательно, Rust по-прежнему нужен, а ваше предположение
> о его ненужности - глупое. Зачем мне повторяться? Или до вас
> с первого раза не доходит?Работу ищите, работу, друг мой. А ещё лучше поучитесь чему-нибудь полезном, если деньги есть. Не знаю, биологию что-ли подучите, или физику - агрономы и инженеры нам понадобятся ой как сильно. И весьма скоро. Или на программиста что ли выучитесь наконец - тоже небесполезное занятие. Это я вам, как немного разбирающийся ещё и в экономике, говорю.
>Работу ищите, работуОна у меня уже и так есть, зачем мне вторая?
>А ещё лучше поучитесь чему-нибудь полезном
Я и так уже научен. За это мне деньги и платят. Весьма достойные, надо заметить.
>агрономы и инженеры нам понадобятся
Кому нам? Мне в ваш Мухосpанск ехать на работу совершенно неинтересно. Но вы, конечно, можете помечтать о своей важности.
>Или на программиста что ли выучитесь наконец - тоже небесполезное занятие.
😁 Сказал человек не умеющий в это самое программирование.
>Это я вам, как немного разбирающийся ещё и в экономике, говорю.
Вы там такой же "эксперт", как в программировании?
> Она у меня уже и так есть, зачем мне вторая?Строчить бессмысленные комментарии? Это не работа ;)
> Я и так уже научен. За это мне деньги и платят. Весьма
> достойные, надо заметить.Хы))
> Кому нам? Мне в ваш Мухосpанск ехать на работу совершенно неинтересно. Но
> вы, конечно, можете помечтать о своей важности.Во-от, начинает вылазить сущность. Продолжайте - именно этого я и добивался ;)
> 😁 Сказал человек не умеющий в это самое программирование.А я никогда и не утверждал обратного ;)
> Вы там такой же "эксперт", как в программировании?
Мы обсуждаем не меня, мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО ;)
>Строчить бессмысленные комментарии?Они бессмысленные только для людей с довольно низкими когнитивными способностями. Я сейчас не на работе, кстати. С вами вот развлекаюсь, пытаюсь зажечь свет разума в тёмном царстве.
>Мы обсуждаем не меня, мы обсуждаем НЕНУЖНОСТЬ РЖАВОГОRust нужен. Что здесь можно обсуждать, да ещё с человеком, далёким от программирования?
>>Строчить бессмысленные комментарии?
> Они бессмысленные только для людей с довольно низкими когнитивными способностями. Я сейчас
> не на работе, кстати. С вами вот развлекаюсь, пытаюсь зажечь свет
> разума в тёмном царстве.
>>Мы обсуждаем не меня, мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО
> Rust нужен. Что здесь можно обсуждать, да ещё с человеком, далёким от
> программирования?Мы обсуждаем не меня, мы обсуждаем НЕНУЖНОСТЬ РЖАВОГО;)
Rust нужен. Что здесь можно обсуждать, да ещё с человеком, далёким от программирования?
> Rust нужен. Что здесь можно обсуждать, да ещё с человеком, далёким от
> программирования?Мы обсуждали не меня, а НЕНУЖНОСТЬ РЖАВОГО
Нет, не получается. И вам уже несколько человек (включая меня), объяснили почему так.
> Нет, не получается. И вам уже несколько человек (включая меня), объяснили почему
> так.Хе-хе, нет, уважаемые, вы ничего не объясняете. Лишь несёте чушь про неопределённое поведение (никто вам не мешает его обойти), про управление памятью (всё уже давно есть, а встроенный в компилятор статический анализатор - это не новшество, это просто встроенный в компилятор статический анализатор, который может ещё и глючить). Всё остальное есть в других ЯП. А с выходом новых процессоров, существование Ржавого становится абсолютно бессмысленным. Вам просто аппаратная часть не даст обратиться туда, куда не нужно. В общем - ищите другую работу ;)
>вы ничего не объясняетеКонечно, объясняем. Но если собеседник не в теме, это становится архисложной задачей.
>неопределённое поведение (никто вам не мешает его обойти)
Вы, наверное, не в курсе. Но если человек пишет кросс-платформенный софт, подобные фичи (UB) помнить для каждой платформы - задача весьма нетривиальная. Поэтому теоретически обойти никто не мешает, конечно. А на практике видим стабильно низкое качество ПО.
>про управление памятью (всё уже давно есть
В Си? Нет там такого.
> а встроенный в компилятор статический анализатор
Вот. Очередное проявление вашего невежества. Это не статический анализатор. Это архитектура языка программирования такая. А компилятор просто следует ей. Статический анализатор ищет ошибки по факту (и находит далеко не все, потому что это часто невозможно для по определению дырявого ЯП с UB, зашитом прямо в стандарте).
>Всё остальное есть в других ЯП
Абстракции с нулевой стоимостью? Нет там такого. Есть просто абстракции (дорогие). Или их вообще нет (как в Си).
>А с выходом новых процессоров, существование Ржавого становится абсолютно бессмысленнымНет, не становится. Ошибки гораздо проще ловить на этапе компиляции, а не в рснтайме. Вам уже раз пять это проговорили. Но, как горохом об стену.
>Вам просто аппаратная часть не даст обратиться туда, куда не нужноЕсли набор данных окажется особым, то узнаете вы об этом только в проде.
> Конечно, объясняем. Но если собеседник не в теме, это становится архисложной задачей.Ну т.е. вы ни черта не понимаете в программировании, и аргументов у вас нет. Так и запишем.
> Вы, наверное, не в курсе. Но если человек пишет кросс-платформенный софт, подобные
> фичи (UB) помнить для каждой платформы - задача весьма нетривиальная. Поэтому
> теоретически обойти никто не мешает, конечно. А на практике видим стабильно
> низкое качество ПО.Если вы чего-то не помните - читайте документацию. Если неспособны читать - вам не место в профессии. Т.е. мы опять вернулись к тому, с чего начали - к НЕНУЖНОСТИ РЖАВОГО.
> В Си? Нет там такого.
Мы обсуждаем не Си, а НЕНУЖНОСТЬ РЖАВОГО и поиск вами работы ;)
> Вот. Очередное проявление вашего невежества. Это не статический анализатор. Это архитектура
> языка программирования такая. А компилятор просто следует ей. Статический анализатор ищет
> ошибки по факту (и находит далеко не все, потому что это
> часто невозможно для по определению дырявого ЯП с UB, зашитом прямо
> в стандарте).До-о-о... Некая сказочная архитектура языка)) Т.е. вы вообще ничего не понимаете в программировании и в работе аппаратной части. Потому что есть очень простая "механика" всего этого дела. Указатель - это номер байта в памяти. Виртуальной или реальной. К указателю прилагается тип данных, т.е. информация о количестве байт, которые нужно прочитать, и о способе их интерпретации. Проверить всё это можно несколькими способами: на этапе компиляции, чем занимается статический анализатор (т.е. так работает Ржавый); на уровне ОС; и аппаратно - о чём собственно новость. Первый путь - тупик. Потому что чтобы оно нормально работало, статический анализатор должен парсить всю логику любой программы. А это невозможно чисто теоретически. Для машин, я имею ввиду. Таким может заниматься только человек, т.е. -программист. Статический анализатор может выступать лишь как элементарный помощник, не более того. Второй путь - тоже тупик. Отслеживать ВСЕ вызовы памяти на уровне ОС можно, но только это приведёт к замедлению работы и огромному перерасходу аппаратных ресурсов. Третий путь - самый элегантный на самом деле, и самый простой. Но обсуждали мы не это. Мы обсуждали НЕНУЖНОСТЬ РЖАВОГО. И поиск вами работы ;)
> Абстракции с нулевой стоимостью? Нет там такого. Есть просто абстракции (дорогие). Или
> их вообще нет (как в Си).Мы обсуждаем не мифические абстракции с нулевой стоимостью и не Си, а НЕНУЖНОСТЬ РЖАВОГО.
> Нет, не становится. Ошибки гораздо проще ловить на этапе компиляции, а не
> в рснтайме. Вам уже раз пять это проговорили. Но, как горохом
> об стену.Мы обсуждаем не меня, а НЕНУЖНОСТЬ РЖАВОГО.
> Если набор данных окажется особым, то узнаете вы об этом только в
> проде."Особый" набор данных - это ошибка в логике программы. От чего Ржавый не защищает. Т.е. РЖАВЫЙ НЕ НУЖЕН.
P.S.
Новую работу уже ищите?
Какие опкоды планируются у этих инструкций? Из группы NOP или другое? Давайте усложним декодер инструкций сильнее...
Даввй, начинай усложнять.
когда уже JIT компиляцию микрокода CPU завезут? доколе?!
Вижу очередной предлог заставить хомячков в добровольно-принудительном порядке обновить парк железа, как это было с TPM.Написано с моего кор 2 дуо 2007 года.
Как ты пишешь с кор 2 дуо, если тебя принудили что-то там обновить?
Вот по этому правительство США призывает отказаться небезопасных языков!
Пользуются открытым кодом? Некий военный стартап попробовал NixOS и плюнул.
а вы их госдолг видали?
как думаете, связано? :-)
Почему правительство контролирует, на каких языках можно программировать? Ах, да... 451 градус по Фаренгейту.
Потому что это правительство - один из самых крупных заказчиков ПО (если не самый крупный). Кто девушку платит, тот её и танцует.
ой да ладно, хоть sse ща везде используют, сборка какого-нить хромиума с avx2 уже кастом, а это intel 5xxx если не ошибаюсь
мож от 32битных, наконец-то, откажутся повсеместно
Чем тебе 32 бита мешают жить?
так а в чём плюс-то от них? ща телефон за 5рублей уже имеет 4+4свапа мозгов. ну я понимаю если там будут 32битные телега и лиса, чтобы не закрываться при переключении, но это, предполагаю, от криворукости зависиту меня на десктопе-то 8гб вся система не ест, с кучей открытых вкладок, несколькими браузерами, офисом, телегой, деби-серваком в виртуалке, синктрайзером, веракриптой и тп. чяднт?
лучше бы действительно, все эти силы на поддержку библиотек двух разрядностей и электроэнергию на бинарники потратили на что-то более нужное - хотя бы теже авх, чтобы они работали быстрее на компах. последний 32битный проц когда вообще выпущен был-то?
ну да. если у вас интел 2/3ххх и 16гб памяти макс - придётся в офис снести, или отказаться от многозадачности тяжелых приложений альттабаться
> последний 32битный проц когда вообще выпущен был-то?Не последний, а крайний. Новость от гугла на днях была.
Тут недавно гугл выкатила 32-битную платформу... Неужели гугл не в курсе твоих желаний?
на х86 ?
Если они будут аналогичны ARM MTE, то для динамической памяти достаточно будет поддержки со стороны аллокатора (см. hardened_malloc и GrapheneOS). Для защиты стека нужно будет собирать со определёнными флагами компилятора.
А вообще нам нужна альтернатива CHERI на x86_64.https://en.wikipedia.org/wiki/Capability_Hardware_Enhanced_R...
А неужто труднее починить фон-неймановсую архитектуру?
Подозреваю, что это очень дорого обойдётся. Триллионы долларов.
Это революция.
Согласен, причем без всякой иронии.
Так я тоже без иронии. Давно напрашивалось решение именно на уровне железа.
Какая ещё революция? Было уже ж в других процессорах такое, тут примеры приводили.
В итоге просто новых дыр добавят
Что тут видится: для ускорения тормознутой изначально работы появятся кеши, спекуляции, а потом...
2^60 хватит всем. много они назащищают тегом на 4 бит? плати за новую несовместимость, гой.> Кроме Intel и AMD в число участников группы входят Линус Торвальдс, создатель ядра Linux, Тим Суини, основатель компании Epic Games и один из ключевых разработчиков игрового движка Unreal Engine, а также представители компаний Broadcom, Dell, Google, Hewlett Packard, Lenovo, Meta, Microsoft, Oracle и Red Hat.
долго пришлось изобретать?
Сколько надо менеджеров, чтобы родить 4 бита?