регистрочувствительные имена файлов

Любые обсуждения, не нарушающие правил форума.

Модератор: Модераторы

регистрочувствительные имена файлов

Сообщение DedFrend » 31.05.2020 11:56:52

Кто-нибудь сможет объяснить, зачем в линухе регистрочувствительные имена файлов? Какие это дает преимущества?
Я маленько погуглил. но ничего не нашел. Обычный базар сводится к тому, что в языках программирования используются оба варианта. НО! В языках программирования переменную сначала объявляют, а потом используют. И тут в регистрочувствительности есть некий смысл: запись на Паскале
Код: Выделить всё
  var
    Count: integer;
...
begin
...
   COUNT := cOUNT+1;
...

выглядит не слишком приглядно.
Но имена файлов - сами себе объявления и в необходимости запоминать, кроме написания, еще и регистр лично я ничего, кроме геморроя не вижу. На практике это обычно приводит к тому, что все имена пишутся в нижнем регистре, но тогда тем более непонятно. а на кой она нужна - регистрочувствительность? Надо понимать. что имена нужны только для людей - для компьютера было бы удобнее вообще числа использовать. А регистрочувствительные имена файлов требуют либо дополнительных напрягов для запоминания, либо отказаться от допонительной наглядности в написании.
DedFrend
новенький
 
Сообщения: 77
Зарегистрирован: 25.11.2018 12:21:50

Re: регистрочувствительные имена файлов

Сообщение Pavia » 31.05.2020 12:05:31

Линукс берет свои начала с Unix который появился в 60-тых годах прошлого века. Программистом компьютеры выдавали по часам и у них не было столько времени на отладку как сейчас. И памяти было чучуть и скорость процессора едвили доходил до 100 кГц. И вот все эти баги копятся с тех самых времен.

Добавлено спустя 13 минут 34 секунды:
И вообще ОС писали студенты а у них принцип сдать лабу и забыть, лишь бы работала. С тех пор считается что для студенческого кода допустима завершённость на 15% а для выпускной работы 30%. Это в 90-тых когда персональные компьютеры стали массовыми у насрода появилась возможно писать программы дома и качество возросло в разы.

Это вот WinNT создавалась как 4 поколение ОС. У команды разработчиков был опыт по созданию других ОС. И они строя систему без оглядки на совместимость стоили с нуля, но с багажом знаний и опыта.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 261
Зарегистрирован: 07.01.2011 12:46:51

Re: регистрочувствительные имена файлов

Сообщение Снег Север » 31.05.2020 12:52:06

DedFrend писал(а): а на кой она нужна - регистрочувствительность?

Ни на кой, это - пережиток эпохи полувековой давности, от которого наследникам уже не избавиться.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2547
Зарегистрирован: 27.11.2007 16:14:47

Re: регистрочувствительные имена файлов

Сообщение Дож » 31.05.2020 17:33:45

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

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

При этом в апи был введён флаг FILE_FLAG_POSIX_SEMANTICS (и ключ в реестре ObCaseInsensitive), формально делающий из регистронечувствительного API регистрочувствительное и вносящий возможность несовместимости одних программ с другими.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 849
Зарегистрирован: 12.10.2008 16:14:47

Re: регистрочувствительные имена файлов

Сообщение runewalsh » 31.05.2020 18:18:36

DedFrend писал(а):а на кой она нужна - регистрочувствительность

Вопрос не совсем верен, ведь большие и маленькие буквы считаются разными символами с точки зрения кодировок, и нужно прикладывать дополнительные усилия как раз чтобы обеспечить НЕчувствительность. Поэтому стоит спрашивать «нужна ли нечувствительность».
А она не нужна.
Это легко показать следующим образом: если предположить, что она нужна, тогда ещё нужнее юникодная нормализация имён файлов, чтобы не отличались «é» как один символ U+00E9 и «é» как сочетание буквы «e» (U+0065) с диакритическим знаком ударения «  ́» (U+0301) — чего не наблюдается.
éé.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
runewalsh
постоялец
 
Сообщения: 456
Зарегистрирован: 27.04.2010 00:15:25

Re: регистрочувствительные имена файлов

Сообщение SSerge » 31.05.2020 20:16:54

DedFrend, это не регистрочувствительность. Это - работа с именами файлов, как с информацией, принципиально не подвергающейся непредсказуемым изменениям. Что, в частности, позволяет копировать, перемещать, удалять файлы не-пойми-каких-кодовых-страниц например на тех unix-like операционках, на которых вообще не реализовано понятие локали, кодовой страницы и прочее.
А вот реuистронечувствительность всегда влечёт за собой привязку к какой-нибудь, условно назовём это country - местечковым правилам постоянного искажения имён. В результате может получиться - и получается реально на файловой системе - файлик, который виден под одним именем, а на самом деле имеет другое. Под той же windows на такие файлы порой не действуют даже групповые операции.
:mrgreen: а как забавно, помнится вела себя windows 98 при внезапном обнаружении в директории cd-диска файлика с безобидным именем lpt: или con: ...
SSerge
энтузиаст
 
Сообщения: 888
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: регистрочувствительные имена файлов

Сообщение Снег Север » 01.06.2020 07:09:19

SSerge писал(а):например на тех unix-like операционках, на которых вообще не реализовано понятие локали, кодовой страницы

Ну да, как обычно, косяки и кривые руки разработчиков ОС объявляются фичей.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2547
Зарегистрирован: 27.11.2007 16:14:47

Re: регистрочувствительные имена файлов

Сообщение SSerge » 01.06.2020 10:15:27

Снег Север писал(а):Ну да, как обычно, косяки и кривые руки разработчиков ОС объявляются фичей.


Конечно. Именно к фичам относится гениальная идея разработчиков Windows сделать системной кодировкой русской версии cp1251 и в дельнейшем ввести отдельную кодировку cp866 для консоли. Именно к фичам. :D

Добавлено спустя 2 минуты 10 секунд:
Кстати, то, как реализованы "длинные имена" на FAT32 и как они интерпретируются "национальными" версиями ОС Windows, тоже ни что иное как фича. :D
SSerge
энтузиаст
 
Сообщения: 888
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: регистрочувствительные имена файлов

Сообщение Снег Север » 01.06.2020 10:38:20

SSerge писал(а):как реализованы "длинные имена" на FAT32

Вот - это так типично для линуксойдов, жить прошлым веком, когда мы, виндузятники, давно забыли про FAT32 даже на флешках.
И всё у вас так! (С)
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2547
Зарегистрирован: 27.11.2007 16:14:47

Re: регистрочувствительные имена файлов

Сообщение SSerge » 01.06.2020 10:47:16

Да кто бы сомневался. Самое важное - это уметь правильно закупать необходимые лицензии и планировать бюджет. Для обслуживания - нужно нанять индусов на оутсорсе, они всё сделают.
SSerge
энтузиаст
 
Сообщения: 888
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: регистрочувствительные имена файлов

Сообщение Seenkao » 01.06.2020 11:37:17

SSerge, я думаю бесполезно спорить с теми, кто сидит на винде и думает что если всё привести к общему (лёгкому) виду, то будет правильно и легче. )))

Pavia писал(а): качество возросло в разы.

да уж... качество выросло в разы... как были глюки на глюках, так и остались и ни кто не лезет в дебри их убирать. Просто сверху свой код накидают и думают, что решили проблему.
Seenkao
новенький
 
Сообщения: 36
Зарегистрирован: 01.04.2020 03:37:12

Re: регистрочувствительные имена файлов

Сообщение mig-31 » 01.06.2020 12:52:47

Pavia писал(а):И вообще ОС писали студенты

UNIX не писали студенты. Что касается Linux, так ваше утверждение справедливо только для начального этапа.

DedFrend писал(а):Кто-нибудь сможет объяснить, зачем в линухе регистрочувствительные имена файлов?

Это зависит от используемой файловой системы и ее флагов. Недавно добавили возможность case insensetive для ext4.
mig-31
постоялец
 
Сообщения: 213
Зарегистрирован: 14.07.2011 13:46:48

Re: регистрочувствительные имена файлов

Сообщение Снег Север » 01.06.2020 14:08:48

mig-31 писал(а):Недавно добавили возможность case insensetive для ext4.

Только не рассказывайте это комраду SSerge, а то вызовете когнитивный диссонанс! :mrgreen:
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 2547
Зарегистрирован: 27.11.2007 16:14:47

Re: регистрочувствительные имена файлов

Сообщение SSerge » 01.06.2020 14:48:23

Снег Север, не вызовет. Скорее, у вас может вызвать когнитивный диссонанс, если вы внезапно узнаете, что case insensetive для ext4 сделано совсем не из тех соображений, что вы озвучивали.
SSerge
энтузиаст
 
Сообщения: 888
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: регистрочувствительные имена файлов

Сообщение Vadim » 01.06.2020 16:48:02

SSerge писал(а):Конечно. Именно к фичам относится гениальная идея разработчиков Windows сделать системной кодировкой русской версии cp1251 и в дельнейшем ввести отдельную кодировку cp866 для консоли. Именно к фичам.

Между прочим, виндовозы запрашивали у наших, какую сделать кодировку русского языка. Наши им ответили - не ваше дело. ;-)
Vadim
долгожитель
 
Сообщения: 3894
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

След.

Вернуться в Потрепаться

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

Сейчас этот форум просматривают: MailRu[bot] и гости: 5

Рейтинг@Mail.ru