Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Представлены X-сервер Frame и рабочий стол CHasm, написанные на ассемблере"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Представлены X-сервер Frame и рабочий стол CHasm, написанные на ассемблере"  +/
Сообщение от opennews (??), 17-Июл-26, 14:33 
Проект Frame развивает новый X-сервер, написанный целиком на ассемблере NASM для архитектуры  x86_64 и предназначенный для работы в Linux без внешних зависимостей. Взаимодействие с ядром Linux, включая  интерфейсы DRM/KMS и evdev, осуществляется напрямую через системные вызовы, без привлечения библиотек, таких как libc, Mesa и FreeType. Код Frame распространяется как общественное достояние. Разработка ведётся с привлечением AI-ассистента Claude Code...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=65922

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 17-Июл-26, 14:33   +13 +/
ИИ открывает новые горизонты - можно пилить софт исключительно под свои потребности и забить на языки программирования и компиляторы,  генерируя код на ассемблере.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #30, #37, #144

2. Сообщение от Аноним (2), 17-Июл-26, 14:34   –18 +/
Файрфокс на иксах полноценно не работает, придётся попотеть. 152 чёт совсем сломали, тоже чатботы видимо.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #3, #41, #51, #54, #82, #103, #161

3. Сообщение от EuPhobos (ok), 17-Июл-26, 14:36   +11 +/
> Файрфокс на иксах полноценно не работает, придётся попотеть. 152 чёт совсем сломали, тоже чатботы видимо.

Откуда вы такие берётесь? Что именно сломано то?
Сижу на иксах, лиса 153.0.6 - особых проблем при ежедневном сёрфигне сайтов не наблюдал, что такого может не работать, что прям блокер?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #5, #7, #8

4. Сообщение от Аноним (8), 17-Июл-26, 14:41   +4 +/
а почему не на fasm?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #88, #149

5. Сообщение от Аноним (5), 17-Июл-26, 14:41   –10 +/
Похоже, на иксах ты сидишь с вяленого, потому что в firefox стабильно каждые 10 выпусков ломают primary selection.

И стабильно каждые 40 там падает софтрендер.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #133

7. Сообщение от Аноним (2), 17-Июл-26, 14:42   +/
Из будущего пишешь? Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон. Файловые диалоги совсем сломаны: и клики, и подтверждение перезаписи существующего файла.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #12, #26, #28, #73, #129

8. Сообщение от Аноним (8), 17-Июл-26, 14:43   –1 +/
Сижу на форточке и он в текущем мажоре регулярно фризится даже если у тебя минимально 2-3 таба открыто с текстом
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #3 Ответы: #31

9. Сообщение от xsignal (ok), 17-Июл-26, 14:44   +11 +/
Если уж писать на ассебмлере, то без ИИ. Ассемблерный код от ИИ вряд ли будет лучше, чем код оптимизирующего компилятора.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #10, #11, #22, #46, #135

10. Сообщение от Аноним (5), 17-Июл-26, 14:48   +2 +/
Если на сорцах luajit и fasm тренировать, будет лучше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

11. Сообщение от Аноним (5), 17-Июл-26, 14:49   +2 +/
И вне зависимости от компилятора, оно будет читаемо.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

12. Сообщение от Аноним (2), 17-Июл-26, 14:53   +/
А вот превью работает в другом окне, но выглядит так себе. Без скруглённых углов наверно не пришлось бы заполнять всё чёрным.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

13. Сообщение от JoePeach (ok), 17-Июл-26, 15:03   +1 +/
А помните, ржали над Microslop... Вот, досмеялись!
Ответить | Правка | Наверх | Cообщить модератору

14. Сообщение от Аноним (14), 17-Июл-26, 15:04   +2 +/
Чтобы никто без ИИ в коде не разобрался?
Ответить | Правка | Наверх | Cообщить модератору

15. Сообщение от Аноним (26), 17-Июл-26, 15:05   –2 +/
Вроде бы фанаты wayland говорили, что кроме Xorg других иксов не бывает в отличие от кучи несовместимых реализаций протоколов wayland.
Как же так?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #33

16. Сообщение от Аноним (16), 17-Июл-26, 15:09   +5 +/
Как же так, фанаты wayland не посмотрели в будущее и не узрели, что кто-то начнёт писать иксы на асме.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #17

17. Сообщение от Аноним (26), 17-Июл-26, 15:11   +1 +/
Они и в прошлое и настоящее не смотрели, когда на момент открывания своего рта про единственный Xorg уже были и другие Икс-серверы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #47

18. Сообщение от Аноним9000 (?), 17-Июл-26, 15:12   +3 +/
По-моему очень сомнительное решение. Если прямо нужна невероятная оптимизация производительности, то лучше Rust + ассемблерные вставки в hot paths.
А так 100к+ строк абсолютно не поддерживаемого ассемблерного кода написанного LLM без каких бы то ни было гарантий от компилятора
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #20, #21, #25, #29, #34, #53

20. Сообщение от Аноним (26), 17-Июл-26, 15:15   +1 +/
Зачем тебе компилятор и какие-то его гарантии, если код _уже_ на ассемблере? Что-то тут компилировать собрался? Код уже скомпилирован, дальше только его ассемблировать в машинный код.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #24

21. Сообщение от Аноним (2), 17-Июл-26, 15:20   –4 +/
Раст это блоат. Проверки в рантайме не бесплатны и в отличие от си достаточно сложно предугадывать вычислительную сложность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #27, #62, #67

22. Сообщение от Аноним (22), 17-Июл-26, 15:21   +2 +/
повторно надо код вскормить, чтобы оптимизировал, срабатывает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

24. Сообщение от Аноним9000 (?), 17-Июл-26, 15:24   –1 +/
Я нигде не говорю про компиляцию ассемблерного кода, как раз наоборот говорю, что в данном случае не будет никаких гарантий от компилятора, в отличии от ситуации с Rust.

Итого:
1) В ситуации Rust + ассемблерные вставки мы можем вычитать unsafe части, а в остальном полагаться на гарантии компилятора
2) В данной ситуации у нас 100к+ строк ассемблера, которые невозможно вычитать, а значит можно полагаться только на проверку LLM и специфичными инструментами статического анализа

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #50

25. Сообщение от Аноним (2), 17-Июл-26, 15:25   +2 +/
Нет разделяемой памяти библиотек опять же, для дисплейного сервера это весьма важно. Взять тот же квин -- своей памяти у него в районе 20 мегабайт и ещё 60 разделяемой. Ну и у ксорга 90 (зависит от числа окон) и 150 -- порядок примерно такой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18

26. Сообщение от Аноним (26), 17-Июл-26, 15:35   +4 +/
> Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон.

Результат многолетнего скругления окон. Итоги.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

27. Сообщение от Аноним9000 (?), 17-Июл-26, 15:37   +2 +/
Я не настоящий сварщик, но мне кажется hot paths можно найти динамическим анализом ведь?
И вроде бы практика показывает, что на Rust удаётся достичь очень высокой производительности.
Конечно, в идеальном мире идеальный код на Си или, ещё лучше, на ассемблере это лучше решение, но LLM ещё не настолько хороши, чтобы доверять им, что они напишут идеальный код
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

28. Сообщение от Аноним (26), 17-Июл-26, 15:38   +/
> Превью табов по mouseover сломано, виджеты без композитинга сломаны и показывают чёрный фон.

Результат многолетнего скругления окон. Итоги.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

29. Сообщение от Ivan_83 (ok), 17-Июл-26, 15:49   +/
Раст даром и с приплатой не сдался, и производительности с ним не будет.
А на С уже есть хорг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #32

30. Сообщение от Анонимemail (30), 17-Июл-26, 15:58   +4 +/
Можно также не работать, не есть и не дышать, полностью переложив эти обязанности на AI, который все это сделает за чудака, который не вырос из детства и не перестал верить в чудеса.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #90, #142, #166

31. Сообщение от Анонимemail (30), 17-Июл-26, 16:00   +/
Для форточек 4 гбайта ныне критически мало. Пора за апгрейдом в китайскую лавочку.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8

32. Сообщение от Аноним (32), 17-Июл-26, 16:02    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #42

33. Сообщение от Аноним (-), 17-Июл-26, 16:04   +2 +/
мне кажется, ты путаешь - говорили о об этом именно фанаты иксов, называя отсутствие кучи несовместимых реализации плюсом

теперь, собственно, вопрос - что там с совместимостью реализаций различных Хы-серверов? тут в расширениях не перечислены сервер шрифтов, сервер печати, запускатор COFF и a.out, так что считаем его несовместимой реализацией Хы, ненастоящим Хы

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #39

34. Сообщение от Аноним (5), 17-Июл-26, 16:05   +5 +/
>Если прямо нужна невероятная оптимизация производительности, то лучше Rust + ассемблерные вставки в hot paths.

Отличный проект! Думаю, ты справишься! Замечание про 100к+ строк абсолютно не поддерживаемого ассемблерного кода - просто шик! Хочешь, составлю месячный план по написанию X-сервера на Rust?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #38, #43

37. Сообщение от senaemail (ok), 17-Июл-26, 16:09   +7 +/
жду когда ИИ будет генерировать сразу бинарники, без промежуточных исходников
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #57, #59, #92, #125, #132

38. Сообщение от Аноним9000 (?), 17-Июл-26, 16:10   +/
Давай без плана, yolo mode. Только чтобы без ошибок!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

39. Сообщение от Аноним (26), 17-Июл-26, 16:11   +3 +/
> сервер печати

Это как встроенный оконный менеджер в дисплейный сервер в wayland'ах? Ну да, тут такого уже сто лет нету даже в Xorg.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #80

40. Сообщение от Анонимный аноним (?), 17-Июл-26, 16:12   +4 +/
Я не понимаю, зачем все целиков на ассемблере писать? Это же нечитаемый трудноподдерживаемый непортируемый код. Можно на любом низкоуровневом языке писать -- Си, подмножестве Си++, да хоть на Rust или Zig без привязки к внешним каким бы то ни было библиотекам. Просто сделать обертку над ассемблерными обращениями к ядру и все.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #44, #48, #81

41. Сообщение от Аноним (41), 17-Июл-26, 16:14   +1 +/
Враньё, сижу на Иксах, всё работает стабильно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #56

42. Сообщение от Аноним (26), 17-Июл-26, 16:14   +1 +/
> Который уринарными тряпками выкинули из всех нормальных дистрибутивов и начали выкидывать
> из туллкитов.

И все еще работает быстрее вейлендов

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

43. Сообщение от Аноним (41), 17-Июл-26, 16:15   +/
Мегахорош!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

44. Сообщение от Аноним (26), 17-Июл-26, 16:21   +1 +/
Это промпт-инженер ничего не писал, это все Claude Code сгенерировал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

45. Сообщение от Я (??), 17-Июл-26, 16:27   +3 +/
Лучше писал бы на Си или на ограниченном варианте С++ с минимальным использованием стандартной библиотеки. Эффективность была бы куда лучше, а расход ресурсов примерно таким же. И была бы кроссплатформенность. А на асме это просто игрушка для автора и не более того.
Ответить | Правка | Наверх | Cообщить модератору

46. Сообщение от Фамилия (?), 17-Июл-26, 16:40   +/
По мне код получился просто как рукописный на ассемблере. Есть ли в этом какая-то ценность - хз...

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

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

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #94

47. Сообщение от Аноним (47), 17-Июл-26, 16:46   +1 +/
Есть X.Org, а также статические погрешности
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #17 Ответы: #74

48. Сообщение от Аноним (47), 17-Июл-26, 16:48   +/
Just 4 lulz
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

49. Сообщение от Аноним (5), 17-Июл-26, 16:48   –1 +/
Давайте уже сбросим шляпы и скажем, какой нейронкой генерировали комментарии.
Ответить | Правка | Наверх | Cообщить модератору

50. Сообщение от warlock66613email (ok), 17-Июл-26, 16:49   –1 +/
Технически, у компилятора Rust одна гарантия -- отсутствие UB. Любой код на ассемблере по определению не содержит UB, так что эта гарантия есть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #58, #70

51. Сообщение от Аноним (51), 17-Июл-26, 16:51   +/
Никаких проблем на 153.0.6 в минте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

52. Сообщение от Аноним (52), 17-Июл-26, 16:52   –1 +/
вроде чем сложнее яп тем сложнее на нём писать и человеку и ии. а вот километры асма в одном файле для ии намного легче чем для человека. так что чел нашёл видимо правильный путь
Ответить | Правка | Наверх | Cообщить модератору

53. Сообщение от Аноним (51), 17-Июл-26, 16:54   +/
>По-моему очень сомнительное решение. Если прямо нужна невероятная оптимизация производительности, то лучше

взять Си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #136

54. Сообщение от Аноним (54), 17-Июл-26, 16:57   +1 +/
Секрет прост - твой дистрибутив. Никак вы ----- не научитесь, небось либо ролинг либо модно-геймерский дистр с кучей експериментальных патчей, а потом "у меня фаерфокс сломался". У тебя система сломалвсь а не фаерфокс.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #60, #116

55. Сообщение от Анонимemail (55), 17-Июл-26, 16:58   –1 +/
Если глянуть в код, особенно в md-шку, то такая жуткая «многословность» ;) А особенно забавляют дефисы. Они ИИчек длинные и являются одним из признаков…
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #109, #112

56. Сообщение от Аноним (2), 17-Июл-26, 17:03   –1 +/
Особенно zerocopy, ага.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

57. Сообщение от nikitron (ok), 17-Июл-26, 17:09   +10 +/
зачем вообще бинарники или исходники, если можно просто посылать сигналы что всё хорошо
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

58. Сообщение от Аноним (2), 17-Июл-26, 17:14   +/
Нет там таких гарантий, никто их тебе не даст. Хочешь каких-то гарантий, учи Ada.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

59. Сообщение от penetrator (?), 17-Июл-26, 17:16   +/
чтобы что? чтобы не иметь вообще никакой возможности для контроля результата?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #71, #93, #167

60. Сообщение от Аноним (2), 17-Июл-26, 17:17   +/
Предлагаешь протухший браузер юзать? Ну такое, это для инвалидов развлечение.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #63, #64

62. Сообщение от karag0 (?), 17-Июл-26, 17:26   +1 +/
А давно у rust рантайм среда появилась, а ?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #66

63. Сообщение от dannyD (?), 17-Июл-26, 17:31   +/
а НЕ инвалиды развлекаются беготнёй впереди паровоза.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #65

64. Сообщение от localhostadmin (ok), 17-Июл-26, 17:34   +/
Что такого радикально нового добавляют в фаерфокс, что необходимо моментально перейти на последнюю версию?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #69, #85

65. Сообщение от Аноним (2), 17-Июл-26, 17:36   +/
> а НЕ инвалиды развлекаются беготнёй впереди паровоза.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #104

66. Сообщение от Аноним (2), 17-Июл-26, 17:47   +/
Хм? У раста нет встроенного сборщика мусора, но рантайм у кода, им генерируемом, конечно же есть. Проверка индексов (причина существенного замедления), раскрутка стека и обработка паник (очень сильное замедление), менеджмент памяти (отладка затруднена), потоки и ввод-вывод. Если нужна поддержка асинхронного кода, сейчас подключается сторонний рантайм тоже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62 Ответы: #68, #119

67. Сообщение от fidoman (ok), 17-Июл-26, 17:49   +/
блоат это когда после одного сложения надо сделать три сравнения чтобы факт переноса установить.
ах ну да, это же просто UB.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #77

68. Сообщение от Аноним (68), 17-Июл-26, 17:50   +/
> причина существенного замедления
> очень сильное замедление

Но работает на уровне СИ, а иногда и быстрее.
Может ты не релизную сборку делал?

> отладка затруднена

По сравнению с чем?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #72

69. Сообщение от Аноним (2), 17-Июл-26, 17:56   –1 +/
Новую очень важную функциональность добавляют примерно каждую версию. Это помимо часто критических исправлений.

А вообще, я сейчас могу привести понятный пример (почему-то в новости про это ничего не написали, видимо, копипастили не глядя). Вот хромоног взял и перевёл хранилище с глючной и проблемной leveldb на sqlite. Теперь хранилище браузера больше не будет повреждаться. Важно ли ли это пользователям? You bet.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

70. Сообщение от Аноним9000 (?), 17-Июл-26, 17:59   +/
В самом ассемблере технически UB быть не может, но т.к. в данном проекте количество кода такое, что его никто никогда не вычитает фактически UB может быть на границе промт - LLM - ассемблер. Плюс этот код не существует в вакууме, а дёргает интерфейсы ядра.

И в Rust гарантии не только насчёт UB.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #78, #95

71. Сообщение от Аноним (71), 17-Июл-26, 18:00   +5 +/
Ты же сейчас не контролируешь весь сгенерированный машинный код разными компиляторами. Так что ничего не изменилось. Дизассемблеры и ассемблеры - вечны. Хрусты, бидоны и типаскрипты со временем уйдут в небытие. ИИ они не нужны. Лишние абстракции. Ему нужны только нули и единицы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

72. Сообщение от Аноним (2), 17-Июл-26, 18:04   +/
Я видел, как он у меня произвольно висит на мютексе где-то в кишках serde, ну замечательно. В релизной сборке меньше. Максимально аналогичный код на питоне (тоже десериализация и всё остальное) в итоге одинаковую производительность с растом показывал (и раз в 30 быстрее отладочного билда). Зачем связываться, если можно взять предсказуемые плюсы (открываешь отладчик и смотришь), мне решительно непонятно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

73. Сообщение от oficsu (ok), 17-Июл-26, 18:06   +/
> Файловые диалоги совсем сломаны

Кастомные файловые диалоги в любом софте – боль, и всегда ею была. Железобетонно решается использованием порталов. Ставим xdg-desktop-portal-<your-de> и прописываем GTK_USE_PORTAL=1 перед запуском Firefox

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #134

74. Сообщение от Frestein (ok), 17-Июл-26, 18:17   +1 +/
А динамические были уже?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47 Ответы: #118

76. Сообщение от Аноним (76), 17-Июл-26, 18:21   +/
Работаем Асм на 86-64, и больше ни на чем, в помойку Асм
Ответить | Правка | Наверх | Cообщить модератору

77. Сообщение от Аноним (2), 17-Июл-26, 18:31   +/
Ну так в переполнении ничего плохого. В любом случае, штатная функциональность компилятора этот вопрос решает. И это никак не UB. А вот переполнение чисел с плавающей запятой в расте -- определённо UB, но стандарта то и нет -- как ты собираешься устанавливать, что является UB, а что нет?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

78. Сообщение от oficsu (ok), 17-Июл-26, 18:33   +/
> В самом ассемблере технически UB быть не может

В самом – может и нет. Но ub – это отсутствие гарантий на поведение. И гарантии поведения не всегда присутствуют на уровне самого железа. Поэтому код на nasm легко может триггерить ub

Например, инструкция rdrand не даёт гарантий на результат:
> no valid random value is available—due to ongoing conditioning or entropy source replenishment—the destination register contents are undefined

Или работа с неверно выравненными данными для некоторых отдельных cpu даёт unpredictable behavior, что для программиста фактически равноценно ub

Также этот проект запускается в операционке, а не в вакууме, и его код зовёт сисколлы. А там тоже есть и abi, и требования на входные данные, и гарантии, и ub на нарушение требований

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #96, #98

79. Сообщение от anonymous (??), 17-Июл-26, 18:35   +/
Если в структурированном коде ещё можно найти где налажал нейрослоп, то в ассемблерных спагетти разобраться сможет только сам ИИ.
Ответить | Правка | Наверх | Cообщить модератору

80. Сообщение от Аноним (-), 17-Июл-26, 18:38   +/
раскрой пожалуйста мысль, каким образом ты пришел к вейланду? как этот факт влияет на несовместимость различных реализаций серверов Хы?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

81. Сообщение от Аноним (81), 17-Июл-26, 18:40   +1 +/
> Это же нечитаемый трудноподдерживаемый непортируемый код

Что может быть проще асемблера?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40 Ответы: #86, #102, #110

82. Сообщение от Аноним (82), 17-Июл-26, 18:43   +/
Он работает даже при пробросе по ссх, правда с небольшими тормозами интерфейса с физ компа из кладовки. И не нужно лишние сущности городить, т.ч. пока иксы нужны и полезны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #83

83. Сообщение от Аноним (2), 17-Июл-26, 18:50   +/
Прозрачности отключи и увидишь всё. Декодирование видео тоже только в вейланде с dmabuf.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

84. Сообщение от Джон Титор (ok), 17-Июл-26, 18:56   –2 +/
Для тех кто впервые, как я, слышат о CHasm, давайте вместе разберемся?
CHasm (сокращение от CHange to ASM) — это активно обсуждаемый проект по созданию легковесного окружения рабочего стола, написанного исключительно на чистом ассемблере x86_64 NASM под Linux

Главная идея проекта — избавиться от переусложненных современных стеков. В то время как обычный эмулятор терминала или оконный менеджер подтягивает десятки динамических библиотек (вроде libc, Python, GLib, X11-тулкитов), CHasm демонстрирует, насколько мало ресурсов нужно системе на самом деле.

Основные принципы и компоненты:
- Полное отсутствие зависимостей: Весь код написан на чистом ассемблере NASM без использования стандартной библиотеки Си (no libc).
- Прямые системные вызовы: Взаимодействие с ядром Linux происходит напрямую через syscall.
- Собственная экосистема: В рамках этой инициативы разработчик (под ником isene) развивает не только утилиты, но и сопутствующий X-сервер Frame. Он общается с ядром через интерфейсы DRM/KMS и evdev, а графические приложения выводят картинку по протоколу X11 напрямую через Unix-сокеты.
- Статическая сборка: Каждая утилита компилируется в один независимый статический исполняемый файл ELF. Никакого выделения памяти на лету (malloc), все буферы распределены статически на этапе компиляции

Ответить | Правка | Наверх | Cообщить модератору

85. Сообщение от Аноним (5), 17-Июл-26, 19:11   +/
Он перестаёт ломаться на некотых chrome only сайтах.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

86. Сообщение от Анонимный аноним (?), 17-Июл-26, 19:18   +1 +/
brainf*ck
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

87. Сообщение от Аноним (87), 17-Июл-26, 19:30   –2 +/
Как будто на ассемблере меньше ошибок работы с памятью, чем на Си. Либо раст, либо расходимся.
Ответить | Правка | Наверх | Cообщить модератору

88. Сообщение от Аноним (-), 17-Июл-26, 19:30   –2 +/
Он виндовый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

89. Сообщение от Аноним (89), 17-Июл-26, 19:33   +/
Аналог libxkbcommon без зависимостей и с базой раскладок в комплекте был бы очень кстати. Оч всрато что эту штуку можно вызвать только из сей. Мне на go понадобились всякие суровые колдунства, чтобы без cgo обойти это.
Ответить | Правка | Наверх | Cообщить модератору

90. Сообщение от Аноним (90), 17-Июл-26, 19:37   +11 +/
> не есть и не дышать
> который не вырос из детства

Детство - это вот гиперболизировать так, как ты в своем комментарии.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

92. Сообщение от Жыжа (?), 17-Июл-26, 19:58   +/
Реально не понимаю зачем эти полумеры с текстом и кнопкой "аппрув", если можно сразу на выходе делать какой-нибудь условный байткод для виртуальной машины LLMVM
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

93. Сообщение от Жыжа (?), 17-Июл-26, 19:59   +/
А щас какой контроль? Агентик луп из 7 за^W агентов, которые читают код, который выдала ллм?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59 Ответы: #123

94. Сообщение от Аноним (22), 17-Июл-26, 20:01   +/
> (надо в голове держать где кто какой регистр использует и что там в стеке лежит)

можно текстовый редактор в стиле дебаггера сделать, чтобы видеть и текущее положение регистров (флагов) по всему коду и состояние памяти (стека).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #97

95. Сообщение от Аноним (22), 17-Июл-26, 20:03   +/
> что его никто никогда не вычитает

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70

96. Сообщение от Аноним (22), 17-Июл-26, 20:05   +/
> Но ub – это отсутствие гарантий на поведение. И гарантии поведения не всегда присутствуют на уровне самого железа.

UB это отсутствие доказательства корректности! Если ваш ЦПУ имеет спеку и коректный, он верифицирован, то в нем UB быть не должно по определению. Доказательство корректности и ее верификация это и есть гарантия.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #122, #151

97. Сообщение от Фамилия (?), 17-Июл-26, 20:10   +1 +/
Да-да, а потом можно прийти к тому, что можно писать не прям ассемблерные инструкции, а обернуть их в подобие удобных макросов, а потом чтобы можно было назвать "переменную" как-нибудь и она автоматом будет то в регистр сгружаться, то в стек. И получится ... Си.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94 Ответы: #100

98. Сообщение от Аноним (22), 17-Июл-26, 20:14   +/
> Например, инструкция rdrand не даёт гарантий на результат:

нету таких понятий, гарантия на результат. Сама функция четко определяется, то есть задается ее область определений и значений, доказывается корректность и т.д. которое можно верифицировать. Но уже внутри самой этой функции есть другие функции (источники энтропии) даже они могут быть вполне определены, и доказаны на корректность (а результат сводится в таком случае к функции возвращающей либо 0 либо 1), и поведение этих функций вполне определены!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78 Ответы: #152

99. Сообщение от Аноним (109), 17-Июл-26, 20:16   +/
Один васян с ИИ сделал иксы на ассебмлере (на ассемблере, Карл!) за пару месяцев лучше, чем толпа инженеров за десятилетия на сях. Достойно уважения и восхищения. А эксперты с опеннета только комментов написали два тома про то, как они бы уж точно сделали ли бы лучше и соврешенно иначе. Если бы встали с дивана.

Это всё, что вам нужно знать о разнице между мужчиной и мальчиком, мальчики.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #139

100. Сообщение от Аноним (22), 17-Июл-26, 20:19   +/
> Да-да, а потом можно прийти к тому

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

> И получится ... Си.

Ага, и плюйте на него спустя 50 лет, а всего-то, а все потому, что за эти 50 лет никто нормальный текстовый редактор для кодирования КОП не придумал, интерактивная среда кодирования со встроенным отладчиком. Деды на светодиодах содержимое регистров выводили и использовали тумблеры для кодирования КОП-ов :))))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97 Ответы: #105

102. Сообщение от Аноним (102), 17-Июл-26, 20:32   +/
Проще для кого: машины или программиста?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #114

103. Сообщение от Аноним (103), 17-Июл-26, 20:38   +/
Вай, какой).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

104. Сообщение от dannyD (?), 17-Июл-26, 20:40   –1 +/
>>Технически самый свежий браузер уже несколько месячной давности на момент выхода...

no comments.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #115

105. Сообщение от Фамилия (?), 17-Июл-26, 20:41   +/
Не, ну вы не путайте ЯП и "редактор для ассемблера, а-ля Forth". ЯП родились не просто так и к ним пришли эволюционно. Ассемблер привязывает ровно к одной процессорной архитектуре. И не позволяет легко и просто провести оптимизации, в отличие от ЯП.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #117, #143

108. Сообщение от Аноним (108), 17-Июл-26, 21:12   +/
>Frame в режиме простоя расходует почти в три раза меньше ресурсов CPU, чем X.Org Server.

Значит в xlibre есть что оптимизировать

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #165

109. Сообщение от Аноним (109), 17-Июл-26, 21:13   +/
Использую правильные тире и кавычки в соответствии с типографскими правилами того языка, на котором пишу с года эдак двухтысячного. В некоторых кругах это признак грамотного человека.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

110. Сообщение от Аноним (110), 17-Июл-26, 21:17   +/
Forth
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81

111. Сообщение от Аноним (110), 17-Июл-26, 21:22   +/
Когда-то давно пришлось по работе реверсить 700 килобайт текста на ассемблере ... Да, удовольствие из средних ...
Ответить | Правка | Наверх | Cообщить модератору

112. Сообщение от kusb reg (ok), 17-Июл-26, 21:37   +/
Там никто и не скрывает, что это написано ИИ. Почитай блог человека. Там "замена всех программ на написанные ИИ специально для меня, я и есть потенциальный единственный потребитель - умолчания, предположения, особенности сделаны для меня и нет предположения других пользователей, поэтому это просто и как-бы идеально"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55 Ответы: #113

113. Сообщение от kusb reg (ok), 17-Июл-26, 21:39   +2 +/
Это не приглашение использовать моё программное обеспечение. Честно говоря, пожалуйста, не делайте этого. Ничто из этого не создано для вас. Оно создано для меня — с учётом того, как я держу руки, как я думаю об электронной почте, как я хочу, чтобы отображался мой календарь. Я уверен, что другие люди нашли бы сотню острых углов, которые я никогда не замечал, потому что они идеально совпадают с тем, что я делаю.
Я хочу показать одну конкретную вещь: теперь действительно возможно создать рабочую среду для настольных компьютеров, которая подходит только одному человеку. Вместо настройки чужих инструментов. Это уже не героическая десятилетняя работа. Это реальная замена, которую я буду делать каждые выходные, «теперь эта штука в моей жизни делает именно то, что мне нужно».

Радость от присутствия в зале одного зрителя.
Самое приятное в том, что я строю для себя: облегчение от того, что мне не нужно ни о чем беспокоиться.

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

В редакторской шпаргалке указаны заученные мной\? клавиши в том порядке, в котором я предпочитаю, и с удобочитаемыми, на мой взгляд , сочетаниями клавиш . Высокомерие? Нет, это дизайн без коллективного обсуждения. Аудитория — один человек. Решения принимаются за секунды.

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

Так
Если вы когда-либо ловили себя на мысли: «Как бы мне хотелось, чтобы мой редактор / файловый менеджер / строка состояния / оболочка делали что-то по-другому», и вам говорили, что решение — написать плагин, изучить малоизвестный язык конфигурации или смириться с существующим положением вещей, то учтите, что третий вариант стал более доступен, чем раньше: создание собственного программного обеспечения (BYOS).

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112 Ответы: #141

114. Сообщение от Аноним (81), 17-Июл-26, 21:40   +/
Да
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102

115. Сообщение от Аноним (2), 17-Июл-26, 22:02   +/
>>>Технически самый свежий браузер уже несколько месячной давности на момент выхода...
> no comments.

Когда он у тебя будет падать каждый день из-за обновившегося видеодрайвера, ты запоёшь иначе. Касается и венды, ага.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #104

116. Сообщение от Аноним (5), 17-Июл-26, 22:04   +/
Вот этому дистрохопперу slackware пропишите, чтоб не нёс про дистрибутивы.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54

117. Сообщение от Аноним (22), 17-Июл-26, 22:12   +/
> Не, ну вы не путайте ЯП

ЯП и есть функции текстового редактора, ваш компилятор всего лишь текстовый компилятор.

> Ассемблер привязывает ровно к одной процессорной архитектуре. И не позволяет легко и просто провести оптимизации, в отличие от ЯП.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #126

118. Сообщение от Аноним (118), 17-Июл-26, 22:19   +1 +/
Только стационарные
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

119. Сообщение от Аноним (118), 17-Июл-26, 22:32   +/
> Проверка индексов (причина существенного замедления)

Компилятор их убирает, если доказуемо выхода за пределы нет.

Но у компилятора Rust эти проверки несколько ограничены.

Ada/SPARK в этом на голову лучше.

В Rust есть get_unchecked (unsafe) для случаев, когда вы уверены в том, что выхода за пределы не будет.

А вообще есть perf book.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

121. Сообщение от Аноним (121), 17-Июл-26, 22:42   +/
А потом - да вы правы, эта конструкция приведет к выходу за границы буфера, хотите я вам расскажу какие ещё бывают ошибки?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #127

122. Сообщение от Аноним (122), 17-Июл-26, 23:46   +/
В armv8 есть UB:

C1.3.4 Interaction of undefined instruction behavior with UNPREDICTABLE or CONSTRAINED_UNPREDICTABLE instruction behavior
If this manual describes an instruction as both:
• UNPREDICTABLE and UNDEFINED, then the instruction is UNPREDICTABLE.
• CONSTRAINED UNPREDICTABLE and UNDEFINED, then the instruction is CONSTRAINED UNPREDICTABLE.
Applies to an implementation of the architecture Armv8.0-M onward.


The CONSTRAINED UNPREDICTABLE behavior for a VPT block is one of the following:
• The VPT or VPST instruction generates an UNDEFINED Instruction fault.
• The instruction that causes the CONSTRAINED UNPREDICTABLE behavior does one of the following:
– It raises an UNDEFINED Instruction fault.
– It executes normally.
– It has UNKNOWN predication applied.
Applies to an implementation of the architecture Armv8.1-M onward. The extension requirements are - MVE.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #124

123. Сообщение от Анонимemail (123), 18-Июл-26, 00:03   +/
Есть такие слова sdd, tdd
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

124. Сообщение от Аноним (22), 18-Июл-26, 00:12   +/
> В armv8 есть UB:

кто-то отрицал это? повторяю, отсутствие UB необходимо ДОКАЗЫВАТЬ! А с другой стороны у вас в архитектуре есть состояние UNKNOWN, то есть неоднозначность, отсюда и не определяется.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122 Ответы: #130

125. Сообщение от Аноним (125), 18-Июл-26, 00:28   –1 +/
А то, что ИИ может делать в бинарник деструктивные или шпионские вставки, не смущает?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #128, #145

126. Сообщение от Фамилия (?), 18-Июл-26, 00:41   +1 +/
Согласен
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

127. Сообщение от Аноним (22), 18-Июл-26, 00:43   +/
так и есть это бич реинфорстмент лернинга, ваш ЫЫ вам угождает, он даже готов будет принять 2+2=5 за истину.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #121

128. Сообщение от senaemail (ok), 18-Июл-26, 00:43   +2 +/
> А то, что ИИ может делать в бинарник деструктивные или шпионские вставки,
> не смущает?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125 Ответы: #164

129. Сообщение от Аноним (129), 18-Июл-26, 02:49   +/
Сам себе сломал сломал композитинг и opengl, а виноват firefox.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #131

130. Сообщение от Аноним (122), 18-Июл-26, 04:04   +/
Cуть в том что спека у фрма есть, а в ней UB.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #147

131. Сообщение от Аноним (2), 18-Июл-26, 07:33   +/
Никто его не ломал, в иксах его нет. При чём тут opengl? Он никак не используется нигде.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #129

132. Сообщение от bergentroll (ok), 18-Июл-26, 08:40   +/
> жду когда ИИ будет генерировать сразу бинарники

Зачем бинарники, сразу видеопоток.

  

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

133. Сообщение от EuPhobos (ok), 18-Июл-26, 08:58   +1 +/
> Похоже, на иксах ты сидишь с вяленого

Это кофейная гуща подсказала?
Я лично сижу на том, что сам поставил в систему.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

134. Сообщение от Аноним (134), 18-Июл-26, 10:38   +/
А наоборот можно? Например в Chrome.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

135. Сообщение от Аноним (134), 18-Июл-26, 10:38   +/
Ну там же написано "с привлечением ИИ", а не "ИИ генерирует весь код".
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9

136. Сообщение от Аноним (136), 18-Июл-26, 11:04   +/
> взять Си.

и выйти за границы буфера, а потом два раза освободить память и снова к ней обратиться

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53

137. Сообщение от Аноним (137), 18-Июл-26, 11:12   –1 +/
Тем, кто не вкурсе. Операционная система KolibriOS, которая написана на ассемблере, весит 1,44 Мб. Целая ОС раньше помещалась на дискету.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #138

138. Сообщение от sunjob (ok), 18-Июл-26, 11:14   +/
она и сейчас туда помещается! :о)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

139. Сообщение от sunjob (ok), 18-Июл-26, 11:15   +/
поддерживаю всеми руками и ногами!!! :о)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

141. Сообщение от sunjob (ok), 18-Июл-26, 11:23   +/
и это круто!


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #113

142. Сообщение от Пупсик (?), 18-Июл-26, 11:37   –1 +/
Через пару-тройку лет перечитай свой комментарий, когда введут в работу запланированные мощности под ИИ. Ты просто не следишь за темой. Посмотри обзоры на Fable 5 / Mythos 5.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

143. Сообщение от kusb (?), 18-Июл-26, 13:49   +/
Почему forth - редактор для ассемблера?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #146

144. Сообщение от pofigist (?), 18-Июл-26, 13:52   +/
Именно. Промежуточные этапы за оверпрайс  в виде кожаных мешков за 2 месяца обучившиеся до джуна на пихоне - больше не нужны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

145. Сообщение от pofigist (?), 18-Июл-26, 13:54   +/
А тебя не смущает что кожаные мешки делают это гораздо чаще? Хотя бы потому что у них - абсолютно неоправданное самомнение...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #125

146. Сообщение от Аноним (22), 18-Июл-26, 14:08   +/
Он имеет ввиду:

"""
Forth typically combines a compiler with an integrated command shell, where the user interacts via subroutines called words.

Words can be defined, tested, redefined, and debugged without recompiling or restarting the whole program. All syntactic elements, including variables, operators, and control flow, are defined as words. A stack is used to pass parameters between words, leading to a Reverse Polish notation style.
"""

а это фактически то о чем я говорю, редактор для ассемблера с возможностью отображать состояние регистров машины, и содержимого памяти в произвольном участке программы, что равносильно интерактивным отладчика, что собственно представляет из себя forth (and debugged without recompiling or restarting the whole program). Forth по сути не ЯП, а абстрактная выч. машина, подобная машине Тьюринга.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #143

147. Сообщение от Аноним (22), 18-Июл-26, 14:31   +/
Ну да, и в ней четко описывают в каких ситуациях система будет находиться в состоянии UNKNOWN, и тихо-тихо они все же стараются отходить от такой архитектуры вводя всякие ограничения CONSTRAINED UNPREDICTABLE.

пс: Классическая машина Тьюринга имеет UB? А много-головчатая (multi-head, не путать с multi-tape - многоленточной)? Race condition - UB?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130

148. Сообщение от Аноним (148), 18-Июл-26, 14:55   +3 +/
Как правило, ИИ генерирует ассемблерный код хуже компиляторов, ещё и на вялом NASM, который по сути не имеет многих преимуществ FASM. Получаемые программы бесполезны, так как будут работать медленнее. Разве что вес исполняемого файла будет не самый большой.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #150, #159

149. Сообщение от Аноним (149), 18-Июл-26, 15:26   +1 +/
ИИ не любит его и с трудом вспоминает даже про его макросы...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

150. Сообщение от Аноним (22), 18-Июл-26, 16:29   –2 +/
> ИИ генерирует ассемблерный код хуже компиляторов

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148

151. Сообщение от oficsu (ok), 18-Июл-26, 16:55   +/
> UB это отсутствие доказательства корректности!

Не всякое некорректное поведение является ub

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

Поэтому корректность и определённость — это две совершенно разные плоскости; ub — это _юридическая_ терминология, и верификация не может устранять юридические недомолвки продукта

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #153

152. Сообщение от oficsu (ok), 18-Июл-26, 17:28   +/
> Сама функция четко определяется, то есть задается ее область определений и значений

Если вы хотите математическую аналогию, то представьте себе f(x)=1/x. У такой функции действительно есть область определения. Тем не менее, `f(0)` не существует

С прикладной точки зрения это значит, что мы должны решить, что именно нам делать, когда пользователь пытается вычислить f(0)

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

Т.е. ub и не возникает в области определения функции, ub — это про гарантии (а точнее их отсутствие) на поведение ВНЕ этой области

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #155

153. Сообщение от Аноним (22), 18-Июл-26, 17:28   +/
> Не всякое некорректное поведение является ub

Некорректное поведение (поведение которое не определено в спеке) автоматически опровергает данное доказательство корректности. Отсюда UB - не определенно (самоназвание - не определили), а раз не определено, то и не доказано! Но тут не надо путать с определением неопределенного состояния (поведения), но это можем мы доказать если определим такое поведение и архитектура будет считаться корректной. Банальный пример - недопустимая кодовая операция, ее можно ОПРЕДЕЛИТЬ как UB, и это вполне корректно, либо избавиться от этого определения и определить все пространство кодов операций (описать вполноте).

> И ub может быть корректным и ожидаемым поведением, если мы не хотим давать конкретные гарантии.

Гарантия должна быть одна - что имплементация соответствует (корректна) описанию (определению) в спеке! А корректность спеки это ее доказательство полноты и непротиворечивости, ибо UB это те самые случаи которые упускаются при доказательстве.

> ub — это _юридическая_ терминология, и верификация не может устранять юридические недомолвки продукта

UB это тот случай когда судим о частном и натягиваем на общий. И UB как раз говорит о том, что это не корректно, если ЗАВЕДОМО это не согласовано (то есть описано в спеке, и по сути , что так и задумано).

Итог: Существование (возможно неизбежность) UB можно доказывать и это будет вполне корректно. А если мы профукали какое-то UB (race condition) - это уже в корне некорректно!

Любое утверждение о корректности требует доказательства!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #151 Ответы: #154

154. Сообщение от oficsu (ok), 18-Июл-26, 17:37   +/
>> Не всякое некорректное поведение является ub
> Некорректное поведение (поведение которое не определено в спеке)

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

Вы смешали в кучу понятия определённости поведения, корректности программы и корректности/непротиворечивости/полноты спеки. Но это разные вещи

> А корректность спеки это ее доказательство полноты и непротиворечивости

А я обращаю внимание, что спека не обязана быть полна, и её полнота может быть нежелательной в некоторых отдельных вопросах

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #153 Ответы: #157

155. Сообщение от Аноним (22), 18-Июл-26, 17:51   +/
> Если вы хотите математическую аналогию, то представьте себе f(x)=1/x. У такой функции действительно есть область определения. Тем не менее, `f(0)` не существует

Тут надо понимать по какой причине `f(0)` не существует.

> С прикладной точки зрения это значит, что мы должны решить, что именно нам делать, когда пользователь пытается вычислить f(0)

Если мы определяем f(x) при x =/= 0, то это вполне определенное поведение функции и в область определения тот самый случай с UB недопустим. И имплементация должна следовать этой инструкции, чтобы была корректной. Но можно и просто определить f(x) и добавить ОПРЕДЕЛЕНИЕ при x = 0 не то, что результат не гарантирован и не определен, а то, что сама функция хр3н пойми как себя должна теоретически вести (пример с нелегальной инструкцией). Гарантия результата, о которой вы говорите, это фактически вторичное, первичное тут - поведение самой функции (алгоритма, системы и т.д.)

> Т.е. ub и не возникает в области определения функции, ub — это про гарантии (а точнее их отсутствие) на поведение ВНЕ этой области

UB в области определения это ОПРЕДЕЛЕННОЕ UB? А UB самой функции, это то самое о чем я выше говорил, не гарантия результата, а корректность алгоритма. Корректный алгоритм гарантирует результат (при условии доказательства)!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152 Ответы: #156

156. Сообщение от oficsu (ok), 18-Июл-26, 18:07   +/
> Но можно и просто определить f(x) и добавить ОПРЕДЕЛЕНИЕ при x = 0

Можно. Но так уж получилось, что на практике это не всегда удобно автору спеки

> И имплементация должна следовать этой инструкции, чтобы была корректной

Имплементация функции? Или имплементация программы, вызывающей функцию?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #155 Ответы: #158

157. Сообщение от Аноним (22), 18-Июл-26, 18:08   +/
> Поведение, которое не определено в спеке, может быть корректным и ожидаемым.

Любое поведение которое не определено в спеке считается НЕОПРЕДЕЛЕННЫМ поведением! Если система допускает такое, то она некорректна по части доказательства полноты.

> Вы смешали в кучу понятия определённости поведения, корректности программы и корректности/непротиворечивости/полноты спеки. Но это разные вещи

Нет, если вы НЕ определяете в спеке, то какое бы это не было поведение (гарантированное или нет, однозначное или случайное и т.д.) оно считается UB и система (программа) в таком случае считается некорректной! Потому-что в доказательстве полноты вы должны были определить это неучтенное поведение (состояние).

> А я обращаю внимание, что спека не обязана быть полна, и её полнота может быть нежелательной в некоторых отдельных вопросах

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154

158. Сообщение от Аноним (22), 18-Июл-26, 18:20   +/
> Имплементация функции? Или имплементация программы, вызывающей функцию?

Конечно самой функции, спека ведь к ней относится. Если функция f(x) вызванная внутри другой g(x), то UB в функции f(x) неизбежно порождает UB в самой g(x) и g(x) будет считаться некорректной, если в ее спеке эта ситуация НЕ определена даже как ОПРЕДЕЛЕННОЕ UB.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #156

159. Сообщение от Аноним (159), 18-Июл-26, 18:48   –2 +/
Так было, к примеру, вчера, а сегодня уже одинаково и дополнительно на fasm, а завтра уже лучше и на всех популярных асмах. А ещё через несколько дней он генерит код на любом языке, чтобы кожаный мешок мог понять что выполнялось в машинном. Всё равно проверить смогут только ассемблерщики, хоть и долго.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #148 Ответы: #160, #163

160. Сообщение от Аноним (22), 18-Июл-26, 18:56   +1 +/
> Со временем человек деградирует, а ИИ развивается. Только ресурсы подавай.

деградация человека приведет к деградации ЫЫ, ибо ЫЫ достигнет потолка человеческого, а не теоретического. Учиться то на чьем коде она будет?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

161. Сообщение от vadiml (ok), 18-Июл-26, 20:04   +/
Всё работает, у меня Calc linux (клон генты), иксы, дистровый firefox 152.0.2 и firefix-bin 152.0.5, два варианты так как стоят конфиликтующие расширения, а переключать их не хотется, проще поставить 2 варианта и запускать оба одновременно
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #162

162. Сообщение от Аноним (2), 18-Июл-26, 20:50    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #161

163. Сообщение от Аноним (163), 18-Июл-26, 20:57   +1 +/
Как ИИ будет развиваться в области ассемблера, если на нём пишет небольшая горстка людей? Либо никак, либо по декомпиляции существующих программ, которые собирали компиляторы.
То есть ИИ может лишь стремиться к имитации компиляторов, которая в лучшем случае будет немного хуже самого компилятора.
Человек, который не просто знаком с ассемблером, но и часто на нём пишет, способен написать код, который будет эффективнее компилятора.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #159

164. Сообщение от skkriptkidds (?), 18-Июл-26, 21:13   +/
Какая каша в голове.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128

165. Сообщение от Аноним (165), 18-Июл-26, 22:37   +/
и в 30 раз меньше, чем вейленд.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #108

166. Сообщение от Tron is Whistling (?), 18-Июл-26, 22:42   +/
В сказке про золотую рыбку, да, тоже токены кончились...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

167. Сообщение от Tron is Whistling (?), 18-Июл-26, 22:43   +/
Как будто сейчас таковая есть.
Ну, в чём-то сложнее патча на пару сотен строк.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру