![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Открыл для себя .info для tree.
Почитал формат. Надо literal tab (0x9) внутри формата.
Закрыл для себя .info.
Идея хорошая, формат слишком суров.
... Когда мы потеряли таб как валидный символ? Наверное, когда С и остальные языки начали принимать его в качестве whitespace separator. В этот момент tab стал redundant и был обречён. Сначала редакторы сделали замену таба на пробелы, потом люди придумали делать табы разной ширины и у них поехала вёрстка смесью табов и пробелов, и они решили её с помощью запрета табов.
После этого редакторы стали использовать замену табов на пробелы, и таб перестал быть literal input и превратился в служебную кнопку класса "F11", каждый вешает на неё что-то своё.
После этого сам символ, вне алфавита, превратился в obscure, а его визуальное сходство с пробелами только ухудшило его карму.
На выходе: отличная идея field separator умерла, потому что визуально была схожа с пробелом и путала. Сначала людям это нравилось, потом стало причиной неприязни.
Если бы с самого начала tab давал визуализацию таблицы... то его бы путали с символом визуализации. Чтобы выжить нормально, tab с самого начала должен был показывать таблицу. Не похожую на любой другой символ, с характерным поведением. Тогда у него были бы шансы остаться на общих правах. Если бы ПО с самого начала использовало символ как разделитель данных, а не символ форматирования...
a = [1 ↹ 2 ↹ 3] - отличный метод перечислять значения в массиве.
func foo(arg1 ↹ arg2 ↹ arg3) - тоже.
cp ↹ source file name ↹ dest file name - отлично. И никакой путаницы с пробелами.
... Все умны задним числом, да?
Почитал формат. Надо literal tab (0x9) внутри формата.
Закрыл для себя .info.
Идея хорошая, формат слишком суров.
... Когда мы потеряли таб как валидный символ? Наверное, когда С и остальные языки начали принимать его в качестве whitespace separator. В этот момент tab стал redundant и был обречён. Сначала редакторы сделали замену таба на пробелы, потом люди придумали делать табы разной ширины и у них поехала вёрстка смесью табов и пробелов, и они решили её с помощью запрета табов.
После этого редакторы стали использовать замену табов на пробелы, и таб перестал быть literal input и превратился в служебную кнопку класса "F11", каждый вешает на неё что-то своё.
После этого сам символ, вне алфавита, превратился в obscure, а его визуальное сходство с пробелами только ухудшило его карму.
На выходе: отличная идея field separator умерла, потому что визуально была схожа с пробелом и путала. Сначала людям это нравилось, потом стало причиной неприязни.
Если бы с самого начала tab давал визуализацию таблицы... то его бы путали с символом визуализации. Чтобы выжить нормально, tab с самого начала должен был показывать таблицу. Не похожую на любой другой символ, с характерным поведением. Тогда у него были бы шансы остаться на общих правах. Если бы ПО с самого начала использовало символ как разделитель данных, а не символ форматирования...
a = [1 ↹ 2 ↹ 3] - отличный метод перечислять значения в массиве.
func foo(arg1 ↹ arg2 ↹ arg3) - тоже.
cp ↹ source file name ↹ dest file name - отлично. И никакой путаницы с пробелами.
... Все умны задним числом, да?
no subject
Date: 2025-08-03 12:20 pm (UTC)no subject
Date: 2025-08-04 07:33 am (UTC)no subject
Date: 2025-08-09 08:59 pm (UTC)ну предложенный вами способ не отличный хотя бы потому, что он визуально тяжёлый. запятая тут куда лучше, она находится ниже ряда основных символов, и за счёт этого является отличным разделителем
no subject
Date: 2025-08-11 12:06 pm (UTC)Суть моей идеи состоит в том, что таб сделали визуально неотличимым от пробела, но с другим поведением. Это казалось хорошей идеей в то время, но оказалось причиной изгнания таба. Если бы таб был визуальным (❖, ⋅) то с ним мы жили бы до сих пор и всё было бы хорошо. И у нас был бы таб во всех человечных форматах (тот же yaml) вместо дефисика для указания элементов списка, разделителем между параметрами всего и всюду.
Но... упущено. Недопробел со странным поведением, убрать, кнопку заабьюзить под другие цели.