LINUX.ORG.RU
решено ФорумTalks

Кириллатиница

 


1

1

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

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

    a b c d e f g h i j k l m n o p q r s t u v w x y z
    а б ц д е ф г ш и й к л м н о п ь р с т у в ю х ы з

Но не весь, а часть букв выкинем (по ходу дела разберёмся, какие). Тут сразу есть проблема с b и p, которые при одинаковом написании имеет разные смыслы. Но на первый взгляд алфавит для представления латиницы получается такой:

a б ц д э ф г h i j к л м н о п q r s т u в w х y з

Итого мы добавили h i j q r s u w - всего 8 букв. Вся кириллица остаётся на месте, итого получается:

а б в w г д е ё ж з и i й j к л м н о п q р r с s т у u ф х ц ч ш h щ ъ ы ь э ю я

Протестируем:

Возьмём, например, произвольный текст из «Авторевю»

    Ездит на автомобилях Mitsubishi Lancer Evolution IX и ГАЗ-21Р

Текст набран одним шрифтом. На кириллатинице он будет выглядеть так:

    Ездит на автомобилях Мiтsuбishi Ланцеr Эволuтioн IХ и ГАЗ-21Р. 

Уффф. Хрень какая-то. Но на то и мозговой штурм, чтобы обсуждать хрень.

Плюсами является:

  • если впихнуть кириллатиницу в одну раскладку, будет гораздо удобнее печатать. Перевод с английского на русский такой масштабной вещи, как ОС, может быть только поэтапным, поэтому длительное время останется необходимость постоянно переключаться. Эта необходимость очень неприятна.
  • некоторые мнемоники (MOV какой-нибудь или ls) вообще вряд ли имеет смысл переводить. Поэтому, если не сделать единую раскладку, неудобство сохранится навсегда. Если же применить кириллатиницу и единую раскладку, то будет лучше.
  • если совпадающие буквы поместить в ASЦII, возникнет неявная кириллизация исходных текстов. Хотя предикат isАлпha станет сложнее. Но эта сложность коснётся только новых идентификаторов, содержащих непересекающиеся с латиницей буквы

Минусы:

  • для случаев, когда нам нужна именно латиница, придётся отвести отдельные коды букв и изменённые начертания. В Uнiцодэ вряд ли найдётся для них место, хотя я ХЗ. Но это не только минус, но и плюс. Т.к. проблема совпадения начертаний некоторых кириллических и латинских букв достаточно актуальна и всё равно то, что в шрифтах они пишутся одинаков - это баг современных шрифтов
  • не совсем ясно, как осуществлять поиск. По идее, поиск по кириллатинице может происходить так:
    • если по слову «жук» ясно, что это кириллица, ищем в кириллице
    • если по слову «worд» ясно, что латиница, ищем в латинице
    • слово «мама» ищем два раза (мама и mama)
    • слово «wой» ищем как слово в кириллатинице - не русское и не английское ,

Перемещено leave из development

★★★★★

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

Ездит на автомобилях Мiтsuбishi Ланцеr Эволuтioн IХ и ГАЗ-21Р.

Из ОП не понятно в чем смысл сего? Экономия 1 бита?

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

любая нормальная цивилизация стремится сама говорить на своём языке

да

и навязывать его другим.

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

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

Для перевода исходников A2 на русский язык.

Замены «for» ==> «фор», «include» ==> «инклюде» это НЕ перевод, это издевательство над читателем. Я лично против такого категорически возражаю.

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

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

Интересно было бы скажем go или rust сделать интернациональными.

Владимир

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

цивилизация умирает. Признаком этого является то, что тема кириллицы в ИТ интересна, так скажем, десятку маргиналов.

зачем ты врёшь? айти - это не только ключевые слова в яп, но и, например, документация, которую тебе не хочется переводить на русский под убогим предлогом якобы тотальной «дырявости линукса»

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

Интересно было бы скажем go или rust сделать интернациональными

Особенно писать по-арабски - справа налево. Или сверху вниз. И чтоб всё это одновременно, ну, хотя бы в одном модуле, единице трасляции. :)

anonymous
()
Ответ на: комментарий от AntonI

Нет, тут не все так просто автор предлагает не

«include» ==> «инклюде»

а «include» ==> «iнклuдэ». Почему - загадка.

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

Особенно писать по-арабски - справа налево. Или сверху вниз. И чтоб всё это одновременно, ну, хотя бы в одном модуле, единице трасляции. :)

Если go или rust подружить с UNICODE, то можно будет в качестве имен полей использовать несколько кодировок одновременно.

Ключевые слова - НЕ ТРОГАТЬ, НЕ ТРОГАТЬ, НЕ ТРОГАТЬ ....

Владимир

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

а с математикой? cos, sin, tg, ctg и т.д.

цоs, siн, тг, цтг

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

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

Ключевые слова - НЕ ТРОГАТЬ, НЕ ТРОГАТЬ, НЕ ТРОГАТЬ ….

И эмоджи - ОБЯЗАТЕЛЬНЫ, МИНИМУМ ТРИ В КАЖДОЙ строке-он-же-столбце-он-же-слева-направо-он-же-справа-налево-он-же-сверху-вниз-возможно-ещё-по-диагонали.

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

Культуру то они будут продвигать, вот только мы уже перехватили инициативу и европейки в диком восторге от русского языка. А тема русификации Си тут уже была. Может удалили. Clang переваривает файл для перевода. Как это оформлять без пропуска строк непонятно. Так что будет вот такой пример русификации.

#define и and

#define ирав and_eq

#define сбор asm

#define само auto

#define мали bitand

#define прав bool

#define да true

#define нет false

#define прервать break

#define случай case

#define взять catch

#define буква char

#define ряд class

#define дов compl

#define пост const

#define постприв const_cast

#define продолжить continue

#define бо default

#define уд delete

#define сд do

#define дпз double

#define дейстприв dynamic_cast

#define др else

#define чряд enum

#define явно explicit

#define внеш extern

#define пз float

#define для for

#define друг friend

#define идти goto

#define если if

#define встроке inline

#define цел int

#define дл long

#define изм mutable

#define примен namespace

#define новый new

#define не not

#define неравно not_eq

#define действ operator

#define или or

#define илиприсв or_eq

#define закрыт private

#define защищен protected

#define открыт public

#define заяв register

#define видприв reinterpret_cast

#define вернуть return

#define ко short

#define зн signed

#define размер sizeof

#define зам static

#define замприв static_cast

#define строй struct

#define смена switch

#define шаблон template

#define этот this

#define бросить throw

#define проба try

#define вид typedef

#define опвид typeid

#define имявида typename

#define союз union

#define бз unsigned

#define исп using

#define произв virtual

#define чист void

#define изменчив volatile

#define ббуква wchar_t

#define пока while

#define иль xor

#define ильрав xor_eq

#define глав main

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

Это лютейший трындец…

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

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

В 1С Истина и Ложь.

Можно True и False.

Приходится частенько писать код для 1С 7.7 и 1С 8.x так вот
ключевые слова у меня всегда на английском, а имена объектов,
реквизитов, … в основном на русском.
Здесь главное «с дури …» /«Гусарам молчать!»/.

Владимир

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

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

xmodmap -e «keycode 67 = apostrophe»

xmodmap -e «keycode 68 = quotedbl»

xmodmap -e «keycode 69 = numbersign»

xmodmap -e «keycode 70 = semicolon»

xmodmap -e «keycode 71 = bracketleft»

xmodmap -e «keycode 72 = bracketright»

xmodmap -e «keycode 73 = ampersand»

xmodmap -e «keycode 74 = bar»

xmodmap -e «keycode 75 = braceleft d»

xmodmap -e «keycode 76 = braceright f»

xmodmap -e «keycode 95 = less t»

xmodmap -e «keycode 96 = greater n»

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

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

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

ключевые слова у меня всегда на английском, а имена объектов, реквизитов, … в основном на русском.

Мне ближе использовать «node», а не «узел», …
А вот «Склад» ни как не «Warehouse».

Владимир

anonymous
()

Продолжаем мозговой штурм по переводу кода на русский язык и восстановлению позиций кириллицы в ИТ.

О чем вы вообще?
В чем проблема?

Владимир

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

букв мало

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

anonymous
()
Ответ на: комментарий от izzholtik

ИНЖАЛИД ДЕЖИЦЕ страйкс эгейн?

Попробуйте китайскую речь кириллизовать …

Владимир

anonymous
()
Ответ на: комментарий от izzholtik

ИНЖАЛИД ДЕЖИЦЕ было первого апреля. Что и сбило ТС ремиссию. А санитары на карантине.

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

Кретиница-карантиница.

Кому это действительно интересно, посмотрите, как у сербов сделано.

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

Если go или rust подружить с UNICODE, то можно будет в качестве имен полей использовать несколько кодировок одновременно.

Не делают это скорее всего из-за того, что линковщики запаникуют или пошлют …

Владимир

anonymous
()

Продолжаем мозговой штурм по переводу кода на русский язык и восстановлению позиций кириллицы в ИТ.

Для начала нужно линковщик и отладчик научить «понимать» libraries в которых для имен используется UNICODE.

Владимир

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

Что именно в ОС перевести на кириллицу?

Всё.

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

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

Это Вы на что-то намекали, в явном виде ничего сказано не было.

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

И где в твоём алфавите ы?

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

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

Смысл: статистически в среднем латиница будет латиницей для часто используемых букв с систематическими «ошибками» для редко используемых букв, аналогично кириллица - кириллицей. А не это безобразие из попыток бессистемной «транслитерации» - «я художник, я так вижу».

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

Это Вы на что-то намекали, в явном виде ничего сказано не было.

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

 - Почему возникают коллизии в грамматиках?

Это не намек.
Добавьте в грамматику Rust возможность использования Unicode для имен и вот вам: кириллизация, японизация, …

Что касаемо коллизий в грамматиках, то попробуйте скажем символ «+» использовать для разной семантики …

Владимир

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

так вот ключевые слова у меня всегда на английском, а имена объектов, реквизитов, … в основном на русском.

Если Вам удобно постоянно переключать раскладку, то Вы в меньшинстве.

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

Смысл: статистически в среднем латиница будет латиницей для часто используемых букв с систематическими «ошибками» для редко используемых букв, аналогично кириллица - кириллицей. А не это безобразие из попыток бессистемной «транслитерации» - «я художник, я так вижу».

Всё равно ничего не понял. Можно чуть подробнее?

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

Добавьте в грамматику Rust возможность использования Unicode для имен и вот вам: кириллизация, японизация, …

Это не кириллизация и не русификация. Т.к. необходимость латиницы сохранится. Сообщения компилятора и библиотечный код сами по себе на РЯ не переведутся. Т.е. это ограниченная русификация, которую скорее следовало бы назвать локализацией. Кроме того, Rusт, как и Го - это не языки моего выбора. А в Го идентификаторы в кириллице уже и так возможны.

Посмотрите на справочник Hutte по машиностроению. Машиностроение в России практически полностью импортное. И что, оно у нас на немецком разве? Нет, оно на русском. Морское дело, со всеми этими рындами и полундрами - на русском, хоть слова и импортные. Пётр I импортировал морское дело. Медицина на русском (и не на латыни ни на какой). Русифицировать медицину, между прочим, начала ещё Екатерина Великая. То же должно произойти и в ИТ.

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

Общий вывод - тема оказалась пока что довольно безполезной. Пойду дальше мучать QEMU :(, а про кириллатиницу подумаю сам, без вас.

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

Если Вам удобно постоянно переключать раскладку, то Вы в меньшинстве.

Да, переключение раскладки не очень удобно.
Кириллизация - часть более общей проблемы.

Ныне все и вся /алгоритмы, языки программирования, …/ «по уши завязли» в ANSII.
Поэтому перестраивать много чего придется.
Работа огромная.

Общий вывод - тема оказалась пока что довольно безполезной. Пойду дальше мучать QEMU :(, а про кириллатиницу подумаю сам, без вас

«Один в поле не воин».

Владимир

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

Итого мы добавили h i j q r s u w - всего 7 букв.

Cмысл в том, чтобы хотя бы в этот список из 7 букв не попали часто используемые буквы (допустим, из центра клавиатуры - h j i u r).

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

Фигню написал

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

Наоборот, чтобы попали самые часто используемые буквы, а не всякие suw, ещё чуть кириллицу поменять, чтобы там были не влезшие в эти 7 другие частые буквы из латинцы.

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

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

Но в чём профит-то будет, если в этот список попаду, скажем, только q и w? Чего мы с помощью этого сможем достичь?

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

Я исправился здесь Кириллатиница (комментарий)

однозначность чтения должна сохраняться

Ты же понимаешь, что этого нельзя добится с таким совмещенным алфавитом. Особенно в «платёжных реквизитах или паролях». Отображаешь алфавит 26+33 –> 33. Большее нельзя однозначно отобразить в меньшее множество.

anonymous
()

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

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

Мы делим все использования языка на два:

  • программирование. Как ни упирайся в кириллизацию, здесь ещё долго (всегда) будет полно латиницы. В программировании мы постулируем, что исходник у нас двухязычный - русско-английский. Нам принципиально неважно, на каком языке конкретное слово, потому что все эти слова - просто идентификаторы. Часть идентификаторов относятся к внешним сущностям (внешние АПI на англ.яз). Часть - внутренние идентификаторы, которые должны быть отличимы друг от друга. Именно в программировании в этом смысле используем кириллатиницу. Но при этом я не говорю о строковых литералах в программном коде! Кириллатиница содержит (в предложенном варианте) 33+7=40 букв. При этом те 26, которые пересекаются с латиницей, кодируются кодами АSЦII. Поэтому любой английский текст в ASЦII автоматически является текстом на кириллатинице. Остальные буквы кириллицы мы куда-нибудь пихаем. Далее, в компиляторах и прочих подобных программах у нас будет два случая:

    • мы не поменяли в них isAлпha. Тогда они продолжат работать на латинце, но сломаются на кириллице
    • мы поменяли isAлпha. Тогда они будут работать на всей кириллатинице.
  • прочие применения языка. Ничего по сути не меняется. Текст остаётся таким же, каким был. Здесь однозначность достигается тем, что применяются только шрифты, в которых кириллица и латиница выглядят всегда по-разному. Это в серьёзных местах. В Авторевю можно вообще всё оставить как есть.

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

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

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

Прежде всего мы на самом деле расширяем латиницу до суммы (латиница+кириллица), чтобы продолжали успешно работать все программы, закодированные в ASЦII, но чтобы понять эту идею, нужно было сначала переварить идею про КОI-7, а сложно ожидать этого любого анонима. А я написал, что мы кириллицу расширяем до суммы (латиница+кириллица), что может ввести в заблуждение.

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

Речь не про фонетику (звуки), а про алфавит (буквы).

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

Для перевода исходников A2 на русский язык.

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

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

См. комментарий на два выше твоего (A2 под линукс имеет баг, из-за которого не работает буфер обмена). Я попытался изложить ещё раз, более подробно. Это, конечно, не перевод, а подход к решению технологических затруднений, повышающий плавность процесса.

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

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

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

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