Русификация Паскаля для школы (проект)

Языки программирования, процессоры, операционные системы, в которых русский язык занимает достойную роль в процессе разработки.
Ответить
БудДен
Сообщения: 2899
Зарегистрирован: 07.10.18 14:01

Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 02:09

предложение владельцам PascalABC обсудить реализацию:

https://github.com/pascalabcnet/pascala ... ssues/2953

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

видеоролик:

https://dzen.ru/video/watch/654ea9fdce4 ... d10c7?t=12

программа, которая уже скомпилировалась:

Код: Выделить всё

программа a;

конст b = 7;

проц Главная();(*  азя-базя *)
нач
если 1 = 1 то нач
 println();
 println('!!!!!!!!!!!');
 println('Привет, мир');
 println('!!!!!!!!!!!') кон; кон;

нач
Главная кон.
версия, которая собралась на Ubuntu 20 по README: 68e50ba
файл, который надо менять:

Код: Выделить всё

+++ b/Parsers/PascalABCParserNewSaushkin/Keywords.cs
@@ -65,16 +65,20 @@ namespace GPPGParserScanner
             keywords.Add(Convert("where"), (int)Tokens.tkWhere);
             keywords.Add(Convert("array"), (int)Tokens.tkArray);
             keywords.Add(Convert("begin"), (int)Tokens.tkBegin);
+            keywords.Add(Convert("нач"), (int)Tokens.tkBegin);
             keywords.Add(Convert("case"), (int)Tokens.tkCase)
Естественно, это не единственный файл в системе, у них там есть и среда разработки с подсветкой синтаксиса и ещё куча всего,
но для консольного компилятора этого достаточно.

Почему я считаю PascalABC наиболее выгодным (из дешёвых) проектов внедрения РЯ в школьной информатике?
* Паскаль - популярен в школе включён в ЕГЭ
* PascalABC - лидер среди школьных Паскалей
* Позволяет простроить лесенку от КуМира к англоязычным ЯП
* PascalABC даёт доступ к библиотекам C#, поэтому позволяет простроить лесенку к карьере программиста.

Для сравнения, ЯОС:
* никак не представлена в школе
* язык Оберон не включён в ЕГЭ и отличия Оберона от Паскаля на уровне, на котором его изучают школьники, не столь велики, чтобы такое изменение было легко обосновать.
* качество самой среды недостаточно для применения в школе
* не позволяет простроить лесенку к карьере программиста путём освоения конкретной технологии, хотя такая лесенка могла бы быть простроена путём изучения кодов самой ОС. Однако это бы работало при соблюдении остальных условий, прежде всего, не хватает качества.

Для сравнения, другие языки из ЕГЭ:
* C++ - вообще ненужный язык
* C#, Java, Python - мы не контролируем реализацию

https://forum.astralinux.ru/threads/3556/ - вот ещё одна тема про Паскаль для школы - рекомендуют связку geany + fpc. Всё это не особо хорошо для школы, т.к. переусложнено. Нужно что-то совсем простое, типа КуМира, но с Паскалем.
Последний раз редактировалось БудДен 11.11.23 17:11, всего редактировалось 4 раза.

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

Re: Русификация PascalABC (проект)

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

-
Последний раз редактировалось Лис [Вежливый] 11.11.23 21:07, всего редактировалось 3 раза.

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

Re: Русификация PascalABC (проект)

Сообщение БудДен » 11.11.23 12:30

Подумай ещё, чем отличается, и постарайся сам ответить.

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

Re: Русификация PascalABC (проект)

Сообщение БудДен » 11.11.23 14:50

Выяснилось, что у них проблемы под Linux, есть специальный репозиторий про это: https://github.com/pascalabcnet/pascalabcnetlinux . Странно, зачем тогда нужен PascalABC и не подойдёт ли какой-нибудь Lazarus. Понятно, что любой компилятор при наличии исходников русифицируется за несколько вечеров, вместе со средой разработки.

С учётом перехода России на Linux, надо выяснить, какова динамика Паскалей в современной школе.

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

Re: Русификация PascalABC (проект)

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

-
Последний раз редактировалось Лис [Вежливый] 11.11.23 21:07, всего редактировалось 1 раз.

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 17:12

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

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 18:13

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

Кроме того, там в справке упомянут исполнитель Робот, хотя саму справку не могу пока что открыть (спасибо Убунте с её разным шпионским софтом, таким, как unattended-upgrades).

sudo apt install xchm.

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 18:35

ПаскальЧШЩ.png
ПаскальЧШЩ.png (101.32 КБ) 155 просмотров

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 18:39

В целом, конечно, работы для русификации не так уж мало. Во-первых, сам проект не в лучшем состоянии под Linux. Они обновили средства разработки и теперь его проблематично установить на многих старых линуксах, как я понял. Кроме того, надо менять всю справку. Далее, видимо, нужно очень сильно выпотрошить язык и выкинуть всё, что они добавили, чтобы остался стандартный Паскаль + те расширения, которые уже прижились и которые нужны для ЕГЭ. Дальше, нужно, чтобы как в Кумире сразу был Робот. Дальше, нужно реализовать КуМир хотя бы в урезанном виде (в КуМире на самом деле много всяких подсказок и прочих вещей - это именно учебная среда со своей спецификаой, а PascalABC больше похож на какой-нибудь Дельфи, т.е. на профессиональный инструмент). Справка находится в безобразной форме (у меня) - она просто не открывается, во всяком случае, на u20, но этого и достаточно - ведь не у всех же есть Ubuntu 22. Установка сама по себе проблематична, нужно подключать сторонние репозитории с mono, как я понял. Короче, работа тут есть, ясно, что проект не на 3 часа. Но и не на 5 месяцев.

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

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 21:07

Первый отзыв на идею пришёл отрицательный - товарищ утверждает, что в 90% московских школ уже учат на Питоне, а не на Паскале. Понятно, что тут никого нет, но надо бы как-то проверить. За МКАДом ситуация может быть иной.

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 22:13

Нашёл ещё одно подтверждение, что Питон лидирует. Но рано делать окончательные выводы.

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 11.11.23 23:21

Другие пишут, что Паскаль. Но какой-то падучий этот PascalABC (во всяком случае, последняя версия из мастера, собранная моими кривыми руками). ЯОС по сравнению с ним стоит как скала. Между тем, разработчики написали, что для компилятора у них есть штатный способ подмен. А именно, без всякого изменения исходных текстов, достаточно создать в директории, где лежит исполняемый файл PascalABCNETLinux.exe файл keywordsmap.pabc следующего содержания:

Код: Выделить всё

procedure процедура
function функция
if если
then то
else иначе
begin нач
end кон
program программа
И тогда программа скомпилируется. Правда, вопрос в кодировке этого файла. Он читается в кодировке UNICODE, видимо, это utf-16. Но я просто в этом месте поменял исходник на utf-8, чтобы не подбирать кодировку этого файла.

Код: Выделить всё

программа P;

процедура Главная;
var b : integer;
нач
  если b = 0 то
    writeln('привет,мир!')
  иначе
    writeln('а в Паскале тоже есть неопределённое поведение - здесь должно было быть наше приветствие') кон;

функция ф():integer;
нач result := 1; кон;

нач
  Главная
кон.

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

Re: Русификация Паскаля для школы (проект)

Сообщение БудДен » 12.11.23 15:30

Константин Поляков в письме написал, что будущее Паскаля АБЦ туманно, т.к. он не разрешён для изучения на углублённом уровне. В общем, пока звёзды не складываются в пользу этого проекта.

Ответить