LINUX.ORG.RU

Добавил поддержку русских ключевых слов и идентификаторов в ЯОС

 , , , ,


0

1

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

Выглядит это вот так,

https://gitlab.com/budden/jaos/-/blob/яос/док/реклама/ао-с-кириллицей-2020-06-12.png

Пример исходника:

модуль Proba; 

использует Commands; 

конст Ойляля* = 80000;

тип дача* = объект
	перем 
		баня* : INTEGER;
		дом* : INTEGER 
		
	проц &Стройсь(ценаДома, ценаБани : INTEGER);
	тело
		дом := ценаДома;
		сам.баня := ценаБани кн Стройсь кн дача;
		
проц Процедурка*(ц: Commands.Context);
перем д: дача;
тело
	NEW(д, 1000000, 500000);
	ц.out.Int(Ойляля + д.баня + д.дом,0); 
	ц.out.String("... Мечта сбывается..."); 
	ц.out.Ln; ц.out.Update кн Процедурка;

проц ЗабылиСтереть; тело кн ЗабылиСтереть;

проц Test*(ц: Commands.Context);
тело
 Процедурка(ц) кн Test;

кн Proba.  

Всё остальное см. в репозитории https://gitlab.com/budden/jaos

★★★★★

Последнее исправление: den73 (всего исправлений: 4)

Ответ на: комментарий от den73

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

MaxPower ★★
()
Ответ на: комментарий от den73

Более того, меня в моей стране заставляют на работе использовать английский язык,

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

torvn77 ★★★★★
()

Мне кажется, автор повторяет те же ошибки, против которых борется. Лучше, если каждый идентификатор или ключевое слово будет иметь нейтральное внутреннее представление, не зависящее от языка, и набор переводов (синонимов), которые можно легко добавлять. Редактор кода будет показывать каждому пользователю текст на его родном языке. Если для какой-то сущности русское название еще не добавлено, будет использовано следующее по порядку предпочтения, и т. д.

XVIII_vek
()
Ответ на: комментарий от den73

Я тебе отвечаю, ты игнорируешь мои ответы и повторяешь свои возражения.

У тебя не ответы, а декларация своей позиции, тоже повторяющиеся, что и приводит к повторению моих вопросов.

torvn77 ★★★★★
()
Ответ на: комментарий от XVIII_vek

То есть реально исходник будет на каком-то бинарном псевдокоде, который будет разворачиваться и сворачиваться в национальный язык?

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

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

torvn77 ★★★★★
()
Ответ на: комментарий от XVIII_vek

Мне кажется, автор повторяет те же ошибки, против которых борется.

То, что ИТ на английском - это не ошибка. Это выгодно американцам. А сделать его на русском - будет выгодно России.

Лучше, если каждый идентификатор или ключевое слово будет иметь нейтральное внутреннее представление, не зависящее от языка

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

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

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

Также я надеюсь сделать так, чтобы, встав в ИСР на любое имя, можно было бы увидеть перевод. Тогда A2 будет не просто «учебной ОС на русском языке», а ещё и «англо-русским словарём с примерами».

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от torvn77

Я тебе отвечаю, ты игнорируешь мои ответы и повторяешь свои возражения.

У тебя не ответы, а декларация своей позиции, тоже повторяющиеся, что и приводит к повторению моих вопросов.

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

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

А сделать его на русском - будет выгодно России.

Для этого надо чтобы россия делала что-то нужное для других стран и их жителей, причём такое что бы Китай или США не хотели или не могли это быстро скопировать.
Без этого твой русскоязычный ЯП будет позором русского языка, позиционируя его как язык неосиляторов технического английского, причём сугубо одной нации.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 1)

Перекосило от скриншота. Английский интерфейс и русский ЯП. Тогда уж и интерфейс переведи на русский.

ChekPuk ★★★
()
Ответ на: комментарий от den73

Ну ОК, допустим сотруничая с РОНО и ювенальными юристами под страхом лишения родительских прав и заключения в интернате вы заставите родителей и детей изучать вашу русскоязычную ОС и ваш русскоязычный ЯП.

И вот окончивший школу юноша захотел сделать компьютерную игрушку с красивой графикой и спецэфектами.
Что произойдёт?
А произойдёт то, что ваш люто ненавидимые язык и ОС предадут забвению и будут кодить на С, Python и vulkan, потому что ничего из этого у вас не будет, а это всё средства нужные для решения задачи.

И ездящий на красивой машине англоязычный фрилансер Вася добьёт репутацию твоего ЯП, потому что те кто ему оппонируют будут получать пониженные зарплаты с внутреннего рынка.

Так что вы не поднимете русский язык, вы его добьёте.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от den73

Вот тебе практический пример моих слов:

#include <efi/system-table.h>

efi_handle gImage;
efi_system_table *gSystemTable;


extern "C" efi_status
efi_main(efi_handle image, efi_system_table *systemTable)
{
	gImage = image;
	gSystemTable = systemTable;

	gSystemTable->ConOut->OutputString(systemTable->ConOut, (char16_t*)u"efi_main()\r\n");

	return EFI_SUCCESS;
}

Взят он от сюда: попытка написать загрузчик (комментарий)

Так вот, от того что ты строки

gImage = image;
gSystemTable = systemTable;

перпеделаешь в

гКартинка = Картинка;
гСистемнаяТаблица = СистемнаяТаблица;

они не станут понятнее и всё равно придётся идти и читать англоязычный мануальник по EFI.

И при этом русифицируемая тобой строка #include <efi/system-table.h> мне понятна и так.

torvn77 ★★★★★
()
Последнее исправление: torvn77 (всего исправлений: 2)
Ответ на: комментарий от torvn77

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

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от den73

То, что ИТ на английском - это не ошибка

Совершенно верно. Это осознанное решение, принятое кажется в 1967 году.

sergej ★★★★★
()
Ответ на: комментарий от torvn77

В конце 1966 г. на заседании ГКНТ и Академии наук СССР при поддержке министра МРП СССР В. Д. Калмыкова, Президента АН СССР М. В. Келдыша принимается историческое решение о копировании серии IBM-360. Против этого решения решительно выступили А. А. Дородницын, С. А. Лебедев и М. К. Сулим. Однако они остались в меньшинстве. Итак, решение о разработке семейства ЕС ЭВМ состоялось. Под эту грандиозную программу были переориентированы многие НИИ и заводы, многим специалистам пришлось переучиваться и переквалифицироваться, в студенческие программы вузов стали в основном включать вопросы структуры, архитектуры и ПО ЕС ЭВМ. Была создана новая технологическая база для производства интегральных схем (ИС), полупроводниковой электроники и других средств ВТ. Как и предсказывалось, другие направления развития отечественной вычислительной техники постепенно стали сокращаться из-за недостатка средств, заказчиков, молодых кадров и других объективных и субъективных причин.

sergej ★★★★★
()
Ответ на: комментарий от sergej

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

А потом где-то в 1980х послойное спиливание сломалось из-за размера, да и ПО распространялось уже в бинарях и за деньги.

sergej ★★★★★
()
Ответ на: комментарий от sergej

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

torvn77 ★★★★★
()
Ответ на: комментарий от torvn77

Ну так и я про это. СССР теоретически мог конкурировать, а когда отказался, американцы захватили мир :)

sergej ★★★★★
()
27 декабря 2021 г.
Ответ на: комментарий от torvn77

Основное содержание программирования это вызов сторонних API и библиотек

Я думал, что задача программиста, это разработка алгоритмов для машин.

способному человеку будет выгоднее изучить английский

Почему не французский? Ведь были диалекты BASIC и для французского в до-IBM'овское время.

справка на русском

Справочник как раз лучше на языке тех, кто создавал hardware.

разрабатываемый здесь ЯП

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

отток квалифицированных кадров

Кадры текут туда, где выше к.п.д. их работы. Вот послушай, что говорит Путин в последнем выступлении. Он говорит о том, что надо повышать к.п.д. и управленцев в т.ч. Чтобы их премии, выписанные самими себе, окупались. Не только ведь за счёт снижения KPI рядовых кадров надо повышать эффективность работы коллектива.

Mirage1_
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.