Поддерживаются ли русские имена пользователей в Windows?

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

Поддерживаются ли русские имена пользователей в Windows?

Сообщение БудДен » 06.01.21 14:17

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

Для чего нужно считать, что в Windows возможны имена пользователей на русском языке? Мы уже привыкли, что e-mail и имена пользователей во всяческих системах не допускают кириллицу. Мы с этим СМИРИЛИСЬ. И тем самым мы сдали определённую "высоту" на фронте языковой борьбы. И вот теперь у нас уже целая импортозамещающая ОС, где нельзя заводить своё имя на русском языке. А на каком основании мы отступили и смирились? На том, что "эти бусурманские компьютеры по-нашему не понимают". Хорошо это? Нет, это плохо. Сдав одну точку, мы сдадим всё и это уже происходит. ls будет по-английски, потому что "бусурманский компьютер по-нашему не понимает". В стандартных классах Java 5000 английских слов - их надо выучить, потому что "бусурманский компьютер по-нашему не понимает". Стоп, а зачем нам вообще русский язык? Раз бусурманский компьютер по-нашему не понимает, давайте мы просто сами выучимся говорить по бусурмански. А пока будем учить английский, будем читать английские книжки, смотреть американские фильмы. А зачем нам вообще эта Россия тогда? Ведь мы именно к этой точке пришли уже. Как изменить ситуацию? Прежде всего, нужно показать сам факт, что мы отступили и смирились. Но если у нас есть Windows, который по-нашему понимает, то логика, по которой мы отступили, уже не сработает и тогда получается, что мы отступили ПРОСТО ТАК. Т.е., этот пример очень важный. КротОзёр, как Вы считаете, если мы оставим пример, мы уклоняемся от правды? Т.е., если нам нужно одно из двух высказываний "Windows поддерживает русские имена пользователей" и "Windows не поддерживает русские имена пользователей", что, неужели из них второе ближе к правде? Нам нужно снять этот аргумент, чтобы не врать? Но ведь тогда у нас не будет никакого аргумента. Или нам его нужно оставить, но если нам укажут на технические проблемы, то мы ответим, что "да, поддержка русских имён в Windows несовершенна, поскольку исторически компьютеры делались в США для внутреннего употребления. Но она там скорее есть, чем её нет".

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение Павиа » 06.01.21 14:35

Думаю можно на Хабр разметить или как манифест опубликовать.

Аватара пользователя
КротОзёр
Сообщения: 54
Зарегистрирован: 05.01.21 02:16

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение КротОзёр » 06.01.21 20:51

БудДен писал(а):
06.01.21 14:17
Но это, опять же, исторические проблемы, а не свойство сегодняшней версии Windows.
Утверждать так будет корректнее всего. ОС поддерживает, а версии младше WinXP — тем более, но есть ПО для этих ОС, не согласующееся с такой логикой. Оно и может создавать проблемы.
БудДен писал(а):
06.01.21 14:17
Мы уже привыкли, что e-mail и имена пользователей во всяческих системах не допускают кириллицу. Мы с этим СМИРИЛИСЬ.
Кстати, это не совсем так. Стандарт локализации доменных имён оказывает влияние так же на почтовые ящики, ведь их имена содержат доменное имя.

К сожалению, управляет этими стандартами ICANN из США:
https://www.icann.org/resources/pages/idn-2012-02-25-en — про интернациональные домены;
Согласно RFC 6530, введено такое понятие, как "i18n-адрес", кодируемый в кодировке UTF-8, а для обратной совместимости адресов ввели конвертацию адресов в формат Punycode (RFC 3492).
Для поддержки отправки на такие адреса, в RFC 6531 ввели команду "SMPTUTF8".
Однако, тот же Хабр жалуется, что мало кто корректно применяет RFC.
Тем не менее, стандарт не запрещает кодировать адрес электронной почты в UTF-8.
БудДен писал(а):
06.01.21 14:17
КротОзёр, как Вы считаете, если мы оставим пример, мы уклоняемся от правды? Т.е., если нам нужно одно из двух высказываний "Windows поддерживает русские имена пользователей" и "Windows не поддерживает русские имена пользователей", что, неужели из них второе ближе к правде? Нам нужно снять этот аргумент, чтобы не врать? Но ведь тогда у нас не будет никакого аргумента. Или нам его нужно оставить, но если нам укажут на технические проблемы, то мы ответим, что "да, поддержка русских имён в Windows несовершенна, поскольку исторически компьютеры делались в США для внутреннего употребления. Но она там скорее есть, чем её нет".
Соглашательство не стоит смешивать с констатацией фактов:
  • Microsoft попыталась внедрить поддержку интернациональных имён пользователей и не только их.
  • Выполнено это несколько коряво, т.к. необходимо было вводить проверку текста на всех этапах обращения к WINAPI.
  • Это — не наша ошибка, и мы за неё не обязаны нести ответственность, а потому подстраиваться так же нельзя.
Уповать на поддержку русского языка в Windows вполне возможно, но с осторожной оговоркой: "не всё ПО это понимает".
БудДен писал(а):
06.01.21 14:17
да, поддержка русских имён в Windows несовершенна, поскольку исторически компьютеры делались в США для внутреннего употребления. Но она там скорее есть, чем её нет
Что отражает сказанное мной: "Поддержка русских имён там есть, но на костылях".

Про GNU/Linux можно сказать, что инерция сообщества Open Source не заметила изменения правил игры, а потому не внесла поддержку UTF-8 на этом уровне в ОС. Ведь для этого потребуется внести сквозную поддержку UTF-8 прямо в ядро Linux, где слишком много функций обрабатывают строки как 8-битные.

В целом IT-сфера США не сильно готовилась к подселению в неё иностранных языков, но интернационализация групп разработки в компаниях "Силиконовой Долины" и расширение рынков сбыта заставили их принять такие правила, но не в ущерб идеям гегемонии.

Ещё раз, это — их ошибки, не наши.

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

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение БудДен » 06.01.21 23:59

Ну ок, значит, это можно оставить? Насчёт доменных имён, да, тут прогресс есть, хотя punycode - это скорее похоже на издевательство. Начнём с того, что тут есть такая дыра, что отображение не взаимно-однозначно, т.е. более одного punycode может означать одно и то же русское имя. ЕМНИП.

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

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

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение БудДен » 07.01.21 00:04

Павиа писал(а):
06.01.21 14:35
Думаю можно на Хабр разметить или как манифест опубликовать.
Не понял. Что именно?

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение Павиа » 11.01.21 10:45

БудДен писал(а):
07.01.21 00:04
Павиа писал(а):
06.01.21 14:35
Думаю можно на Хабр разметить или как манифест опубликовать.
Не понял. Что именно?
Как что? Первый пост. Написан хорошо либо как манифест или как воззвание к чувствам не равнодушных людей.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение Павиа » 11.01.21 10:58

КротОзёр писал(а):
06.01.21 20:51
Про GNU/Linux можно сказать, что инерция сообщества Open Source не заметила изменения правил игры, а потому не внесла поддержку UTF-8 на этом уровне в ОС. Ведь для этого потребуется внести сквозную поддержку UTF-8 прямо в ядро Linux, где слишком много функций обрабатывают строки как 8-битные.
ОС Линукс это POSIX. Там из 1000 апишек не по стандарту сделаны от силы 5.
Тут если только в комитет POSIX написать. С таким же успехом можно и в спорт лато написать. Комитет по POSIX хотя и вносит правки, однако сам стандарт фактически не изменяется.

Единственный выход это делать трансляцию. Выделить группы имён с 500 по 1000 и с 1500 до 2000. Стоит учесть корпоротивные сети с 15 000 рабочих мест.
И это уже кажется не такой простой задачью.

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

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение БудДен » 11.01.21 17:35

Не, на Хабре это будет первое и последнее, что я напишу. Я не играю в эти игры. Мы тут в соседней теме уже пришли к выводу, что нужно создавать "свой хабр". Как вариант, нужно раз в неделю покупать новый аккаунт и писать от его имени, но нафиг это надо?

Аватара пользователя
КротОзёр
Сообщения: 54
Зарегистрирован: 05.01.21 02:16

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение КротОзёр » 13.01.21 00:06

Павиа писал(а):
11.01.21 10:58
ОС Линукс это POSIX. Там из 1000 апишек не по стандарту сделаны от силы 5.
Тут если только в комитет POSIX написать. С таким же успехом можно и в спорт-лото написать. Комитет по POSIX хотя и вносит правки, однако сам стандарт фактически не изменяется.

Единственный выход это делать трансляцию. Выделить группы имён с 500 по 1000 и с 1500 до 2000. Стоит учесть корпоративные сети с 15 000 рабочих мест.
И это уже кажется не такой простой задачей.
В целом, не вижу смысла в модификации ядра Linux. Как бы миролюбиво я нему не относился, этот проект безнадёжно морально и технически устарел. Т.е., не стоит ждать от GNU/Linux поддержки локализованных имён пользователей. Лучше не допускать игнорирования их в новых или кардинально переработанных ОС. Linux, даже как ядро, слишком огромен, а потому инертен.

Если подходить к ядру ОС с современной точки зрения, оно не должно быть слишком сложным и всеобъемлющим. Сейчас играет роль деление ответственности между ядром и прошивкой самого оборудования. Типичный пример - накопительная система с поддержкой протокола NCQ в рамках программного интерфейса AHCI. ОС лишь ставит задачу перед контроллером DMA, а тот сам общается с прошивкой накопителя, после чего совместно исполняют транзакции в обход процессора. Участие ядра ОС тут минимально. Современное "железо" учится договариваться между собой самостоятельно.

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

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

Вместе с тем, многие устали от такого явления, как "падение" ядра вслед за модулем. Да, это уже частично решено, от современного ядра ждут способности "откатить" произведённые изменения контекста или структур, если возникает внештатная ситуация. Всё это уже никак не вяжется ни с POSIX, ни с моноядерной архитектурой.

Павиа
Сообщения: 136
Зарегистрирован: 23.05.19 21:28

Re: Поддерживаются ли русские имена пользователей в Windows?

Сообщение Павиа » 14.01.21 10:49

Пример с контроллером DMA надуманный. Так как в современных компьютерах он не используется.
DMA - Direct Memory Axcess, в переводе означает прямой доступ к памяти - ПДП.
Контроллер НЖМД обращается напрямую к памяти минуя ЦП, что и называется ПДП.
А если обработка не требуется, то и нет разницы, в какой кодировке он представлен.
Экранирующие символы придумали давно. И как в G-Code где М-124 включает вентилятор М-125 подогрев стола М-126 готовит вам кофе. ;)
Это все от слабой документации которая позволяет такие вот вольности.

Что бы догавриваться нужен общий язык. Такой язык сделали в USB (технология PnP) он решает частные задачи.
Вот только ОС, в таком случае, больше не несёт ответственности за сам текст, лишь за передачу его в любых возможных современном и будущем форматах.
В СУБД после построения запроса на императивном языке. Строить его дерево и оптимизируется порядок работы для минимизации циклов и обращений. (Привет Кантеру)

Так и в современных ОС семейства Виндоус. Есть сервисы MMAgent и NET Runtime Optimization Service которые занимается оптимизацией бинарных программ. После связывания DLL этот процесс периодически просматривает процессы ОС и оптимизирует обращения долгих циклов. Правда они не могут решать глобальные задачи, а только частные. Как то оптимизировать GetPixel и SetPixel.
Вместе с тем, многие устали от такого явления, как "падение" ядра вслед за модулем. Да, это уже частично решено, от современного ядра ждут способности "откатить" произведённые изменения контекста или структур, если возникает внештатная ситуация.
Откаты делается через журналирование. Что снижает скорость работы и сами журналы съедают кучу памяти. Я у себя дома включил версионирование моих документов и в случае сбоя я могу восстановить файл из истории за неделю. И в Яндекс диске тоже был случай затер новые файлы старыми, пришлось восстанавливать файл. Зашёл к ним на сайт и выбрал файлы там за месяц хранятся.
Всё это уже никак не вяжется ни с POSIX, ни с моноядерной архитектурой.
Нормально вяжется, просто есть АПИ которое может работать паральльно с ПОСИКСом. Я вон ребятам из астралинукса писал что бы версионирование сделали, а они говорят делайте снепшоты. А я говорю это прожорливое, они сказали им не нужно.

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

Ответить