Наштовхнувся на свій старий експеримент на тему того, як може виглядати код на україномовному варіанті Оберону. З особливостей можна відмітити:
- Адаптація граматики під потреби мови, а не лише переклад ключових слів та стандартних імен.
- Заміна прямокутних скобок на круглі [] -> () для зменшення потреби у переключенні розкладки клавіатури.
- Використання однослівних коментарів, що починаються зі знаку '. Це дозволяє сумістити зміст, важливий для комп'ютера з опціональною можливістю прикрас для людини, потреба в яких виникає через бажання наблизити формальний текст до рідної мови, яка у випадку слов'янських мов потребує відмінювання слів.
- Використання наказового способу для визначення дій, що виглядає більш природньо та вимагає менше букв, ніж більш традиційна невизначена форма. Враховуючи, що наказовий спосіб - це імператив, то використання його в імперативнах мовах набуває особливого змісту.
МОДУЛЬ СортуванняВставкою;
ВКЛЮЧИ Ввід, Вивід;
ДІЯ Читай(ряд: РЯД ЦІЛ'их);
ЗМІННІ і: ЦІЛ'е;
ПОЧНИ
ВІД і := 0 ДО ДОВЖИН'и(ряд'у) - 1 ДІЙ
Ввід.Ціл'ого(ряд(і))
ВСЕ
КІНЕЦЬ Читай;
ДІЯ Пиши(ряд: РЯД ЦІЛ'их);
ЗМІННІ і: ЦІЛ'е;
ПОЧНИ
ВІД і := 0 ДО ДОВЖИН'и(ряд'у) - 1 ДІЙ
Вивід.Ціл'ого(ряд(і)); Вивід.Нр
ВСЕ
КІНЕЦЬ Пиши;
ДІЯ Сортуй(ряд: РЯД ЦІЛ'их);
ЗМІННІ і, к, а: ЦІЛ'і;
ПОЧНИ
ВІД і := 1 ДО ДОВЖИН'и(ряд'у) - 1 ДІЙ
к := і;
а := ряд(і);
ДОКИ (0 < к) ТА (а < ряд(к - 1)) ДІЙ
ряд(к) := ряд(к - 1);
к := к - 1
ВСЕ;
ряд(к) := а
ВСЕ
КІНЕЦЬ Сортуй;
ДІЯ Дій*;
ЗМІННІ ряд: РЯД 15 ЦІЛ'их;
ПОЧНИ
Читай(ряд);
Сортуй(ряд);
Пиши(ряд)
КІНЕЦЬ Дій;
КІНЕЦЬ СортуванняВставкою.
Я поглядую, размовляешь ти на мове, как гарний хлопиц!))
ОтветитьУдалитьГде публичные результаты? Давай уже, выкатывай свой Оберон!))
Это и есть публичные результаты. Транслятора, который бы принимал такой код не было и нет. Мне всего лишь хотелось представить, как это может выглядеть.
УдалитьВообще, добавить перевод ключевых слов на лету из ini-файла для множества языков -- это будет бомба))
УдалитьС моей точки зрения перевод только слов работает недостаточно хорошо. Переводить нужно конструкции.
Удалить