Платформа разработчика для Лисоплана

Научно-технические вопросы применения русского языка в программировании. Проекты с сайта программирование-по-русски.рф, кроме ЯОС . Информация об организациях и людях, использующих или изучающих русский язык в программировании. Сравнение операционных систем.
Ответить
atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Платформа разработчика для Лисоплана

Сообщение atz » 11.06.19 23:09

Лис писал(а):агитируешь за разработку на технологиях Microsoft, FHS от опенсорса
Лис, на чём предлагаешь разрабатывать? Что понимается под "FHS от опенсорса", в чём суть?
Последний раз редактировалось atz 12.06.19 18:06, всего редактировалось 3 раза.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 01:15

FHS это просто один из стандартов - https://ru.wikipedia.org/wiki/FHS
БудДен, когда писал инсталлятор для ЯР, предусматривал только Windows-пользователей,
а в Linux устанавливал файлы куда попало, а не так, как это в Linux принято.

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

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 09:01

(за ссылку на FHS благодарю, всегда было интересно, почему в linux такая иерархия ФС, оказывается это стандарт)

Расписать бы по шагам (по подробнее) что предлагается, и самому было бы проще сделать.
Для машкода нужно, даже если у тебя нет компьютера, то хотябы карандаш и бумага.
Последний раз редактировалось atz 12.06.19 15:46, всего редактировалось 1 раз.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 09:19

> Расписать бы по шагам (по подробнее) что предлагается

Я делаю это каждые полгода.
Вот примеры:
http://plana.mybb.ru/viewtopic.php?id=740#p2973
http://plana.mybb.ru/viewtopic.php?id=919#p4259

По первой ссылке есть шаги:
1.1) написать парсер байткода на любом языке
1.2) написать парсер байткода на самом себе
1.3) используя парсер байткода реализовать ассемблер
1.4) используя ассемблер реализовать бейсикоподобный язык (т.е. управляющие конструкции и математические операторы)
1.5) используя бейсикоподобный язык реализовать C-подобный язык (т.е. работу со стеком)
1.6) используя C-подобный язык, добавить обработку исключений (т.е. ещё работу со стеком)
1.7) используя C-подобный язык, добавить поддержку многопоточности
1.8) реализовать язык со сборкой мусора
1.9) реализовать вывод типов (type inference)
...

Процессор - Intel, системные вызовы из ABI_X64 от Linux - это в качестве карандаша и бумаги (Слава БудДену и его "импортным станкам").
Когда будет тулчейн, можно будет написать другое ядро. Всё это уже обсуждалось.

Хочется написать по-подробнее - пиши по-подробнее, кто же тебя остановит?

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 12:15

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

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 12:24

> неужели такой план - единственный на планете?

Наверное были в СССР, но не осталось никакой документации (вся документация которая осталась - на системы после 1976-го года, после предательского решения о заимствованиях).

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

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 13:16

Это плохой план. Во-первых, Linux - это гнилой фундамент, с него начинать не нужно. В качестве фундамента уже есть A2, которая подходит примерно в 1000 раз лучше линукса. Во-вторых, на основе Си нельзя написать конкурентоспособный язык со сборкой мусора. Для этого обязателен ассемблер. Си вообще не нужен ни для чего. В третьих, Интел всегда был отстоем, а в последнее время окончательно дискредитировал себя наличием множества уязвимостей. У нас уже подрос MIPS-овый Байкал, который не идеален, но уже гораздо лучше. Да и вообще, слой платформо-зависимости - это лишь слой, который можно заменить, в т.ч. и в A2.

Но даже плохой план может стать хорошим, если его исполнять. И тут я задаю свой обычный вопрос. Что ты, Лис, сделал для воплощения своего плана?

И не нужно на меня клеветать. Из технологий микрософта я сейчас использую только ИСР VS Code. Я работаю в гнилом линуксе на гнилом голанге с гнилым постгресом. Процессор у меня - да, гнилой Intel.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 13:33

> Linux - это гнилой фундамент

Это не ко мне, а к
1) министерству образования, которое выбрало именно эту платформу для преподавания в школах
2) министерству обороны (ясно почему?)

> Во-вторых, на основе Си нельзя написать конкурентоспособный язык со сборкой мусора.

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

> Си вообще не нужен ни для чего.

На это я уже отвечал ранее:
- 1) в Си по сравнению с бейсиком реализован механизм работы со стеком при передаче параметров функций
- 2) Си позволяет абстрагироваться от ассемблера конкретного процессора

> Интел всегда был отстоем

Про "импортные станки" мне тут кто вещал? Сам на интеле сидишь, так чего буйствуешь?

> Это плохой план.

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

> я задаю свой обычный вопрос. Что ты, Лис, сделал для воплощения своего плана?

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

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 15:37

БудДен писал(а):Linux - это гнилой фундамент, ...
Ну это уже много раз обсуждалось, кому надо было - убедились, кто не убедился, да и ладно, что с этим ещё можно сделать? Пусть делают так, как считают нужным, в конце концов что-то рабочее лучше чем переубеждённый но ничего не сделавший разработчик. Правильно думаю?
Лис писал(а):были в СССР ... аналогами являются английские и китайские
А в английских и китайских прожектах совсем смотреть нечего? Может хоть на что-то сгодятся?
Или они не заморачиваются построением всего с нуля? Это же выглядит как обычная задача для энтузиастов.
Лис писал(а):ABI_X64 от Linux
А рассматривался вариант сделать на базе КолибриОС? Там вроде ABI попроще должен быть.
Последний раз редактировалось atz 12.06.19 18:10, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 16:55

Лис [Вежливый] писал(а):
12.06.19 13:33
> Во-вторых, на основе Си нельзя написать конкурентоспособный язык со сборкой мусора.
Ассемблер в моём плане есть ниже в стеке абстракций и никуда он не пропадает, так что нападка связана только с твоим непониманием.
На содержание нападки ты не ответил, ограничившись декларацией, что у меня какое-то непонимание. Оставляю это на твоей совести :)
- 1) в Си по сравнению с бейсиком реализован механизм работы со стеком при передаче параметров функций
А зачем сравнивать с бейсиком?
- 2) Си позволяет абстрагироваться от ассемблера конкретного процессора
99%, что не позволяет, но если ты назовёшь хотя бы одну операционную систему или прошивку, написанную на Си, то я подумаю над этим ещё.

> Про "импортные станки" мне тут кто вещал? Сам на интеле сидишь, так чего буйствуешь?
Аллегория имеет свои довольно текучие рамки, на её основании мне сложно что-то предъявить :)
Как только продвинешь свою А2 в министерстве образования в каждую школу - приходи.
А что к тебе приходить, если у тебя лапки? В любом случае, твоё требование выглядит немотивированным.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 17:04

БудДен писал(а):хотя бы одну операционную систему или прошивку, написанную на Си
Линукс же, в чём подвох?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 17:11

Нет, Линукс не написан на Си.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 17:24

БудДен писал(а):плохой план, лапки
Только вот ещё непонятно, зачем хамить? Это же твой форум, тебя тут никто не забанит в профилактических целях =)
БудДен писал(а):Линукс не написан на Си
о_О

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 17:39

А как надо сказать, что план плохой? Нужно было добавить "по моему мнению"? Или что? Насчёт лапок Лис сказал сам, я просто ему напоминаю. Он сказал примерно так: "у Лиса нет рук, а только лапки, поэтому делать ничего не буду".

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 17:44

"Не нравится" можно сказать, например (хотя может это только у меня такая привычка, придираться к словам).

Так почему Линукс не на С?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 17:46

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

Почему линукс не на Си? Ну попробуй хотя бы пояндексить вопрос "на каком языке программирования написан Линукс", а дальше само пойдёт.
Последний раз редактировалось БудДен 12.06.19 17:48, всего редактировалось 2 раза.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 17:48

https://otvet.mail.ru/question/1581240
Что касается ядра - бОльшая часть - на С, некоторые низкоуровневые модули на АСМе. Все остальное пишется на том, на чем удобно, но все же в основном на С++ и С
Так в чём подвох?

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработки

Сообщение БудДен » 12.06.19 17:49

Подвох - в некоторых низкоуровневых модулях. Я же просил систему, которая написана на Си в качестве примера, а не ту, которая на 99,99% написана на Си.
Если эти модули можно исключить, то я готов посмотреть на версию Линукс, где ни строчки на ассемблере нет. Если их исключить нельзя, то значит, Си не является абстракцией, изолирующей от знания ассемблера.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 17:56

БудДен писал(а):Хотя, если Си-образный язык - это не Си, то я уже ничего не могу сказать про этот план, кроме того, что план недостаточно подробно описан.
Плюсую, java - тоже Си-подобный язык. И javascript :rofl:
БудДен писал(а):Подвох - в некоторых низкоуровневых модулях
Думаю имеет смысл договориться, что если система в основном написана на С, то и называть её написанной на С.

В чём была мораль? Что ничего не бывает написано без ассемблера? Что даёт такое понимание?

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 18:09

atz писал(а):
12.06.19 15:37
А рассматривался вариант сделать на базе KolibriOS? Там вроде ABI попроще должен быть.
Моя задача - обеспечить достаточное количество возможных участников проекта. Если я выбираю Linux, то возможные участники проекта - все школьники России. Когда продвинешь KolibriOS через министерство образования - приходи, чтобы я мог исправить мой план с учётом новой стратегии минобра.

Отвечая на вопрос прямо - нет разницы для плана между KolibriOS и Linux с точки зрения написания транслятора. Транслятор из ABI использует примерно десяток вызовов (или даже менее), и это количество вызовов будет примерно одинаково для KolibriOS и Linux.
Последний раз редактировалось Лис [Вежливый] 12.06.19 19:14, всего редактировалось 2 раза.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработки

Сообщение Лис [Вежливый] » 12.06.19 18:13

БудДен писал(а):
12.06.19 17:46
по моему мнению, которое подтверждается опытом изучения различных языков программирования и их реализаций, а также опытом планирования своей разработки языка программирования, в ходе такового планирования были рассмотрены различные стратегии, а также профессиональным опытом. В ходе чего были накоплены сведения, позволяющие считать этот план плохим.
Это называется "давить авторитетом" и "меряться длинами частей тела". Такой подход в моём случае тебе не поможет, так как хвост
Изображение
длиной 30-56 сантиметров есть не у каждого.
Последний раз редактировалось Лис [Вежливый] 10.12.19 01:46, всего редактировалось 1 раз.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработки

Сообщение atz » 12.06.19 18:17

Меня всё равно пугает вот это: "ABI_X64 от Linux", но если кто-то разберётся, как оно устроено, будет интересно почитать. На ПланА вроде была соответствующая тема, или показалось?

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработчика для Лисоплана

Сообщение Лис [Вежливый] » 12.06.19 18:21

ABI x64 - это такой документ на английском языке,
"AMD64 ABI Draft 1.0 – January 28, 2018"
https://github.com/hjl-tools/x86-psABI/ ... BI-1.0.pdf

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

Есть такая тема на План-А - http://plana.mybb.ru/viewtopic.php?id=902

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработчика для Лисоплана

Сообщение БудДен » 12.06.19 19:30

А можно объяснить, почему A2 выведена из рассмотрения как вариант для выбора? Я могу сказать, почему KolibriOS неперспективна как ОС - потому что она написана на ассемблере. Практически невозможно проверить безопасность программы, написанной даже на хорошем языке типа Ады. А в случае ассемблера это абсолютно невозможно. Единственная причина, по которой России нужно иметь всё своё - это безопасность. Нам нужна такая система, которая написана людьми, для которых Россия является ценностью, и которые стремятся сделать так, чтобы эта система стояла на страже интересов России. Сделать такую систему из Linux не получится, потому что многие офицеры силовых структур США контролировали и контролируют процессы развития Linux. Мы находимся на минном поле и разминировать его заведомо сложнее и дороже, чем было его в своё время заминировать. Значит нам нужно заминировать другое поле, а на это не ходить. Но эти мысли уже давно должны быть ясны всем присутствующим.

A2 написана на языке, который по надёжности гораздо выше, чем Си, и она весьма проста для операционной системы. Она может работать как приложение в рамках Windows и Linux, на виртуальных машинах, на некоторых видах реального железа, а также портирована на архитектуру ARM. Это означает, что её легко портировать и на другие архитектуры, поскольку данная разработка была весьма малобюджетной на всём своём протяжении. KolibriOS, написанную на ассемблере, портировать как?

Ввиду малого масштаба А2 (40мб исходников вместе с приложениями, из которых большинство не нужны), и ввиду того, что она написана на Обероне, в академических кругах нейтральной страны, есть реальный шанс её разминировать.

Я могу увидеть только один мотив нерассмотрения А2 - это нежелание ни в чём следовать за мной, поскольку я, якобы, высокомерен, не умею работать с людьми, не настоящий программист и всё такое прочее. Если мотивы нерассмотрения А2 действительно таковы, то это высшая степень инфантильности, когда какие-то мелкие личные обиды, желание возглавлять процесс и NIH синдром стоят выше интересов страны.

Если моя персона тут не при чём, то объясните, почему в вашем планировании не рассматривается А2.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработчика для Лисоплана

Сообщение atz » 12.06.19 19:38

.
Последний раз редактировалось atz 12.06.19 19:51, всего редактировалось 1 раз.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработчика для Лисоплана

Сообщение Лис [Вежливый] » 12.06.19 19:41

> почему в вашем планировании не рассматривается А2.

Объяснение этому есть по ветке выше, логика такова:
1) Linux является только стартовой платформой для работы тулчейна
2) Не предполагается дальнейшее повсеместное использование Linux, предполагается написание ядра на языке кириллического тулчейна
3) A2 не рассматривается, потому что
3.1) он написан на латинице
3.2) для старта он хуже чем Linux, так как его не преподаёт министерство образования.

> Я могу увидеть только один мотив нерассмотрения А2 - это нежелание ни в чём следовать за мной, поскольку я, якобы, высокомерен, не умею работать с людьми, не настоящий программист и всё такое прочее.

Мотивы нерассмотрения A2 никак не связаны с тобой и изложены выше.

> какие-то мелкие личные обиды

В зеркало посмотри, возможно это у тебя обиды на Лиса и поэтому ты не хочешь признать мою стратегическую гениальность.
Последний раз редактировалось Лис [Вежливый] 12.06.19 19:45, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Платформа разработчика для Лисоплана

Сообщение БудДен » 12.06.19 19:45

1. Linux тоже написан на латинице, но он рассматривается. Нечестно. При этом A2 достаточно компактен и может быть переведён на кириллицу,
особенно за счёт того, что он практически полностью написан на Обероне. Linux, который в большой степени написан на баше, питоне, мейкфайлах, m4, cpp и прочем подобном, перевести на кириллицу будет, как минимум, очень сложно.
2. Для разработки тулчейна не только нужно забыть большую часть известного про Linux, лучше даже вообще этого не знать. Знать нужно ассемблер как язык низкого уровня и Common Lisp или Оберон/Golang как язык высокого.

Аватара пользователя
Лис [Вежливый]
Сообщения: 561
Зарегистрирован: 08.10.18 13:32

Re: Платформа разработчика для Лисоплана

Сообщение Лис [Вежливый] » 12.06.19 19:47

> Linux, который в большой степени написан на баше, питоне, мейкфайлах, m4, cpp и прочем подобном, перевести на кириллицу будет, как минимум, очень сложно.

Но это по плану Лиса и не требуется.

atz
Сообщения: 139
Зарегистрирован: 21.12.18 22:45

Re: Платформа разработчика для Лисоплана

Сообщение atz » 12.06.19 19:50

БудДен, если А2 тебе так нравится, продвигай же, показывай всякие крутые штуки, которые она может. Колибри например может музыку играть, в линуксе можно в терминале сидеть, а что может А2? Есть ли русскоязычное сообщество? Приведи ссылки на floppy/livecd/win32-реализацию. (желательно в отдельной теме, чтобы не приходилось потом прыгать туда-сюда)

Колибри была приведена в контексте решения задач Лиса 1.1-1.2, потому что для её ABI есть документация на русском, не нужно ковыряться в torvalds/linux/blob/master.

Ответить