Уже многие придумали варианты перевода ключевых слов Оберона на русский язык. А давайте на минуту представим себе, что будет, если сделать такой вариант перевода, который является надмножеством ключевых слов КуМира. ШАЯ - язык, используемый в КуМире, благословлён даже для ЕГЭ и он, видимо, используется. Как я это понял? По количеству просмотров на ютьюбе:
https://www.youtube.com/results?search_ ... 0%B8%D1%80Первый ролик выдаёт 100 тыс. просмотров за 8 лет. Для сравнения, лучший (русский) ролик по Оберону, который я смог найти, от Ивана Денисова - 2000 просмотров за ~4 года, вот он:
https://www.youtube.com/watch?v=0EHa2V0WUYcДумаю, эти цифры говорят сами за себя.
Я уже успел помедитировать над тем, насколько это возможно. С точки зрения возможностей языка, в КуМире есть многомерные массивы с границами, начинающимися не с нуля. В обычном Обероне такого нет, но в A2 есть мат. массивы. Они хотя бы многомерные, но индексы тоже вроде только с нуля. Здесь явно потребуется допиливание, но это не страшно - можно расширить Оберон (тем более активный, который на звание девственницы уже давно не претендует).
Проблему с многословными идентификаторами вроде сочли отсутствующей - нужно немного допилить парсер.
По семантике я не нашёл существенных отличий. Там есть ограничения на присваивание параметрам, но это всё решается путём транспиляции (пишется конвертер кода, добавляющий новые переменные, чтобы код на Обероне стал соответствовать правилам ШАЯ).
Наиболее неприятное из того, что я на данный момент осознал - это порядок слов в объявлении массивов - он отличается от Оберона кардинально:
Код:
цел таб имяПеременной[границы]
Это совсем уж никак не лезет в оберон-парадигму, т.к. усложняется грамматика. Но - шаг влево, шаг вправо и мы уже не подходим под определение школьного алгоритмического языка.
Что делать? Я пока не додумал, но слёту приходит на ум несколько вариантов:
- транспилятор с ШАЯ на Оберон
- фронтэнд ШАЯ для компилятора Оберон
- транспилятор с Оберона на ШАЯ++ (позволяет написать ЯОС на ШАЯ++)
- модификация Оберона так, чтобы он стал надмножеством ШАЯ
Естественно, все эти варианты даны в парадигме лидерства Оберона - другие варианты как-то даже неинтересно рассматривать.
В конечном итоге, получим Кумир++ - т.е. операционную систему, написанную на языке, являющемся расширением КуМира. Поскольку в ЯОС есть и компилятор, и интерпретатор, и гуй, и драйвера, и tcp/ip, и богатый текст, и IDE, и даже веб-браузер с тетрисом, появляется возможность в старших классах на достаточно маленьком и простом коде углубляться в любой аспект программирования из представленных. При быстроте сборки ЯОС школьники могут спокойно сделать свою модифицированную операционную систему, внеся изменения в ядро, в течение одного 45-минутного урока, и опробовать её.
Я уже даже успел обсудить вопрос с одним учителем. Он сказал, что Кумир используется только в средней школе, а те, кто хотят связать будущее с программированием, выбирают "настоящие языки".
Но если сделать ЯОС на ШАЯ++, то это будет наведением моста сразу между несколькими берегами: для школьника возможность погрузиться в профессию не выходя за рамки кумира, для страны - квалифицированные кадры сразу по выходе из школы, для оберон-сообщества - совершенно новый уровень интереса к их технологии.
Другое дело, не повис бы мостик в пустоте. Ваши мысли, господа?