Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Зачем делать виртуальную машину?

Сообщений 1 страница 28 из 28

1

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

Вместо этого мы по-быстрому накидываем свою, пусть и неэффективную, зато простую в реализации систему.

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

После этого мы её БЫСТРО реализовываем, и получаем МЖП (минимально жизнеспособный продукт),
который потом можно будет дорабатывать силами новых людей, которые увидят в этом новые возможности.

Можно ДОЛГО потратить больше сил, но сделать неполный продукт, который никто не захочет изучать (например из-за его плохой документированности),
и это будет мёртвый проект (и неважно, что он будет скажем на 300% быстрее).

0

2

Не проще ли перевести на русский исходники mash и дописать докментацию/урезать ВМ?
https://remdev.mybb.ru/viewtopic.php?id=314#p3156

30 pas-файлов, в которых около 15 тыс. строк, 2200 латинобуквосочетаний (3/4 массы - около 400)

Цифры, конечно, уже изменились, но, очевидно, не так уж существенно.

Лис написал(а):

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

Какая-то нездоровая логика. Язык у нас называется русским, а не российским.
Народам никто не запрещает создавать что-то на других языках.

Отредактировано MihalNik (2022-06-18 07:31:10)

0

3

Почему нет? Если кто-то из паскальщиков возьмётся, то будет альтернативный проект. Всегда можно будет поделиться идеями.

0

4

MihalNik написал(а):

Какая-то нездоровая логика.

Эта логика подразумевает, что нужен стандарт аналогичный Unicode, который будет включать различные символы, используемые в алфавитах России.
Кириллица, конечно, первый кандидат на включение.

0

5

MihalNik написал(а):

и дописать докментацию

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

0

6

Лис написал(а):

нужен стандарт аналогичный Unicode, который будет включать различные символы, используемые в алфавитах России.
Кириллица, конечно, первый кандидат на включение.

Еще раз - если кому-то нужно - то пусть делают. Кто-то запрещает?
А запрещать самому себе что-то, потому что это не будет автоматически работать для кого-то другого (вообще говоря, даже неизвестно для кого) - это тоже нездоровая логика (не путать с предудыщем примером нездоровой логики искажения названия языка).
Следуя ней американцы никогда бы ничего не создали, бесконечно рефлексируя вокруг несовершенства ASCII, который глубоко странный и кривой сам по себе.

Отредактировано MihalNik (2022-06-18 07:46:14)

0

7

Евгений написал(а):

будет альтернативный проект

Так может и на Си есть куча примеров готовых?

0

8

MihalNik написал(а):

Так может и на Си есть куча примеров готовых?

Си был бы удобен, но Евгений хочет иметь исходные тексты на русифицированном Си,
а это другое дело.

0

9

Лис написал(а):

а это другое дело

Но готовые примеры на Сях возможно его облегчат.

0

10

MihalNik написал(а):

Но готовые примеры на Сях возможно его облегчат.

Я уверен, что существуют учебные методички для ВУЗов на русском языке на эту тему (интерпретатор на сях), можно поискать.

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

Отредактировано Лис (2022-06-18 08:03:13)

0

11

MihalNik написал(а):

Так может и на Си есть куча примеров готовых?

Разумеется я заглядываю в исходники, которые уже нашли. Если найдется что-то ещё, только на пользу.
Почти все пишут на С++. По некоторым причинам мы пока отказались от классов.
Вы мне лучше помогите теорией и добрым словом и мы вместе напишем классную виртуалку. А надеяться на чьи-то разработки это как кота в мешке покупать. Я вон заглянул в в файлы Кумира - там тоже не всё красиво.

Отредактировано Евгений (2022-06-18 08:21:41)

0

12

Евгений написал(а):

Почти все пишут на С++. По некоторым причинам мы пока отказались от классов.

Ну вот. А с контейнерами легче, чем с сишными недомассивами.

0

13

MihalNik написал(а):

Ну вот.

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

А контейнерам требуются шаблоны, и когда это всё будет реализовано - пока не ясно.

0

14

MihalNik написал(а):

Ну вот. А с контейнерами легче, чем с сишными недомассивами.

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

0

15

Евгений написал(а):

Я-то могу

Ну в таком случае проект придётся форкать. Одна версия будет с контейнерами, а другую придётся делать мне (точнее ждать, пока кто-нибудь ещё другой сделает).
Потому что не сможет MihalNik реализовать шаблоны, обосновать почему так будет лучше с точки зрения обучения, и проделать массу другой работы до получения удовлетворительного результата.
Если бы он мог, он бы сделал.

0

16

Лис написал(а):

обосновать почему так будет лучше с точки зрения обучения

Это довольно сложно из-за исторического наследия: синтаксис шаблонов в С++ переусложнен и заимствован во множество других популярных ЯП.
Чтобы обойтись без них нужно (и можно):
- вводить собственные названия типов
- писать макросы и/или функции стандартных операций, чтобы не размазывался код (очевидно, но к сожалению часто не делается).

Отредактировано MihalNik (2022-06-18 09:46:00)

0

17

Лис написал(а):

Си был бы удобен, но Евгений хочет иметь исходные тексты на русифицированном Си,
а это другое дело.

Программирование на русском это удовольствие, приносящее, как минимум моральное удовлетворение... А на обычном Си это работа.

0

18

А какой смысл вообще этой "виртуальный машины"?
У студентов университета курсовые работы намного сложнее. Даже в шарагах сейчас пишут как минимум трансляторы в ASM, хотя бы знают про работу AST.
Тут же просто напридумывали опкодов, реализовали из них всего 2, да и то неполно. Регистры какие-то - где они вообще используются, зачем 16, откуда такие размеры. Вся память работает на переменных (что). Но при этом куча умных слов аля "форк репозитория", "что будет в новом теге", "мерж" - это ведь вообще не то, о чем надо думать на старте проекта. Да и в конце концов кому это нужно, чем это будет лучше идей той же MSIL?
На OpenNET каким-то образом отправили статью проекта, где исходники все влезают на один экран монитора.
Зачем

Отредактировано Pavel Bibichenko (2023-03-07 13:05:42)

0

19

Pavel Bibichenko написал(а):

Да и в конце концов кому это нужно,
чем это будет лучше идей той же MSIL?

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

Проясню свою позицию.
Я мог бы жить, например, в США, и всё время говорить на английском языке,
но у меня всё равно бы осталось желание сделать Русский Язык Программирования.
Но если бы я и потерял интерес к русскому языку,
то я бы сделал Американский Язык Программирования.
У человека должна удовлетворяться тяга к творчеству.
Поэтому вопрос "Зачем?" не стоит вообще.

0

20

Pavel Bibichenko написал(а):

На OpenNET каким-то образом отправили статью проекта, где исходники все влезают на один экран монитора.

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

Pavel Bibichenko написал(а):

А какой смысл вообще этой "виртуальный машины"?

На этот вопрос невозможно ответить кратко... И ответ на него связан с общей идеей использования русского языка в программировании, над которой работают тем или иным способом участники этого форума.
Что может дать русскоязычное программирование отдельному человеку-программисту, обществу, государству?
Вот лично мне хочется, чтобы моя программа была для меня максимально понятной, а для этого я хочу иметь возможность использования понятных мне русских слов, словосочетаний, сокращений и абревиатур.
Судя по тому, что и gcc  и clang стали поддерживать unicode, то эта не наша российская глупость блажь, а естественное желание и других носителей языков, отличных от английского. Казалось бы, дали возможность -
пользуйся. Ничего подобного, необходимость переключаться между языками при наборе каждого ключего слова сводит на нет весь комфорт. То есть никуда вы с англоязычного крючка не соскочите таким образом. Значит ключевые слова тоже нужны на русском.
Ладно, попробуем перевести и их... А названия библиотечных функций? Что толку от языка без библиотек? Хорошо... А есть хоть какие-то широко известные инструменты для русскоязычного программирования? На этом форуме кое-что представлено, но говорить
о широком распространении не приходится. Что же тогда нужно? Тут я выскажу свое субъективное мнение... Нужен язык программирования на основе русского, а вероятнее всего семейство языков под разные задачи. Нужны компиляторы и интерпретаторы
для этих языков. Нужны системные и прикладные библиотеки. Нужна виртуальная машина. Понадобится и асемблер. Нужна интегрированная среда разработки для всего этого. Почти ничего этого нет. Генераторы лексеров и парсеров... Ладно, можно и без них обойтись.
Этот айсберг не своротить ни паре человек, ни даже группе разработчиков. Давайте, хоть виртуальную машину сделаем! И вот тут мы уперлись в то, что нет устоявшейся отечественной терминологии. Так вот смысл всего проекта виртуальной машины -
наработка терминалогии и документирование проекта именно на русском языке. Нам не интересно делать еще одну какую-то, пусть даже очень полезную виртуальную машину в кооперации с разработчиками из других стран. Нам нужен фундамент для
построения собственных языков программирования и создания стредств разработки. Вспоминаю, как я по-настоящему был благодарен разработчику AkelPad за то, что в его программе не было ни одного глюка при работе с кириллицей, и за хорошую документацию
на русском языке. На AkelPad была сделана первая маленькая IDE для русифицированного С.
Я прекрасно понимаю, что русифицированный С это всего лишь С с костылем. Но он в настоящий момент выполняет свою задачу.
По поводу того, что русский язык в программировании не нужен и что, например,  медицина до сих пор на латыни... Успокойтесь, медицина живет и работает полностью на русском языке. Латынь это часть их образовательного процесса, дань традициям и вероятно используется еще в каких-то
узко специализированных целях. И это не мое, а мнение настоящего врача, много лет работающего на земле.
Пожалуй, хочется ответить еще на одну реплику, по поводу того, что мы своими попытками стремимся убить IT в России. Мы за то, чтобы был свободный выбор и доступность любых языков и средств разработки. На этот форум за последние сутки зашло много людей.
Хочется верить, что большинство из них думающие и не ставящие знак равенства между желанием создать свое и убить чужое.

Отредактировано Евгений (2023-03-08 07:38:19)

0

21

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

Отредактировано Лис (2023-03-07 21:50:48)

0

22

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

0

23

Виртуалку лучше. Тем более у неё (виртуалки) уже бо́льшая публичность как у проекта.

Отредактировано Лис (2023-03-08 13:41:20)

0

24

1) Разве есть сейчас хоть одна аппаратная платформа с полностью кириллической документацией ?
2) Что мешает всем ВУЗам страны публиковать исследования в области алгоритмов, опираясь на кириллицу, как не отсутствие кириллических платформ?
3) Почему Кнут делает MIX и MMIX ? Что там может быть нового по сравнению с JVM ?
4) Почему кириллическая виртуальная машина (далее "Сказочная Колесница") это не то же самое, что MSIL ?
5) Что общего у Сказочной Колесницы и qemu ? В чём различия ?
6) Что общего у Сказочной Колесницы и llvm ? В чём различия ?
7) Ошибаются люди, которые считают, что Си и Линукс там навсегда. Лис такого никогда не говорил, а те люди клевещут.
  Если найдутся лидеры, желающие использовать ЯОС, я не буду против, а только за всеми лапами.
  То же самое и к языку программирования относится. Парсеры я от безнадёжности изучаю, потому что готового не вижу мирового уровня.
Некоторые ещё меня подтролливают, что потом придётся методы оптимизации изучать, чтобы код генерировать. Во-первых, я это делал ранее, во-вторых, я не один русскоязычный на планете. Очень странно желать, чтобы вам помогал именно я. Почему не кто-то из остального миллиона русскоговорящих программистов? Считаю, что призывать надо абстрактно - тех, кто чувствует в себе силы и желание. И это не отмазка, а руководство к действию. Надо именно что бо́льше писать о том, что нужно сделать, и только тогда кто-то найдётся.

В общем, вы как хотите, а у меня плановая линька.

Отредактировано Лис (2023-03-10 00:04:03)

0

25

Лис [Л] написал(а):

Почему Кнут делает MIX и MMIX ?

Потому что Кнут воспитан методом кнута и пряника,
совсем лишь только не все русскоговорящие программисты воспитаны таким методом.

Лис [Л] написал(а):

Что там может быть нового по сравнению с JVM ?

Ещё спроси:
"Что там в РЯП может быть нового по сравнению с JVM ?"

0

26

NuShaman написал(а):

Ещё спроси:
"Что там в РЯП может быть нового по сравнению с JVM ?"

«Да и в конце концов кому это нужно, чем это будет лучше идей той же MSIL?»

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

Отредактировано Лис (2023-03-11 03:52:12)

0

27

Во втором издании книги Серебрякова на странице 6 приводится причина делать виртуалку, которую (причину) мы ещё не упоминали.

постоянно растyщaя потребность в новых компиляторах связана с развитием  архитектур ЭВМ. Это развитие идёт по различным направлениям. Наряду с возникновением новых архитектур, совершенствуются старые архитектуры как в концептуальном содержании, так и по отдельным, конкретным, параметрам. ... отличаются не только техническими характеристиками, но и что более важно, новыми возможностями и, значит, изменением (расширением) системы команд. Естественно это требует новых компиляторов (или модификации старых). ...
В рамках традиционных последовательных машин развивается большое число различных направлений архитектур.
Естественно, для каждой новой системы команд требуется полный набор новых компиляторов с распространённых языков.
Наконец, бурно развиваются различные параллельные архитектуры.
Среди них отметим векторные, многопроцессорные, с широким командным словом архитектуры (вариантом которых являются сynерскалярные ЭВМ).
На рынке уже имеются десятки типов ЭВМ с параллельной архитектурой... Естественно, для каждой из новых машин создаются новые компиляторы для многих языков программирования.
Здесь необходимо также отметить, что новые архитектуры требуют разработки совершенно новых подходов к созданию компиляторов,
так что наряду с собственно разработкой компиляторов ведётся и большая научная работа по созданию новых методов

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

Отредактировано Лис (2023-03-11 03:37:57)

0

28

Фактически вопрос стоит так:
- мы не хотим делать виртуалку, потому что хотим встроиться в международную систему разделения труда где-нибудь на более высоком уровне. А LLVM пусть делают другие люди, а производители оборудования им помогают. И вообще вы жизни не понимаете, в вертикально-интегрированной цепочке чем ближе к клиенту, тем больше денег. Вот что говорят люди, подобные Pavel Bibichenko, только они это сформулировать не могут.

И да, монетизация, это задача, которой надо заниматься. Кстати, у меня есть целых два-с-половиной плана, как (первый - НКО, нужен гендиректор, второй - работа с госорганами, нужен юрист). Нужны добровольцы. А половина - это компилятор, который инструментирует код телеметрией, чтобы замерить использование кода по буквам исходников, чтобы распределять деньги разработчикам. Нужна половина программиста (настоящий программист решил бы такую задачу "одной левой").

Отредактировано Лис (2023-03-11 08:54:35)

0