о файловой системе
Jan. 4th, 2006 07:15 pmНу хорошо. Может она, иерархическая файловая система то есть, действительно не нужна?
Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?
Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.
Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").
Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.
Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.
Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).
"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.
Не будет работать? Слишком сложно? Слишком неинтуитивно?
Все эти каталоги в каталогах. Широченное дерево, ползучее. Кто сказал, что именно так должно быть?
Вот в последнее время так популярно стало вместо иерархии делать метки. Вместо иерархического дерева закладок - del.icio.us, с тагами на каждом URLе. Вместо иерархического дерева фотоальбомов - Flickr с тагами на каждой картинке. И так далее.
Давайте скажем: нет никакой иерархической файловой системы. Есть файлы. У каждого файла есть набор меток. В некоторых случаях эти метки хранятся вместе с самим файлом, в некоторых - отражают то, где он хранится ("cd").
Если у файла есть метка "program", его можно запустить. Конфигурационные файлы помечены "config", а конфигурационные файлы системы имеют метки "config" и "system" одновременно. Плюс метку определённого пакета или модуля, в случае надобности.
Директорий нет. Вместо понятия текущей директории есть понятие текущего набора меток, который включает в себя те метки, что я хочу видеть, и, возможно, какие-то, которых не хочу (так файлы "system" будут скрыты от обычного пользователя). Вместо команд "dir" и "ls" есть команда, которая показывает все файлы, отвечающие текущему набору меток. Если у компьютера есть несколько пользователей, файлы каждого помечены меткой его username. Вместо команды "cd" есть команда, меняющая текущий набор меток. Графические программы для работы с файлами делают понятие текущего набора меток наглядным и легко изменяемым.
Гмм... что делать в ситуации, когда у двоих людей есть разные файлы с одинаковым именем? Скажем, что есть метки косметические, а есть существенные. Существенные метки являются частью идентичности файла; могут существовать два разных файла с одним именем, но разным набором существенных меток. Но если набор существенных меток одинаков и имя одно и то же, это один и тот же файл (у которого можно менять набор косметических меток) (update: возможно, косметические метки не нужны, пусть все будут существенные?).
"Копировать файл" означает клонировать его и изменить какую-нибудь существенную метку (или добавить). Например: я программист и у меня есть проект foo, в котором 100 файлов. Я хочу сделать новую копию всего проекта и работать над ней. Создаю новую существенную метку current и клонирую весь проект в неё. Аналогом переноса файла из одного каталога в другой теперь является изменение набора существенных меток (без клонирования). Записать набор файлов на USB-диск означает выделить нужный набор файлов и склонировать их с меткой usb.
Не будет работать? Слишком сложно? Слишком неинтуитивно?
no subject
Date: 2006-01-04 05:19 pm (UTC)no subject
no subject
Date: 2006-01-04 05:23 pm (UTC)no subject
Date: 2006-01-04 05:25 pm (UTC)no subject
Date: 2006-01-04 05:25 pm (UTC)нынешняя техника и не такую плоскоту потянет.
иерархическая она ж ведь не только из-за порядка выбрана была, а ещё чтобы перебор сузить.
у меня на диске D: полмиллиона файлов.
Date: 2006-01-04 05:26 pm (UTC)no subject
Date: 2006-01-04 05:26 pm (UTC)Имя файла
Date: 2006-01-04 05:27 pm (UTC)no subject
Date: 2006-01-04 05:27 pm (UTC)Ну, и прикрутить такое сверху любой файловой системы, прозрачно для пользователя, тоже, в общем, несложно, даже не меняя собственно принципов того, какова структура помещения битов на диск.
no subject
Date: 2006-01-04 05:27 pm (UTC)no subject
Date: 2006-01-04 05:27 pm (UTC)Re: у меня на диске D: полмиллиона файлов.
Date: 2006-01-04 05:30 pm (UTC)Надо только придумать удобные команды, позволяющие узнать, какие есть "поблизости" интересные метки, чтобы их добавить/посмотреть. Не очень ясно, что значит "поблизости", надо подумать. Т.е. проблемы с миллионом файлов нет, а вот с десятком тысяч меток - может быть.
no subject
Date: 2006-01-04 05:32 pm (UTC)no subject
Date: 2006-01-04 05:33 pm (UTC)no subject
Date: 2006-01-04 05:33 pm (UTC)Конечно. Фигня все эти метки. Точнее не фигня, а мелкий полезный инструмент, типа этих жёлтых post-it наклеечек. но мы ведь не пишем всё на этих стикерах? Вот и метки не надо притягивать за уши ко всему подряд.
Концепцию файлов и папок человеку, не страдающему олигофренией, можно объяснить за 1 минуту. Никакого бэкграунда при этом не требуется, специальных знаний о компьютере тоже. А если он за минуту не понял, то он и как на клавиатуре работать, тоже не поймёт. Shift какой-то, ctrl. Мутотень.
no subject
Date: 2006-01-04 05:34 pm (UTC)Прикрутить сверху файловой системы немудрено, ясно, что можно базу данных поставить и всё по ней искать с точки зрения GUI определённых приложений. Мне интересно вот что: можно ли вообще обойтись без иерархической файловой системы. Так чтобы всё было без неё, абсолютно, а не "на нижнем уровне" с ней для администраторов и разработчиков.
no subject
Date: 2006-01-04 05:34 pm (UTC)часть меток будет генериться автоматически (полный путь, имя файла, расширение, атрибуты, теги из мп3-файлов итд)
в итоге каждый сможет пользоваться тем что ему удобнее; кто-то предпочтет скопировать файлы в другой каталог фаром (и при этом у новых файлов автоматически обновятся метки), кто-то будет делать то же самое но через какой-нибудь MS Tag Manager
а вообще идея с метками очень правильная - скажем, когда я запихиваю файл в свою коллекцию софта, каждый раз приходится решать в каком фолдере ему место; скажем плагины для Неро могут быть в multimedia\video\encoders, а могут быть и в hardware\cd\write\nero\plugins
в сличае с метками я просто вешаю обе метки и все ок (некий аналог shared files из VSS)
no subject
Date: 2006-01-04 05:36 pm (UTC)no subject
Date: 2006-01-04 05:37 pm (UTC)no subject
Date: 2006-01-04 05:37 pm (UTC)каждый раз приходится решать в каком фолдере ему место
вот-вот, схлопывание многие вопросы упрощает. Проблема разобраться в том, не слишком ли сильно иногда :)
no subject
Date: 2006-01-04 05:39 pm (UTC)no subject
Date: 2006-01-04 05:43 pm (UTC)иерархическая система - частный случай системы меток
no subject
Date: 2006-01-04 05:43 pm (UTC)А почему Вы говорите, что WinFS — иерархическая. Насколько я понимаю, иерархия там только моделируется для совместимости, но на самом деле она полностью на метках. Другое дело, что в Висте они пока сделали не WinFS, а какие-то временные костыли.
Re: у меня на диске D: полмиллиона файлов.
Date: 2006-01-04 05:44 pm (UTC)если взять историческую аналогию - задолго до компьютеров были большие библиотеки.
файлыкхм.. книги расставляются по полкам, стеллажи упорядочены, кроме того присутствуетMFT или FATгмм... каталогпотому как сегодня мне надо придвинуть один стеллаж поближе, а завтра понадобится другой, а послезавтра третий.. а их тематика не имеет между собой ничего общего, так что "близость" - понятие и впрямь плохо формализуемое, плюс проблему создадут не столько десятки тысяч многофунциональных, попадающих под несколько классов рубрикатора, а несколько тысяч охх..
файловкнижек, которые не укладываются ни в какую осмысленную классификацию и из-за них рубрикатор начинает распухать и терять свою собственную упорядоченностьдля примера можно поиграться со своей домашней библиотекой или коллекцией аудио- и видео- записей, поклеить цветные стикеры и попытаться окинуть полку общим взглядом - если носителей много, то запестрит в глазах и чего-нибудь да и не разглядишь
no subject
Date: 2006-01-04 05:46 pm (UTC)