Сообщение Re[44]: Зачем нужен ЯОС? от 17.06.2021 18:57
Изменено 17.06.2021 19:12 budden
Re[44]: Зачем нужен ЯОС?
Здравствуйте, Sinclair, Вы писали:
S>Додумывать можно по-разному. Имхо, странно рассчитывать на то, что додумают именно то, чего вы ожидаете или лучше.
Странно или не странно, нашлись люди, которые меня поняли. Мне не надо, чтобы меня поняли все.
B>>Я писал этот документ для каких-то (неведомых) достаточно высоких людей и тот, кто к ним ходил, сказал, что эти высокие люди всё поняли.
S>Ну круто — вы рассчитываете на каких-то людей, с которыми сами не общались, и даже не знаете, реально ли они поняли всё как надо, или поняли ещё меньше, чем я.
Были и другие люди, про которых более понятно, кто это. Для неизвестных написана именно последняя версия. Другие версии были более объёмными.
B>>Но для обсуждения предложили два пункта, где ЯОС отстаёт от A2. Хотя там есть и другие, гораздо более значимые. Я же из этого делаю выводы о Вашем отношении, а из чего ещё мне их делать? Пока мне кажется, что идёт заход на двухходовку с вашей стороны, чтобы ударить побольнее.
S>Ок, давайте ударим не больно.
S>Вот список основных отличий от A2 из вашего репозитория:
S>
S> переход к определению в среде разработки
S> существенно расширена поддержка кириллицы
S> поддерживаются и внедрены в исходный текст ключевые слова на русском языке
S> (небольшая) часть имён в исходных текстах переведена на русский, при этом динамически вызываемые команды могут вызываться по новым именам на русском и по старым именам на английском
S> описана сборка и запуск под QEMU, Ubuntu 18.04, Windows, а также сборка A2 под Xilinx Zybo Z7-10
S> пошаговый отладчик (Win32, работает изредка)
S> не поддерживаются шаблоны модулей (хотя в A2 они тоже работают лишь частично)
S> не поддерживается оператор () и ?:.
S> S>Пункты 7 и 8 вам не понравились, ок, их не трогаем.
Мне не понравились не они, а то, что выбраны только они.
Пункты 2, 3, 4 — это та самая "работа с буковками", которой в этом топике уделили слишком много внимания, в ушерб остальным пунктам.
S>Что у нас остаётся?
S>А. Сборка и запуск под 4 платформы. Ну, ок — а что, оригинальная A2 не работает ни под виндой, ни под убунтой? Судя по википедии, она и так работала поверх QEMU, линукса и винды. В чём конкретно преимущество ЯОС над А2?
Описана сборка. А2, очевидно, не была описана, раз это выделено в отдельный пункт "отличия". Нужно было спросить у тех, кто знает, или дооооолго медитировать. Является ли наличие документации в системе X преимуществом перед такой же системой Y, которую неизвестно как собрать?
S>Б. Пошаговый отладчик. Ну, это как бы неплохо. Опять — а в родной А2 что, пошагового отладчика для Оберона нету?
Думаете, я наврал в пунктах "отличия"? ИЛи как ещё можно интерпретировать то, что там написано. Раз написано, что это отличие, значит это отличие. Какой из этого следует вывод?
S>В. Переход к определению в среде разработки. Да, полезное изменение.
S>Итого у нас наскреблось два пункта потенциального превосходства ЯОС над A2. Каким образом они влияют на инженерный суверенитет России? Помогут ли они отыскать закладки в софте, который потенциально будет написан под ЯОС?
Конечно, помогут. Без перехода к определению производительность труда любого человека, изучающего систему, резко снижается. Отладчик — тоже полезный инструмент, другое дело, что он кривоват на данный момент и им не всё можно отлаживать (т.к. получается, что система отлаживает в какой-то степени сама себя). Есть и другие инструменты поиска закладок, но мы говорим об отличиях A2 от ЯОС. На данный момент они влияют на инженерный суверенитет России никак, поскольку проект находится на той стадии, когда он нигде не внедрён. Если загнётся проект — то никак и не повлияют. Поэтому говорить надо не о текущем влиянии, а о потенциальном. Если конечно, цель — не загнобить.
S>Будет ли ЯОС более надёжно защищена от закладок по сравнению с оригинальной A2?
Да, если её будут исследовать с помощью доступных инструментов. Если мы говорим, допустим, о статическом анализаторе, которого для ЯОС на данный момент нет, то статический анализатор выдаёт кучу потенциальных проблем, а потом всё равно эксперт сидит и смотрит в код. Так вот, без нормальной IDE с переходом к определению ему будет гораздо труднее смотреть на код. Только давайте не будем спорить, потому что я на работе как раз занимаюсь разработкой стат. анализаторов. И вообще, моя работа непосредственно связана с анализом программ на безопасность, просто пока в этой теме не появилось собеседника, с которым было бы что обсуждать, а некоторые вещи — это ДСП и их обсуждать нельзя.
Ещё если мы говорим о трудоёмкости, то Вы не можете мне, любителю-одиночке, предъявлять за то, что мой список недостаточен для обеспечения безопасности России или что-то в этом роде. Что, допустим, я не написал стат. анализатор или инструмент для формальной верификации. Я только двигаюсь по направлению к безопасности, но в нынешнем режиме эта цель абсолютно недостижима, т.к. даже при наличии стат.анализатора или инструмента формальной верификации само их применение является трудоёмким, да и ничего на самом деле не гарантирует. Главное, что я сделал — это выбрал Оберон и конкретно A2, которые изначально находится к безопасности гораздо ближе, чем Си или Линукс. Там есть, к примеру, очень тупая защита от переполнения в виде отсутствия почти везде понятия указатель, а вместо него — массив, а в массиве почти всегда проверяется длина. Поэтому в отличие от Си, где при каждом использовании адресной арифметики нужно доказывать, что нет переполнения буфера, и доказать это зачастую либо сложно, либо невозможно, в Обероне почти везде есть гарантия, что при попытке переполнения программа упадёт. Места, где это не так, помечены особо и их можно найти статически. Так вот, я сначала сделал достаточно хороший выбор (готов признать, что ошибся, когда мне предъявят более хорошую систему с этой точки зрения со схожим функционалом). Сделать переход к определению (он был кривой и потом ещё и сгнил) и отладчик (он был у автора, я долго его искал, автор нашёлся, поделился кодом, я потом ещё его чинил и допиливал) — это для любителя большой труд, на который ушло примерно половина всего труда, вложенного в ЯОС по сей день. Предъявлять малость списка можно было бы, если бы я уже освоил дцать лярдов гос. денег. А с моими ресурсами мне нужно тщательно выбирать задачи из бесконечного количества возможных, так, чтобы двигаться к безопасной системе по градиенту. Формальная верификация мне недоступна по трудоёмкости, и доказательство только одного отсутствия переполнения буфера всё ещё астрономически далеко от доказательства безопасности. Как минимум, в мою задачу входит сделать код более понятным. И как ни неожиданно, перевод этому помогает, поскольку очень часто вещи в A2 названы плохо, нелогично или какими-то условными названиями, непонятными тем, кто вне контекста. ПРи этом ясно, что я сам не смогу понять 1 млн строк, поэтому я делаю хотя бы инструменты, с помощью которых можно понимать код быстрее. Переход к определению и отладчик — это два отличных инструмента для такой задачи. Без понимания каждой строчки кода человеческим умом (и не одним, а независимо многими, как учат математику, проходя доказательства от аксиом), никакие другие инструменты не приведут к безопасной системе.
Также за счёт сборки мусора сразу решается проблема висячих указателей. Опять же, защиту от них можно отключить, но такие места помечены и их можно найти статически. В Си и даже в Аде проблема висячих указателей не решена.
S>Любая инженерная дискуссия в первую очередь крутится вокруг слабых мест. Сильные места нет смысла обсуждать — с ними и так всё в порядке. Например, никто пока не критиковал выбор управляемой ОС в качестве платформы.
Не хочу приводить Вашу фразу, но она была построена так, что у не заглянувшего в список могла бы создаться иллюзия, что других отличий нет. А теперь Вы под моим давлением всё же внесли эти отличия в область обсуждения.
S>Откуда вы знаете места проживания пользователей, и их мотивацию? Я вас уверяю — людям из соседних стран слюнями наплевать на то, каким алфавитом записывают свои программы российские фрики. А тем, кто к России негативно настроен, как раз выгодна изоляция нашего IT — она отвлечёт наши ресурсы от действительно важных вещей.
Спасибо на добром слове, и до свидания.
S>Додумывать можно по-разному. Имхо, странно рассчитывать на то, что додумают именно то, чего вы ожидаете или лучше.
Странно или не странно, нашлись люди, которые меня поняли. Мне не надо, чтобы меня поняли все.
B>>Я писал этот документ для каких-то (неведомых) достаточно высоких людей и тот, кто к ним ходил, сказал, что эти высокие люди всё поняли.
S>Ну круто — вы рассчитываете на каких-то людей, с которыми сами не общались, и даже не знаете, реально ли они поняли всё как надо, или поняли ещё меньше, чем я.
Были и другие люди, про которых более понятно, кто это. Для неизвестных написана именно последняя версия. Другие версии были более объёмными.
B>>Но для обсуждения предложили два пункта, где ЯОС отстаёт от A2. Хотя там есть и другие, гораздо более значимые. Я же из этого делаю выводы о Вашем отношении, а из чего ещё мне их делать? Пока мне кажется, что идёт заход на двухходовку с вашей стороны, чтобы ударить побольнее.
S>Ок, давайте ударим не больно.
S>Вот список основных отличий от A2 из вашего репозитория:
S>
S> переход к определению в среде разработки
S> существенно расширена поддержка кириллицы
S> поддерживаются и внедрены в исходный текст ключевые слова на русском языке
S> (небольшая) часть имён в исходных текстах переведена на русский, при этом динамически вызываемые команды могут вызываться по новым именам на русском и по старым именам на английском
S> описана сборка и запуск под QEMU, Ubuntu 18.04, Windows, а также сборка A2 под Xilinx Zybo Z7-10
S> пошаговый отладчик (Win32, работает изредка)
S> не поддерживаются шаблоны модулей (хотя в A2 они тоже работают лишь частично)
S> не поддерживается оператор () и ?:.
S> S>Пункты 7 и 8 вам не понравились, ок, их не трогаем.
Мне не понравились не они, а то, что выбраны только они.
Пункты 2, 3, 4 — это та самая "работа с буковками", которой в этом топике уделили слишком много внимания, в ушерб остальным пунктам.
S>Что у нас остаётся?
S>А. Сборка и запуск под 4 платформы. Ну, ок — а что, оригинальная A2 не работает ни под виндой, ни под убунтой? Судя по википедии, она и так работала поверх QEMU, линукса и винды. В чём конкретно преимущество ЯОС над А2?
Описана сборка. А2, очевидно, не была описана, раз это выделено в отдельный пункт "отличия". Нужно было спросить у тех, кто знает, или дооооолго медитировать. Является ли наличие документации в системе X преимуществом перед такой же системой Y, которую неизвестно как собрать?
S>Б. Пошаговый отладчик. Ну, это как бы неплохо. Опять — а в родной А2 что, пошагового отладчика для Оберона нету?
Думаете, я наврал в пунктах "отличия"? ИЛи как ещё можно интерпретировать то, что там написано. Раз написано, что это отличие, значит это отличие. Какой из этого следует вывод?
S>В. Переход к определению в среде разработки. Да, полезное изменение.
S>Итого у нас наскреблось два пункта потенциального превосходства ЯОС над A2. Каким образом они влияют на инженерный суверенитет России? Помогут ли они отыскать закладки в софте, который потенциально будет написан под ЯОС?
Конечно, помогут. Без перехода к определению производительность труда любого человека, изучающего систему, резко снижается. Отладчик — тоже полезный инструмент, другое дело, что он кривоват на данный момент и им не всё можно отлаживать (т.к. получается, что система отлаживает в какой-то степени сама себя). Есть и другие инструменты поиска закладок, но мы говорим об отличиях A2 от ЯОС. На данный момент они влияют на инженерный суверенитет России никак, поскольку проект находится на той стадии, когда он нигде не внедрён. Если загнётся проект — то никак и не повлияют. Поэтому говорить надо не о текущем влиянии, а о потенциальном. Если конечно, цель — не загнобить.
S>Будет ли ЯОС более надёжно защищена от закладок по сравнению с оригинальной A2?
Да, если её будут исследовать с помощью доступных инструментов. Если мы говорим, допустим, о статическом анализаторе, которого для ЯОС на данный момент нет, то статический анализатор выдаёт кучу потенциальных проблем, а потом всё равно эксперт сидит и смотрит в код. Так вот, без нормальной IDE с переходом к определению ему будет гораздо труднее смотреть на код. Только давайте не будем спорить, потому что я на работе как раз занимаюсь разработкой стат. анализаторов. И вообще, моя работа непосредственно связана с анализом программ на безопасность, просто пока в этой теме не появилось собеседника, с которым было бы что обсуждать, а некоторые вещи — это ДСП и их обсуждать нельзя.
Ещё если мы говорим о трудоёмкости, то Вы не можете мне, любителю-одиночке, предъявлять за то, что мой список недостаточен для обеспечения безопасности России или что-то в этом роде. Что, допустим, я не написал стат. анализатор или инструмент для формальной верификации. Я только двигаюсь по направлению к безопасности, но в нынешнем режиме эта цель абсолютно недостижима, т.к. даже при наличии стат.анализатора или инструмента формальной верификации само их применение является трудоёмким, да и ничего на самом деле не гарантирует. Главное, что я сделал — это выбрал Оберон и конкретно A2, которые изначально находится к безопасности гораздо ближе, чем Си или Линукс. Там есть, к примеру, очень тупая защита от переполнения в виде отсутствия почти везде понятия указатель, а вместо него — массив, а в массиве почти всегда проверяется длина. Поэтому в отличие от Си, где при каждом использовании адресной арифметики нужно доказывать, что нет переполнения буфера, и доказать это зачастую либо сложно, либо невозможно, в Обероне почти везде есть гарантия, что при попытке переполнения программа упадёт. Места, где это не так, помечены особо и их можно найти статически. Так вот, я сначала сделал достаточно хороший выбор (готов признать, что ошибся, когда мне предъявят более хорошую систему с этой точки зрения со схожим функционалом). Сделать переход к определению (он был кривой и потом ещё и сгнил) и отладчик (он был у автора, я долго его искал, автор нашёлся, поделился кодом, я потом ещё его чинил и допиливал) — это для любителя большой труд, на который ушло примерно половина всего труда, вложенного в ЯОС по сей день. Предъявлять малость списка можно было бы, если бы я уже освоил дцать лярдов гос. денег. А с моими ресурсами мне нужно тщательно выбирать задачи из бесконечного количества возможных, так, чтобы двигаться к безопасной системе по градиенту. Формальная верификация мне недоступна по трудоёмкости, и доказательство только одного отсутствия переполнения буфера всё ещё астрономически далеко от доказательства безопасности. Как минимум, в мою задачу входит сделать код более понятным. И как ни неожиданно, перевод этому помогает, поскольку очень часто вещи в A2 названы плохо, нелогично или какими-то условными названиями, непонятными тем, кто вне контекста. ПРи этом ясно, что я сам не смогу понять 1 млн строк, поэтому я делаю хотя бы инструменты, с помощью которых можно понимать код быстрее. Переход к определению и отладчик — это два отличных инструмента для такой задачи. Без понимания каждой строчки кода человеческим умом (и не одним, а независимо многими, как учат математику, проходя доказательства от аксиом), никакие другие инструменты не приведут к безопасной системе.
Также за счёт сборки мусора сразу решается проблема висячих указателей. Опять же, защиту от них можно отключить, но такие места помечены и их можно найти статически. В Си и даже в Аде проблема висячих указателей не решена.
S>Любая инженерная дискуссия в первую очередь крутится вокруг слабых мест. Сильные места нет смысла обсуждать — с ними и так всё в порядке. Например, никто пока не критиковал выбор управляемой ОС в качестве платформы.
Не хочу приводить Вашу фразу, но она была построена так, что у не заглянувшего в список могла бы создаться иллюзия, что других отличий нет. А теперь Вы под моим давлением всё же внесли эти отличия в область обсуждения.
S>Откуда вы знаете места проживания пользователей, и их мотивацию? Я вас уверяю — людям из соседних стран слюнями наплевать на то, каким алфавитом записывают свои программы российские фрики. А тем, кто к России негативно настроен, как раз выгодна изоляция нашего IT — она отвлечёт наши ресурсы от действительно важных вещей.
Спасибо на добром слове, и до свидания.
Re[44]: Зачем нужен ЯОС?
Здравствуйте, Sinclair, Вы писали:
S>Додумывать можно по-разному. Имхо, странно рассчитывать на то, что додумают именно то, чего вы ожидаете или лучше.
Странно или не странно, нашлись люди, которые меня поняли. Мне не надо, чтобы меня поняли все.
B>>Я писал этот документ для каких-то (неведомых) достаточно высоких людей и тот, кто к ним ходил, сказал, что эти высокие люди всё поняли.
S>Ну круто — вы рассчитываете на каких-то людей, с которыми сами не общались, и даже не знаете, реально ли они поняли всё как надо, или поняли ещё меньше, чем я.
Были и другие люди, про которых более понятно, кто это. Для неизвестных написана именно последняя версия. Другие версии были более объёмными.
B>>Но для обсуждения предложили два пункта, где ЯОС отстаёт от A2. Хотя там есть и другие, гораздо более значимые. Я же из этого делаю выводы о Вашем отношении, а из чего ещё мне их делать? Пока мне кажется, что идёт заход на двухходовку с вашей стороны, чтобы ударить побольнее.
S>Ок, давайте ударим не больно.
S>Вот список основных отличий от A2 из вашего репозитория:
S>
S> переход к определению в среде разработки
S> существенно расширена поддержка кириллицы
S> поддерживаются и внедрены в исходный текст ключевые слова на русском языке
S> (небольшая) часть имён в исходных текстах переведена на русский, при этом динамически вызываемые команды могут вызываться по новым именам на русском и по старым именам на английском
S> описана сборка и запуск под QEMU, Ubuntu 18.04, Windows, а также сборка A2 под Xilinx Zybo Z7-10
S> пошаговый отладчик (Win32, работает изредка)
S> не поддерживаются шаблоны модулей (хотя в A2 они тоже работают лишь частично)
S> не поддерживается оператор () и ?:.
S> S>Пункты 7 и 8 вам не понравились, ок, их не трогаем.
Мне не понравились не они, а то, что выбраны только они.
Пункты 2, 3, 4 — это та самая "работа с буковками", которой в этом топике уделили слишком много внимания, в ушерб остальным пунктам.
S>Что у нас остаётся?
S>А. Сборка и запуск под 4 платформы. Ну, ок — а что, оригинальная A2 не работает ни под виндой, ни под убунтой? Судя по википедии, она и так работала поверх QEMU, линукса и винды. В чём конкретно преимущество ЯОС над А2?
Описана сборка. А2, очевидно, не была описана, раз это выделено в отдельный пункт "отличия". Нужно было спросить у тех, кто знает, или дооооолго медитировать. Является ли наличие документации в системе X преимуществом перед такой же системой Y, которую неизвестно как собрать?
S>Б. Пошаговый отладчик. Ну, это как бы неплохо. Опять — а в родной А2 что, пошагового отладчика для Оберона нету?
Думаете, я наврал в пунктах "отличия"? ИЛи как ещё можно интерпретировать то, что там написано. Раз написано, что это отличие, значит это отличие. Какой из этого следует вывод?
S>В. Переход к определению в среде разработки. Да, полезное изменение.
S>Итого у нас наскреблось два пункта потенциального превосходства ЯОС над A2. Каким образом они влияют на инженерный суверенитет России? Помогут ли они отыскать закладки в софте, который потенциально будет написан под ЯОС?
Конечно, помогут. Без перехода к определению производительность труда любого человека, изучающего систему, резко снижается. Отладчик — тоже полезный инструмент, другое дело, что он кривоват на данный момент и им не всё можно отлаживать (т.к. получается, что система отлаживает в какой-то степени сама себя). Есть и другие инструменты поиска закладок, но мы говорим об отличиях A2 от ЯОС. На данный момент они влияют на инженерный суверенитет России никак, поскольку проект находится на той стадии, когда он нигде не внедрён. Если загнётся проект — то никак и не повлияют. Поэтому говорить надо не о текущем влиянии, а о потенциальном. Если конечно, цель — не загнобить.
S>Будет ли ЯОС более надёжно защищена от закладок по сравнению с оригинальной A2?
Да, если её будут исследовать с помощью доступных инструментов. Если мы говорим, допустим, о статическом анализаторе, которого для ЯОС на данный момент нет, то статический анализатор выдаёт кучу потенциальных проблем, а потом всё равно эксперт сидит и смотрит в код. Так вот, без нормальной IDE с переходом к определению ему будет гораздо труднее смотреть на код. Только давайте не будем спорить, потому что я на работе как раз занимаюсь разработкой стат. анализаторов. И вообще, моя работа непосредственно связана с анализом программ на безопасность, просто пока в этой теме не появилось собеседника, с которым было бы что обсуждать, а некоторые вещи — это ДСП и их обсуждать нельзя.
Ещё если мы говорим о трудоёмкости, то Вы не можете мне, любителю-одиночке, предъявлять за то, что мой список недостаточен для обеспечения безопасности России или что-то в этом роде. Что, допустим, я не написал стат. анализатор или инструмент для формальной верификации. Я только двигаюсь по направлению к безопасности, но в нынешнем режиме эта цель абсолютно недостижима, т.к. даже при наличии стат.анализатора или инструмента формальной верификации само их применение является трудоёмким, да и ничего на самом деле не гарантирует. Главное, что я сделал — это выбрал Оберон и конкретно A2, которые изначально находится к безопасности гораздо ближе, чем Си или Линукс. Там есть, к примеру, очень тупая защита от переполнения в виде отсутствия почти везде адресной арифметики, вместо неё — массив, а в массиве почти всегда проверяется длина. Поэтому в отличие от Си, где при каждом использовании адресной арифметики нужно доказывать, что нет переполнения буфера, и доказать это зачастую либо сложно, либо невозможно, в Обероне почти везде есть гарантия, что при попытке переполнения программа упадёт. Места, где это не так, помечены особо и их можно найти статически. Так вот, я сначала сделал достаточно хороший выбор (готов признать, что ошибся, когда мне предъявят более хорошую систему с этой точки зрения со схожим функционалом). Сделать переход к определению (он был кривой и потом ещё и сгнил) и отладчик (он был у автора, я долго его искал, автор нашёлся, поделился кодом, я потом ещё его чинил и допиливал) — это для любителя большой труд, на который ушло примерно половина всего труда, вложенного в ЯОС по сей день. Предъявлять малость списка можно было бы, если бы я уже освоил дцать лярдов гос. денег. А с моими ресурсами мне нужно тщательно выбирать задачи из бесконечного количества возможных, так, чтобы двигаться к безопасной системе по градиенту. Формальная верификация мне недоступна по трудоёмкости, и доказательство только одного отсутствия переполнения буфера всё ещё астрономически далеко от доказательства безопасности. Как минимум, в мою задачу входит сделать код более понятным. И как ни неожиданно, перевод этому помогает, поскольку очень часто вещи в A2 названы плохо, нелогично или какими-то условными названиями, непонятными тем, кто вне контекста. ПРи этом ясно, что я сам не смогу понять 1 млн строк, поэтому я делаю хотя бы инструменты, с помощью которых можно понимать код быстрее. Переход к определению и отладчик — это два отличных инструмента для такой задачи. Без понимания каждой строчки кода человеческим умом (и не одним, а независимо многими, как учат математику, проходя доказательства от аксиом), никакие другие инструменты не приведут к безопасной системе.
Также за счёт сборки мусора сразу решается проблема висячих указателей. Опять же, защиту от них можно отключить, но такие места помечены и их можно найти статически. В Си и даже в Аде проблема висячих указателей не решена.
S>Любая инженерная дискуссия в первую очередь крутится вокруг слабых мест. Сильные места нет смысла обсуждать — с ними и так всё в порядке. Например, никто пока не критиковал выбор управляемой ОС в качестве платформы.
Не хочу приводить Вашу фразу, но она была построена так, что у не заглянувшего в список могла бы создаться иллюзия, что других отличий нет. А теперь Вы под моим давлением всё же внесли эти отличия в область обсуждения.
S>Откуда вы знаете места проживания пользователей, и их мотивацию? Я вас уверяю — людям из соседних стран слюнями наплевать на то, каким алфавитом записывают свои программы российские фрики. А тем, кто к России негативно настроен, как раз выгодна изоляция нашего IT — она отвлечёт наши ресурсы от действительно важных вещей.
Спасибо на добром слове, и до свидания.
S>Додумывать можно по-разному. Имхо, странно рассчитывать на то, что додумают именно то, чего вы ожидаете или лучше.
Странно или не странно, нашлись люди, которые меня поняли. Мне не надо, чтобы меня поняли все.
B>>Я писал этот документ для каких-то (неведомых) достаточно высоких людей и тот, кто к ним ходил, сказал, что эти высокие люди всё поняли.
S>Ну круто — вы рассчитываете на каких-то людей, с которыми сами не общались, и даже не знаете, реально ли они поняли всё как надо, или поняли ещё меньше, чем я.
Были и другие люди, про которых более понятно, кто это. Для неизвестных написана именно последняя версия. Другие версии были более объёмными.
B>>Но для обсуждения предложили два пункта, где ЯОС отстаёт от A2. Хотя там есть и другие, гораздо более значимые. Я же из этого делаю выводы о Вашем отношении, а из чего ещё мне их делать? Пока мне кажется, что идёт заход на двухходовку с вашей стороны, чтобы ударить побольнее.
S>Ок, давайте ударим не больно.
S>Вот список основных отличий от A2 из вашего репозитория:
S>
S> переход к определению в среде разработки
S> существенно расширена поддержка кириллицы
S> поддерживаются и внедрены в исходный текст ключевые слова на русском языке
S> (небольшая) часть имён в исходных текстах переведена на русский, при этом динамически вызываемые команды могут вызываться по новым именам на русском и по старым именам на английском
S> описана сборка и запуск под QEMU, Ubuntu 18.04, Windows, а также сборка A2 под Xilinx Zybo Z7-10
S> пошаговый отладчик (Win32, работает изредка)
S> не поддерживаются шаблоны модулей (хотя в A2 они тоже работают лишь частично)
S> не поддерживается оператор () и ?:.
S> S>Пункты 7 и 8 вам не понравились, ок, их не трогаем.
Мне не понравились не они, а то, что выбраны только они.
Пункты 2, 3, 4 — это та самая "работа с буковками", которой в этом топике уделили слишком много внимания, в ушерб остальным пунктам.
S>Что у нас остаётся?
S>А. Сборка и запуск под 4 платформы. Ну, ок — а что, оригинальная A2 не работает ни под виндой, ни под убунтой? Судя по википедии, она и так работала поверх QEMU, линукса и винды. В чём конкретно преимущество ЯОС над А2?
Описана сборка. А2, очевидно, не была описана, раз это выделено в отдельный пункт "отличия". Нужно было спросить у тех, кто знает, или дооооолго медитировать. Является ли наличие документации в системе X преимуществом перед такой же системой Y, которую неизвестно как собрать?
S>Б. Пошаговый отладчик. Ну, это как бы неплохо. Опять — а в родной А2 что, пошагового отладчика для Оберона нету?
Думаете, я наврал в пунктах "отличия"? ИЛи как ещё можно интерпретировать то, что там написано. Раз написано, что это отличие, значит это отличие. Какой из этого следует вывод?
S>В. Переход к определению в среде разработки. Да, полезное изменение.
S>Итого у нас наскреблось два пункта потенциального превосходства ЯОС над A2. Каким образом они влияют на инженерный суверенитет России? Помогут ли они отыскать закладки в софте, который потенциально будет написан под ЯОС?
Конечно, помогут. Без перехода к определению производительность труда любого человека, изучающего систему, резко снижается. Отладчик — тоже полезный инструмент, другое дело, что он кривоват на данный момент и им не всё можно отлаживать (т.к. получается, что система отлаживает в какой-то степени сама себя). Есть и другие инструменты поиска закладок, но мы говорим об отличиях A2 от ЯОС. На данный момент они влияют на инженерный суверенитет России никак, поскольку проект находится на той стадии, когда он нигде не внедрён. Если загнётся проект — то никак и не повлияют. Поэтому говорить надо не о текущем влиянии, а о потенциальном. Если конечно, цель — не загнобить.
S>Будет ли ЯОС более надёжно защищена от закладок по сравнению с оригинальной A2?
Да, если её будут исследовать с помощью доступных инструментов. Если мы говорим, допустим, о статическом анализаторе, которого для ЯОС на данный момент нет, то статический анализатор выдаёт кучу потенциальных проблем, а потом всё равно эксперт сидит и смотрит в код. Так вот, без нормальной IDE с переходом к определению ему будет гораздо труднее смотреть на код. Только давайте не будем спорить, потому что я на работе как раз занимаюсь разработкой стат. анализаторов. И вообще, моя работа непосредственно связана с анализом программ на безопасность, просто пока в этой теме не появилось собеседника, с которым было бы что обсуждать, а некоторые вещи — это ДСП и их обсуждать нельзя.
Ещё если мы говорим о трудоёмкости, то Вы не можете мне, любителю-одиночке, предъявлять за то, что мой список недостаточен для обеспечения безопасности России или что-то в этом роде. Что, допустим, я не написал стат. анализатор или инструмент для формальной верификации. Я только двигаюсь по направлению к безопасности, но в нынешнем режиме эта цель абсолютно недостижима, т.к. даже при наличии стат.анализатора или инструмента формальной верификации само их применение является трудоёмким, да и ничего на самом деле не гарантирует. Главное, что я сделал — это выбрал Оберон и конкретно A2, которые изначально находится к безопасности гораздо ближе, чем Си или Линукс. Там есть, к примеру, очень тупая защита от переполнения в виде отсутствия почти везде адресной арифметики, вместо неё — массив, а в массиве почти всегда проверяется длина. Поэтому в отличие от Си, где при каждом использовании адресной арифметики нужно доказывать, что нет переполнения буфера, и доказать это зачастую либо сложно, либо невозможно, в Обероне почти везде есть гарантия, что при попытке переполнения программа упадёт. Места, где это не так, помечены особо и их можно найти статически. Так вот, я сначала сделал достаточно хороший выбор (готов признать, что ошибся, когда мне предъявят более хорошую систему с этой точки зрения со схожим функционалом). Сделать переход к определению (он был кривой и потом ещё и сгнил) и отладчик (он был у автора, я долго его искал, автор нашёлся, поделился кодом, я потом ещё его чинил и допиливал) — это для любителя большой труд, на который ушло примерно половина всего труда, вложенного в ЯОС по сей день. Предъявлять малость списка можно было бы, если бы я уже освоил дцать лярдов гос. денег. А с моими ресурсами мне нужно тщательно выбирать задачи из бесконечного количества возможных, так, чтобы двигаться к безопасной системе по градиенту. Формальная верификация мне недоступна по трудоёмкости, и доказательство только одного отсутствия переполнения буфера всё ещё астрономически далеко от доказательства безопасности. Как минимум, в мою задачу входит сделать код более понятным. И как ни неожиданно, перевод этому помогает, поскольку очень часто вещи в A2 названы плохо, нелогично или какими-то условными названиями, непонятными тем, кто вне контекста. ПРи этом ясно, что я сам не смогу понять 1 млн строк, поэтому я делаю хотя бы инструменты, с помощью которых можно понимать код быстрее. Переход к определению и отладчик — это два отличных инструмента для такой задачи. Без понимания каждой строчки кода человеческим умом (и не одним, а независимо многими, как учат математику, проходя доказательства от аксиом), никакие другие инструменты не приведут к безопасной системе.
Также за счёт сборки мусора сразу решается проблема висячих указателей. Опять же, защиту от них можно отключить, но такие места помечены и их можно найти статически. В Си и даже в Аде проблема висячих указателей не решена.
S>Любая инженерная дискуссия в первую очередь крутится вокруг слабых мест. Сильные места нет смысла обсуждать — с ними и так всё в порядке. Например, никто пока не критиковал выбор управляемой ОС в качестве платформы.
Не хочу приводить Вашу фразу, но она была построена так, что у не заглянувшего в список могла бы создаться иллюзия, что других отличий нет. А теперь Вы под моим давлением всё же внесли эти отличия в область обсуждения.
S>Откуда вы знаете места проживания пользователей, и их мотивацию? Я вас уверяю — людям из соседних стран слюнями наплевать на то, каким алфавитом записывают свои программы российские фрики. А тем, кто к России негативно настроен, как раз выгодна изоляция нашего IT — она отвлечёт наши ресурсы от действительно важных вещей.
Спасибо на добром слове, и до свидания.