[00:28:29] <ada_ru> (FROL256) так по какому признаку разделение?)
[00:30:26] <ada_ru> (I_vlxy_I) По наличию UB в коде при left shift
[00:30:34] <ada_ru> (I_vlxy_I) в узком смысле
[00:31:22] <ada_ru> (I_vlxy_I) в широком смысле - в первой группе языки которые либо предпочитают надежности производительность, либо просто небрежно относятся к безопасности. (то есть или намерянно или по раздолбайству сажают UB)
[00:31:45] <ada_ru> (FROL256) хм
[00:31:52] <ada_ru> (FROL256) неплохо
[01:39:00] <ada_ru> (t91x0)  отвечает (Oleg) на <И никому не нужный D>
Один человек с D 10 лет жил в Тае, а как дети подросли - переехал в Лондон квантом, тоже на D
[02:26:53] <ada_ru> (I_vlxy_I)  отвечает (t91x0) на <Один человек с D 10 …>
звучит будто D это какая-то болезнь. и тут описывается тот редкий случай, когда смертельная болезнь не убила сразу, а стала хронической.
[02:39:29] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <звучит будто D это к…>
Скорее, это суперспособность по телепортации из РФ в Лондон. И без залоговых аукционов.
[04:26:51] <ada_ru> (anisimkov) Просвятите отстающего пожалуйста, что такое UB ?
[06:59:56] <ada_ru> (t91x0) Undefined behavior
[07:00:09] <ada_ru> (t91x0) Поведение не определено
[07:48:24] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <в широком смысле - в…>
а как туда оберон попал? и какой именно?
[08:56:27] <ada_ru> (Максим)  отвечает (I_vlxy_I) на <в широком смысле - в…>
Даёшь статейку на ada-ru!
[08:57:37] <ada_ru> (Максим) Какой может быть ub в сдвиге?
[10:25:05] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Какой может быть ub …>
Обычный :-) При Лёвом сдвиге может случиться переполнение. А указанные языки не проверяют это.

От этого могут быть разные эффекты - от неожиданного результата в значении до неожиданных оптимизаций компилятора.
[10:25:28] <ada_ru> (I_vlxy_I) В основном конечно результат трешовый.
[10:37:10] <ada_ru> (I_vlxy_I) c другой стороны, это означает, что Ada, Go, Swift будут работать всегда медленней чем С++. отключение всех проверок у Ады не убирает "лишний" код тут.
[10:45:18] <ada_ru> (I_vlxy_I) Ага. Rust не считает это поведение UB, и не считает целочисленные переполнения чем-то опасным
[10:45:19] <ada_ru> (I_vlxy_I) ооок
[10:46:32] <ada_ru> (I_vlxy_I) картинка https://www.ada-ru.org/files/bot/2019-10-08-x9.jpg
[10:59:10] <ada_ru> (Максим) Это откуда???
[11:03:13] <ada_ru> (I_vlxy_I)  отвечает (Максим) на <Это откуда???>
Из официальной доки раста
[11:16:33] <ada_ru> (I_vlxy_I) Но тут конечно надо ещё понимать контекст - в расте есть блок unsafe, внутри которого можно творить всякую дичь - ходить по адресам там, плевать на борроу чекер и проч. То есть где все проверки отключены.

Так вот, тут перечисляется то, что компилятор раста не проверяет и вне unsafe блока. Ни в рантайме ни в компайл тайме.

Что-то проверить и гарантировать просто нельзя, что-то слишком дорого в плане производительности с точки зрения создателей раста.
[11:25:33] <ada_ru> (I_vlxy_I) http://docs2.w3cub.com/rust/reference/behavior-not-considered-unsafe/
[11:25:54] <ada_ru> (I_vlxy_I) Там про целочисленное целый абзац что и как
[11:41:44] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <а как туда оберон по…>
ББ точно. Оберон-07 думаю тоже.
[11:56:35] <ada_ru> (I_vlxy_I) У оберонов в принципе семантика определена ну очень приблизительно, поэтому по описанию языка понять что именно произойдёт не всегда возможно
[11:56:36] <ada_ru> (I_vlxy_I) Ну и реализации обычно довольно вольно трактуют спеку
[11:57:14] <nordwind> https://www.opennet.ru/opennews/art.shtml?num=51632
[12:35:47] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <ББ точно. Оберон-07 …>
не, думать не надо, надо знать точно! проверь на виртовском процессоре с виртовским компилятором в виртовской ОС -- вот тогда можно будет говорить про оберон, а пока поклёп!
[14:34:14] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <не, думать не надо, …>
Проверил - есть.
[14:42:14] <ada_ru> (Eugene) как так?? ведь Вирт -- мэтр!!! как он мог так поступить???
[14:53:26] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <как так?? ведь Вирт …>
Хотя есть нюанс - я через эмулятор пробовал :-)
[15:03:03] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <Хотя есть нюанс - я …>
не, там может кривой эмулятор, ты же делал на FPGA -- вот на нём надо )))
[15:05:12] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <не, там может кривой…>
Посмотрел на исходники процессора - там будет то же самое. Эмулятор верен.
[15:21:53] <ada_ru> (Eugene) интриги! скандалы!! расследования!!!
а оберонщики в курсе???
[15:22:16] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <интриги! скандалы!! …>
Им лучше не знать :-)
[15:23:22] <ada_ru> (Eugene) кстати эти оберонщики же пилят кучу своих компиляторов, было там у них и что-то про сдвиги, так что наверное где-то всё-таки правильно работает...
[15:24:00] <ada_ru> (Eugene) у них же там даже теперь есть компилятор оберона под LLVM вроде
[15:27:10] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <кстати эти оберонщик…>
Где-то и на c++ оно правильно работает :-) ф-но ub от этого быть не перестаёт
[15:28:15] <ada_ru> (I_vlxy_I) А сочетание Оберон+LLVM я бы вообще на пушечный выстрел к продакштну не подпускал. Тем более ее чему-то требующему хоть какую надежность.
[15:28:56] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <А сочетание Оберон+L…>
ну ничо, вон Дагаев скоро атомную электростанцию на этой связке запустит -- там повеселимся )))
[15:29:53] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <ну ничо, вон Дагаев …>
Надеюсь он никуда дальше логгера результаты своих трудов не внедрит.
[15:30:32] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <Надеюсь он никуда да…>
так вроде у него там не просто логгер, а какая-то управляющая логика была же?
[15:31:04] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <так вроде у него там…>
В 2014 году был только логер. Что там дальше было - я хз
[15:33:19] <ada_ru> (Eugene) за эти пять лет он сделал компилятор с трёх диалектов оберона под три разные платформы! (или типа того)
не просто так же он это делал! наверняка уже внедрил куда-то что-то крутое )))
[15:33:52] <ada_ru> (I_vlxy_I)  отвечает (Eugene) на <за эти пять лет он с…>
Харэ пугать!
[15:34:16] <ada_ru> (Eugene) и вапще Дагаев -- ведущий специалист Русатома! не просто же так! значит власть имеет!
[15:40:08] <ada_ru> (I_vlxy_I) А можно, пожалуйста, туда Аду, а?
[15:42:55] <ada_ru> (I_vlxy_I) Кстати, Раст, в дебаге, таки ловит переполнения. Оберон - нет.
[15:46:36] <ada_ru> (Vinpuh)  отвечает (I_vlxy_I) на <А можно, пожалуйста,…>
Так хотели Аду, но типа же санкции все такое.
[15:46:48] <ada_ru> (Eugene)  отвечает (I_vlxy_I) на <А можно, пожалуйста,…>
не, аду низзя, ибо санкции, враждебная обстановка, всё такое
[15:47:26] <ada_ru> (I_vlxy_I) Ну тогда Go или Swift.
[15:47:37] <ada_ru> (I_vlxy_I) Да даже Раст был бы лучше!
[15:48:26] <ada_ru> (Eugene) да раст меняется кажный месяц! программы на расте никогда не пройдут сертификацию!!!
[15:48:49] <ada_ru> (Eugene) а чем свифт-то хорош?
[15:48:51] <ada_ru> (Gourytch)  отвечает (Eugene) на <не, аду низзя, ибо с…>
раз на аду есть гост аж советский - ада уже не  враждебна
[15:48:58] <ada_ru> (I_vlxy_I) Будто диалекты оберонов не меняются
[15:49:19] <ada_ru> (I_vlxy_I) Зафиксировали версию и вперёд!
[15:49:22] <ada_ru> (Eugene)  отвечает (Gourytch) на <раз на аду есть гост…>
нет больше советских компиляторов же! а американские компиляторы могут подпасть под санкции
[15:49:34] <ada_ru> (Gourytch) (другое дело что та ада небось ещё на PDP-11 была реализована)
[15:50:31] <ada_ru> (Eugene)  отвечает (Gourytch) на <(другое дело что та …>
на эльбрусе1/2 (70-80х гг), на УВК Самсон, как минимум -- это всё оригинальные советские разработки
[15:51:13] <ada_ru> (Eugene) кстати, Самсон до сих пор используется в военке, так что там это всё актуально должно быть
[15:51:23] <ada_ru> (Gourytch)  отвечает (Eugene) на <на эльбрусе1/2 (70-8…>
ну вот. круто же! осталось всего ничего: допилить да перекомпилить )
[15:51:28] <ada_ru> (Eugene) правда на самсоне Аде придётся конкурировать с Алголом-68
[16:19:16] <ada_ru> (iserged)  отвечает (I_vlxy_I) на <По наличию UB в коде…>
А что должно происходить при x << 100500 ?
[16:22:48] <ada_ru> (I_vlxy_I)  отвечает (iserged) на <А что должно происхо…>
0