lqp - Andrew Tomazos
November 27th, 2024
01:31 pm

[Link]

Previous Entry Add to Memories Tell A Friend Next Entry
Andrew Tomazos
Тут у меня в ленте обсуждают скандальчик в одном из ISO-вских комитетов. Напомню, что я писал про ISO в 2007 году.


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

***

[а какой вообще статус может у неё быть?]

Большинство имеющих дело с ISO предполагают, что у нее имеется статус международной организации, такой как у WIPO (которая тоже занимается стандартизацией), Юнеско или вообще ООН.

Другим вариантом мог бы быть статус настоящей общественной организации, допускающей к участию в своих работах всех заинтересованных лиц (за денюжку, возможно), как W3C, IETF, IEEE.

Наконец, третьим честным вариантом мог бы быть статус группы частных лиц, продвигающих определенные принципы|интересы, как OSI, IFPI, Коминтерн.

Но нет.




(x-post)




BTW как я понял всю эту возню с Undefined Behavior в Це. Если кто понимает лучше, поправьте.

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

Но если оттранслировать программу на Джаве так как она написана, то выполняться она со скоростью черепахи, может быть даже медленнее чем если бы она была написана на Питоне. Поэтому компилятор свирепо оптимизирует такую программу, фактически пишет свой собственный код "по мотивам" исходного текста. Так он может заменить десять вложенных друг в друга вызовов виртуального метода на noop если обнаружит что все эти вызовы, как это обычно и бывет в Джаве, всего лишь вычурный способ задать константу. Компилятор агрессивно выискивает и уничтожает бесполезный код поскольку такой код в обилии порождается самим синтаксисом Джавы. Вопрос, естественный в Це:"Если программист так написал, то это наверное что-то должно значить?" здесь не имеет смысла - программист ничего не писал, он просто подключил библиотеку которая в ходе своей инициализации запустила несколько миллионов строк кода, большая часть которых не имеет ни малейшего отношения к тем задачам, ради которых программист подключил библиотеку. И тут различные эвристики вида "этого не может быть никогда, а потому соответствующую невозможному событию ветку кода мы даже и компилировать не будем" - вполне уместны.

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

Но в комитетах по стандартизации языков программирования сидит гораздо больше авторов компиляторов чем авторов операционных систем. И авторы компиляторов любят своих бегемотиков, транслирующих одновременно с 50 языков и хотят чтобы им было хорошо и спокойно. При этом понятно что если из, скажем, GNU Compiler Collection исключить компилятор Це, то остальные 15 фронтэндов сраду станут мало кому нужны.

(x-post)

(27 comments | Leave a comment)

Comments
 
From:(Anonymous)
Date:November 27th, 2024 - 05:53 am
(Link)
коммуняку на хуяку
From:(Anonymous)
Date:November 27th, 2024 - 06:00 am
(Link)
> В конце концов, если человек в наше время пишет на Це, то это само по себе обычно означает что он хочет, чтобы компьютер выполнял в точности то, что написано
А благодаря компилятору компьютер выполняет хз что.
From:(Anonymous)
Date:November 27th, 2024 - 06:00 am
(Link)
> Современные компиляторы, - сами по себе огромные неповоротливые монстры, разрабатываемые комитетами, - используют один и тот же кодогенератор для всех поддерживаемых языков.

используют один и тот же кодогенератор для всех поддерживаемых языков
используют один и тот же кодогенератор
для всех поддерживаемых языков
для всех

Пиздец блядь.

Давай я угадаю. Ты какой национальности? Русский?
From:[info]lqp
Date:November 27th, 2024 - 06:22 am
(Link)
Я Вас внимательно слушаю?
From:(Anonymous)
Date:November 27th, 2024 - 06:43 am
(Link)
На вопрос ответь.
From:(Anonymous)
Date:November 27th, 2024 - 07:27 am
(Link)
Русские почти половину жабы написали, если что, от hotspot'а до разных GC. Повякай мне тут, даун-русофобик.
From:(Anonymous)
Date:November 27th, 2024 - 10:34 am
(Link)
А Котлин даже объявлен Гуглом официальным языком андроида! Гуглом! Официально! Ясно, русофобики?
From:(Anonymous)
Date:November 27th, 2024 - 03:44 pm
(Link)
Here in Ukraine it would be very hard to get adoption of a programming language that is named after a Russian military base. This is the rare case where bad naming choice really hurts. No matter how good is the language, you will have to hear and pronounce that name many times a day, and even associate yourself with it (e.g. "a Kotlin developer" in your resume). Not something to be taken lightly.
https://news.ycombinator.com/item?id=14365070
[User Picture]
From:[info]necax
Date:November 28th, 2024 - 06:29 am
(Link)
ЛОЛ
From:(Anonymous)
Date:November 28th, 2024 - 12:06 am
(Link)
да ты как я погляжу язык как-то быстренько в жопу засунул
ну хуй с тобой
[User Picture]
From:[info]necax
Date:November 27th, 2024 - 06:29 am

Комминтерн это груз для вертолета

(Link)
> Коминтерн
И сразу же зашкварил всю свою околесицу.
From:(Anonymous)
Date:November 27th, 2024 - 03:45 pm

Re: Комминтерн это груз для вертолета

(Link)
ссышься? правильно.
From:(Anonymous)
Date:November 27th, 2024 - 07:07 am

Каша в голове

(Link)
>от компиляции программы на Джаве

невежественная хуйня какая-то, как и всё у коммуняк. У джавы свой собственный компилятор. AOT компилятор жабы GCJ из gcc никто вообще не использует, потому что он медленный и нихуя не совместимый.

Использование бекенда от C для языков отличных от C ведет к всяким нежелательным последствиям, от невозможности компиляции в быстрый код, до вторжения С-сематики в семантику языка, который вынужден по тем или иным причинам использовать бекенд ориентированный на С/C++(в основном по причинам абсурдной стоимости написания своего бекенда). Сейчас у раста например куча проблем из-за использования llvm (смотреть в t-opsem), где llvm не может предоставить гарантии которые нужны расту.

Ещё нужно отметить, что в жабе практически нет undefined behavior -- это highly defined language.

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

Бред сивой кобылы. Ничто не мешает языку системного программирования минимизировать undefined behavior до уровня после которого его просто не получится избежать. Например unsafe write по указателю куда-нибудь, где layout не определен.

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

...

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

UB в целом признан исторической ошибкой, которая в том числе ведет к уязвимостям, поэтому его и пытаются минимизировать.
From:[info]lqp
Date:November 27th, 2024 - 01:04 pm

Re: Каша в голове

(Link)
компилятор жабы GCJ из gcc никто вообще не использует,


Да, действительно. Я вообще-то имел в виду весь зоопарк, от C++ до Go, но перечислять его каждый раз неудобно. И GCC не единственный компилятор.

языку системного программирования минимизировать undefined behavior


Undefined behavior ( как отличная от unspecified behavior, implementation-defined behavior etc etc сущность) это вообще внутренний жаргон стандарта С/С++, даже не самого языка. Никто не заставляет пользоваться им при описании других языков. Более того, даже при описании Це оно появилось далеко не сразу.

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

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


Потому что это репост двух различных постов в фсбуке, посвященных разным аспектам одного и того же события. Я даже специально горизонтальной чертой их разделил.
From:(Anonymous)
Date:November 27th, 2024 - 04:26 pm

Re: Каша в голове

(Link)
>даже не самого языка.

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

>Никто не заставляет пользоваться им при описании других языков

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

>а управление реальной железной машиной как она есть

UB тут ни при чем. Зависит от того что определено в стандарте языка. Определить можно всё что угодно, в том числе всё то, что нужно для написания операционки. Для этого правда нужно более тесное сотрудничество процессоро-делателей и языков.
[User Picture]
From:[info]necax
Date:November 28th, 2024 - 01:38 am

Re: Каша в голове

(Link)
Значение знаешь? Раст это [йет очередная] попытка жабаскрипт-макак сделать убийцу крестов с закономерным итогом. И, естественно, обезьянки заимствовали красивое слово "undefined behavior", не поняв толком, что это значит. Впрочем, и ты тоже. Unsafe это unsafe, а UB это задокументорованный не-баг-а-фича a++ - a++.

> операционки
> процессор
Такую хуиту пишешь...
From:[info]lqp
Date:November 28th, 2024 - 03:08 am

Re: Каша в голове

(Link)
UB это задокументорованный не-баг-а-фича a++ - a++.


"a++ - a++" - это как раз unspecified behavior и такого в любом языке системного программирования высокого уровня действительно будет полно.

А Undefined Behavior - это про другое, не про специфику железа а про бондаж и дисциплину.
[User Picture]
From:[info]necax
Date:November 28th, 2024 - 04:21 am

Re: Каша в голове

(Link)
В нормальных языках такого нет.
И в Цє такого бы тоже не было, если бы такие структуры, как коммитет не подразумевали засилья красножопого актива и бюрократизацию всего и вся. Поэтому структура, в своё время неспешно легализовавшая bool теперь способна думать только о жидах и ребе Марксе (всё в соответстствии с законом Паркинсона, в принципе).

> unspecified behavior
> Undefined Behavior
Просто играешь словами и проигрываешь, потому что (a) это одно и то же, (b) unsafe это unsafe это unsafe, кому нужен баунд-чекер, пишут на С++/CLI и (c) int a, b; bool c = &a < &b;
From:(Anonymous)
Date:November 27th, 2024 - 07:29 am
(Link)
что нового написали на моей адски больной прыщавой жопе охуенно описывающего себя старого облёванного стукача работавшего на петухелла, трущего комменты кашляющего чахоточного пидара из конуры, киевского обоссаного обмудка трясущего своим разорванным ректалищем, терпилы из жидовской дурки, дырявого петушка компенсирующего отсутствие нормальной жизни брызганием слюней в интернете, писклявой гундосой гыгыкаюшей вонючки, повышаюшего креативность слабоумного вафела, морально-интеллектуального выродка, мудака года, тупого пизданутого рафинированного хамла, реально слабоумного дауна мнящего себя пупом земли, мерзкого бомжа и гея из кондожопы регулярно лижущего буржуазную жопу, переводящего стрелы обоссаного дебила, тупоносого дятла предлагающего свой рот и сраку на панели за небольшой прайс, слабоумного придурка, киевского петуха, облезлой вонючки с разорванной сракой, жалкого червяка совсем потерявшего голову от унижений, ачкастого мудака, кропалика с невлезающей хуйлашкой за щекой, полоумного хуйла, фекального юродивого вонючего задроченного оправдывающегося виновного без пизды поварёнка-каломеса, самого смешного в этой истории скотопидора следящего за движениями, облеванного дауна, обвафленного выблядка которому нравится ощущать эрекцию в своем анусе, спаммера, ебанька живущего свою никчемную жизнь в выдуманном мире, уебка которого нихуя плющит, рыгающего какашками истеричного говноплюя, хронического неудачника, копошащегося в гомне малафейного глиста, обиженки, как всегда распятого на хуях очень ебнутого на самом деле придурка, русни, жида, так ничего и не понявшей что происходит типичной гомосексуальной проститутки часто меняющей половых партнеров, ничтожного червяка и глиста, хуеплета и распидорашенного дегенерата c выпученными глазками и фекально-анальной лексикой, трахающего себя в рот ранимого некропидораса и доведенного до дурки, сосущего хуи, интересуещегося чужими жопами и не забывающего причмокивать говноеда который жрёт гавно 17029 дней, 8 часов и 35 минут, программиста на питоне, всеизвестного сопидора вениамина Додика Хуйлашки из Гродно мойши Шварца?

Додик Хуйлашка Шварц из Гродно.
From:(Anonymous)
Date:November 27th, 2024 - 07:51 am
(Link)
А ваще ёбанай весёлый поварёнок-каломес по ходу второй уебак, которова додег реально до дурки довел в инете
From:(Anonymous)
Date:November 27th, 2024 - 08:25 am

Andrew Tomazos

(Link)
>https://news.ycombinator.com/item?id=42226250

Как тут объясняют, этого Tomazos перданули за несогласие с линией партии в комитете(всё как коммуняки любят), используя в качестве предлога то, что его заголовок "The xxx question" это якобы 4chanовский nazi-мем, калька с The Jewish Question. Ещё говорят Tomazos отказался менять заголовок, и только после этого его перданули.

Тут https://izzys.casa/2024/11/on-safe-cxx/ имеется какой-то woke высер, судя по тому что JeanHeyd Meneide "is a friend". tl;dr;
From:(Anonymous)
Date:November 27th, 2024 - 08:34 am

Re: Andrew Tomazos

(Link)
в woke высере обнаруживается следующее:

'Some people think that formal reasoning has already been solved! In the WG21 ISO C++ October 2024 mailing, Andrew Tomazos submitted P3403, a paper titled “The Undefined Behavior Question” (which HOOBOY man we’re just knocking it out of the fucking park with possible anti-semitic dog whistles today aren’t we?), and then when you open this goddamned PDF you realize it’s a fucking cleaned up transcript of a ChatGPT conversation. Because Andrew thinks that ChatGPT has already surpassed human cognition. And he has implied as such on the internal reflector, responding to statements that any ChatGPT submitted work would not be given time he said:

">I really don’t think your suggested policy is functional. At the moment it’s on par with humans, so you might be able to get away with your prejudice for now - but what happens when its work becomes clearly and undeniably superhuman - which seems like something we’ll have to face in about a year at the current rate. Are you really going to try and continue to insist on what will be clearly inferior human design work? I think that would be objectively harmful and an obvious opportunity cost."

Thankfully, not everyone is to quick to believe that ChatGPT as of August 2024 has achieved sentience and is on par with humans (the people who do? Hoagies for brains). Jonathan Wakely of RedHat summed it up in a most eloquent way, stating effectively that if Andrew can’t bother to write his own fucking papers, maybe the committee shouldn’t be bothered to read them (do note that Wakely did not use the fuck word. He’s far too nice to stir up trouble).

Andrew is certainly interesting. He is quite honestly one of, if not the most vocal voice on adding any safety features to C++. In November of 2022, he stated:

">And as for Rust: I haven’t written anything production in Rust, almost noone has - but the feedback I’ve heard so far from people that have actually tried is that working with the borrow checker is a complete nightmare and totally restrictive. I’m sure if I put a straightjacketsic on I couldn’t hurt anyone but I also sure as hell couldn’t play tennis anymore."'

Т.е. чел явно какой-то неадекват. Впрочем автор woke высера тоже ебанутый.
From:(Anonymous)
Date:November 27th, 2024 - 03:47 pm

Re: Andrew Tomazos

(Link)
да и ты ебанутый
From:(Anonymous)
Date:November 27th, 2024 - 03:43 pm
(Link)
диды воевали
From:[info]phantom
Date:November 27th, 2024 - 06:42 pm
(Link)
Бредятинка.
From:(Anonymous)
Date:November 27th, 2024 - 10:37 pm
(Link)
За слова ответишь?
From:[info]phantom
Date:November 28th, 2024 - 08:46 am
(Link)
Сегодня за школой, после уроков.
Powered by LJ.Rossia.org