национальные языки в программном коде

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 17:49

В разговоре с издателем BHV неожиданно (действительно неожиданно :-o ) выявились несколько интересных (действительно интересных :-) ) вещей...

1. Во-первых, что недавно обновленные темы (как и созданные в них тексты) названы определённо неверно:

- языковая локализация в программном коде - это не локализация в принятом смысле ... это о представлении и работе с мультиязычными (UNICODE) строками в нескольких языках программирования: C, C++, Python, Go, Rust, Kotlin (при желании ещё можно добавить Java, больше не надо).

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

2. Во-вторых ... нужно бы привести в порядок понимание того как мультиязычность может находить себе отображение в языках программирования.

3. В-третьих, в разговоре как-то отчётливо выплыло, что к 2-м первым частям этого разговора: "Linux: языковая локализация в программном коде" + "Регулярные выражения в программном коде" отчётливо просится 3-я часть, относительно суффиксных деревьев, что уже прорабатывалось в старой теме этого форума: суффиксные деревья и поиск в строке - они, эти 3 части, идеологически родственные :!:

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 18:03

Olej писал(а):
19 янв 2023, 17:49
2. Во-вторых ... нужно бы привести в порядок понимание того как мультиязычность может находить себе отображение в языках программирования.
Вот с этого и начнём...
Применение мультиязычности в языках программирования может иметь несколько слоёв:

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

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

3. Создание, хранение, ввод и вывод текстовых литералов (строк) на национальных языках. Представление текстовых литералов может реализовываться либо "доморощенными" способами (Pascal, ранний C), или использованием UNICODE (в той или иной кодировке: UTF-8, UTF-16, UTF-32).

4. Манипуляции с содержимым текстовых строк на национальных языках: поиск, замена, перестановки и др.

Это всё совсем не одно и то же! В каком-то языке программирования, или его инструментарием (библиотеки и др.), могут реализовываться одни пункты, и не обеспечиваться другие. :!: :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 19:04

Olej писал(а):
19 янв 2023, 18:03
1. Использование языков программирования, в синтаксисе которого ключевые слова допускаются (или предусмотрены только) на национальных языках.
Это не совсем такое уж пустое начинание...

1. Институтом кибернетики Академии наук Украинской ССР, под рук. акад. Глушкова разработаны вычислительные машины МИР и МИР-2 (МИР - это не притензии на Universum, а Машина Инженерных Расчётов), работающие по программам на языке Алмир/Аналитик, 1968г..
Там оператор цикла мог выглядеть вот так:

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

ДЛЯ Ж=1 ШАГ 0.3 ДО π ВЫПОЛНИТЬ ... 
2. Новосибирск, акад. Ершов руководил созданием, 1970 - 1981г.г., обучающей система «Школьница» и языка РАПИРА для ними же созданного компьютера "Агат".
Пример программы «Здравствуй, мир!»:

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

ПРОЦ СТАРТ();
    ВЫВОД: "ЗДРАВСТВУЙ, МИР!";
КНЦ;
И это ещё далеко не всё... ещё были...
Вот интересная статья-обзор на этот счёт: Разработка языков программирования и компиляторов в СССР:
- Язык Рефал, 1966 (язык манипулирования символьными объектами, такими как текстами, формулами, программами) - единственный отечественный язык программирования, получивший общемировую известность.
- Язык программирования Алмо
- Система программирования Сигма (Символьный Генератор и Макроассемблер)
Изображение
- Универсальный машинно-ориентированный язык программирования Эпсилон (Элементарный Преобразователь СИмвоЛьнОй иНформации).
- Система программирования Бета: Изначально этот язык был назван — автокод Эльбрус, затем был переименован в Эль-76.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 19:11

Olej писал(а):
19 янв 2023, 19:04
Это не совсем такое уж пустое начинание...
Это не пустое начинание, поскольку акад. Ершов ещё в начале 80-х предполагал лёгклсть изучения языка Рапира для достижения всеобщей компьютерной грамотности (в 1980-м году!)

Но!
Русскоязычный синтаксис ничего не добавляет к семантике языка...
Язык программирования должен объединять разноязыких разработчиков, а не разъединять ... по какому-то ни было признаку.
И уже к началу-середине 80-х годов это было понято, и движняк именно в этом направлении прекратился...

Поэтому этот, 1-й слой, поддержки национальных языков мы, на этом, разобрали и закончили.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 19:19

Olej писал(а):
19 янв 2023, 18:03
2. Присвоение переменным, обектам программного кода имён в национальных языках.

3. Создание, хранение, ввод и вывод текстовых литералов (строк) на национальных языках. Представление текстовых литералов может реализовываться либо "доморощенными" способами (Pascal, ранний C), или использованием UNICODE (в той или иной кодировке: UTF-8, UTF-16, UTF-32).

4. Манипуляции с содержимым текстовых строк на национальных языках: поиск, замена, перестановки и др.
А вот эти пункты уже изложены в:
Часть 1: "Linux: языковая локализация в программном коде"
Часть 2: Регулярные выражения в программном коде

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 20:35

Olej писал(а):
19 янв 2023, 17:49
к 2-м первым частям этого разговора: "Linux: языковая локализация в программном коде" + "Регулярные выражения в программном коде" отчётливо просится 3-я часть, относительно суффиксных деревьев,
Часть 3: Суффиксные деревья
Вот эту 3-ю часть и отрабатываем: суффиксные деревья и поиск в строке
И это будет 3-я часть.
Olej писал(а):
19 янв 2023, 18:03
1. Использование языков программирования, в синтаксисе которого ключевые слова допускаются (или предусмотрены только) на национальных языках.
А вот эта часть станет: Часть 0: Предисловие

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 19 янв 2023, 21:20

Olej писал(а):
19 янв 2023, 17:49
В разговоре с издателем BHV неожиданно (действительно неожиданно :-o ) выявились несколько интересных (действительно интересных :-) ) вещей...
Отвлечёмся на время от конкретностей предмета...
Копирую сюда свои реплики разговора (чужие я не имю права)...
Первое, есть тема безусловно "горячая" - это языковая локализация в программном коде ... ну и + к ней, возможно, регулярные выражения локализованные. Это то, с чем СТАЛИ обращаться с вопросами, потому что а). этого никто не понимает (не интересовало раньше) + б). в связи с изоляцией и импортозамещением - припекло.
Меня меньше интересует СЕМАНТИКА (синтаксис, логика... - об этом множественно написано), меня интересуует то, о чём не пишут: 1). КАК использовать регулярные выражения в каждом из 6-ти ЯП + б). КАК ПОВЕДУТ себя регулярные выражения в мультиязычных (UNICODE) текстах - ни одному автору из англосаксов не прийдёт в голову про такое писать
Мы с вами, наверное, говорим о разных вещах... Я имею в виду про то КАК можно представлять мультиязычные строки-тексты в коде 6-ти языков программирования и ЧТО с ними там можно делать. Это совершенно не ординарные вещи. ... С традиционным термином "локализация в операционной системе" это имеет слабую связь.
это и есть "сквозной проект": как работать с РУССКОЯЗЫЧНЫМИ текстами в программном коде + как быть с регулярными выражениями над такими текстами

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 01 фев 2023, 02:39

Olej писал(а):
19 янв 2023, 20:35
это будет
Вот то, что готово на эту дату - 01.02.2023 - редакция №30, 82 стр.
Буду ли активно дорабатывать (расширять ... хотя есть и понятно куда) не знаю.

P.S. Если это кому-то будет интересным, и будут замечания и пожелания - пишите сюда.
Вложения
natiolang_30.odt
(901.27 КБ) 41 скачивание
NatioLang.30.tgz
(122.21 КБ) 41 скачивание

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

национальные языки в программном коде

Непрочитанное сообщение Olej » 17 мар 2023, 11:10

Olej писал(а):
01 фев 2023, 02:39
Буду ли активно дорабатывать (расширять ... хотя есть и понятно куда) не знаю.
Книга (проект книги) выложен на библиотеке Флибуста.
Вот в таком виде:
Вложения
natiolang_31.pdf
(759.93 КБ) 36 скачиваний

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей