Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно...
Правда красиво?
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Отвратительно. Попробуй подсунуть ей шестнадцатеричные, знаковые и/или дробные числа (скажем, номера версий).
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Я уже нарвался на эту "красоту". Больше не хочу.
Здравствуйте, Centaur, Вы писали:
C>Отвратительно. Попробуй подсунуть ей шестнадцатеричные, знаковые и/или дробные числа (скажем, номера версий).
Windows Explorer:
test-1.0.12
test-1.2.09
test-1.3.222
test-1.10.5
Обычная:
test-1.0.12
test-1.10.5
test-1.2.09
test-1.3.222
ы?
Шестнадцатеричные подсовывать не буду, не вижу необходимости называть так файлы.
Возможно идиотский вопрос: а это не сортировка по дате для этих (тестовых) фолдеров, т.е. как бы просто unsorted? Как там называется такая "человеческая" сортировка?
Здравствуйте, goto, Вы писали:
G>Возможно идиотский вопрос: а это не сортировка по дате для этих (тестовых) фолдеров, т.е. как бы просто unsorted? Как там называется такая "человеческая" сортировка?
Незнаю как называется. Да нет, сортировка по полю Name. Там же ж такой треугольничек стоит.
Да и сортировка по дате это не unsorted. В неотсортированном списке всё зависит от того как бог в каталог информацию о файле положит.
goto wrote: > Возможно идиотский вопрос: а это не сортировка по дате для этих > (тестовых) фолдеров, т.е. как бы просто unsorted? Как там называется > такая "человеческая" сортировка?
Это сортировка следующим образом: имя файла разбивается на обычные
символы и числа, после чего каждое число притворяется единым символом
для лексикографической сортировки.
по дате — это не unsorted, конечно. Я имел в виду, что можно было создать тестовые директории именно в таком порядке, и они почти наверняка показались бы так без сортировки. Мой вопрос же был "идиоткий".
Такая сортировка — гут. Постоянно имею дело с большим кол-вом нумерованных файлов из разных софтов, иногда приходится ковыряться в них Explorer'ом, и если софт не вставил в номер "leading"-нули, то чисто строковая сортировка неудобна. Не зря же существует очень большое кол-во программок-ренэймеров.
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, Centaur, Вы писали:
C>>Отвратительно. Попробуй подсунуть ей шестнадцатеричные, знаковые и/или дробные числа (скажем, номера версий). F>Windows Explorer: F>
Когда я сортирую версии 3.0, 3.14159265358979323846 и 3.2, я ожидаю, что они пойдут именно в этом порядке.
F>Шестнадцатеричные подсовывать не буду, не вижу необходимости называть так файлы.
А я где-то видел, как приводили пример сортировки каталогов, названных по годам. 310BC, 1917AD. Это, с одной стороны, пример знаковых чисел в нетрадиционной записи, а с другой стороны — их можно было бы принять за шестнадцатеричные.
Вот, а с третьей стороны, должен ли алгоритм сортировки распознавать даты и ставить 09.05.1945 раньше 01.01.2001? А римские цифры? А "eleven", "двенадцать" и "juu-san"? А игнорировать the в начале названия? Если нет, то почему, а если да, то почему и как?
Решение сортировать беззнаковые целые числа в десятичной записи поднимает кучу вопросов про знаковые, дробные, недесятичные, и не-совсем-числа-но-тоже-упорядоченные-множества. Это лишняя сложность и отсутствие прозрачности.
Я предпочитаю называть файлы так, чтобы они естественно сортировались независимо от алгоритма. Это значит — test-012 (если остальные номера не больше 999), test-2006-08-02 (с датами), и test-1.03.222 (если остальные версии имеют два знака во второй части и предполагается, что 3 < 10).
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Здравствуйте, Centaur, Вы писали:
C>Вот, а с третьей стороны, должен ли алгоритм сортировки распознавать даты и ставить 09.05.1945 раньше 01.01.2001? А римские цифры? А "eleven", "двенадцать" и "juu-san"? А игнорировать the в начале названия? Если нет, то почему, а если да, то почему и как?
C>Решение сортировать беззнаковые целые числа в десятичной записи поднимает кучу вопросов про знаковые, дробные, недесятичные, и не-совсем-числа-но-тоже-упорядоченные-множества. Это лишняя сложность и отсутствие прозрачности.
А должен ли он печь пироги и варить кофе? Пол мыть?
Что за чепуха про даты и т.п.? У нас есть два алгоритма: стандартный посимвольный и natural order. Сравниваем один с другим по твоим критериям:
— даты ни один из них не может правильно сортировать
— римские тоже
— eleven тоже
— the тоже
зато обычные цифры natural order сортирует куда лучше. Какие ещё претензии к алгоритму?
Здравствуйте, Centaur, Вы писали:
C>Когда я сортирую версии 3.0, 3.14159265358979323846 и 3.2, я ожидаю, что они пойдут именно в этом порядке.
Ну а я всё таки ожидаю что 3.14 < 3.2. Ну так уж я приучился.
Хотя это ведь всё зависит от того как рассматривать компоненты версии... Всё таки совершенно не очевидно что 3.2.10, это тоже что и 3.200.1, поэтому и проще каждую компоненту воспринимать как число, тем более что сейчас везде так и используется.
C>Вот, а с третьей стороны, должен ли алгоритм сортировки распознавать даты и ставить 09.05.1945 раньше 01.01.2001? А римские цифры? А "eleven", "двенадцать" и "juu-san"? А игнорировать the в начале названия? Если нет, то почему, а если да, то почему и как? C>Решение сортировать беззнаковые целые числа в десятичной записи поднимает кучу вопросов про знаковые, дробные, недесятичные, и не-совсем-числа-но-тоже-упорядоченные-множества. Это лишняя сложность и отсутствие прозрачности.
Какая-то жуткая специфика.
C>Я предпочитаю называть файлы так, чтобы они естественно сортировались независимо от алгоритма. Это значит — test-012 (если остальные номера не больше 999), test-2006-08-02 (с датами), и test-1.03.222 (если остальные версии имеют два знака во второй части и предполагается, что 3 < 10).
test-2006-08-02 в такой форме нормально и сортируются. В обычном нашем порядке — да.
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, Centaur, Вы писали:
C>>Когда я сортирую версии 3.0, 3.14159265358979323846 и 3.2, я ожидаю, что они пойдут именно в этом порядке. F> Ну а я всё таки ожидаю что 3.14 < 3.2. Ну так уж я приучился.
Это одно и то же. Natural order поставит 3.14 после 3.2, я проверял.
C>>Вот, а с третьей стороны, должен ли алгоритм сортировки распознавать даты и ставить 09.05.1945 раньше 01.01.2001? А римские цифры? А "eleven", "двенадцать" и "juu-san"? А игнорировать the в начале названия? Если нет, то почему, а если да, то почему и как? C>>Решение сортировать беззнаковые целые числа в десятичной записи поднимает кучу вопросов про знаковые, дробные, недесятичные, и не-совсем-числа-но-тоже-упорядоченные-множества. Это лишняя сложность и отсутствие прозрачности. F> Какая-то жуткая специфика.
Здравствуйте, Centaur, Вы писали:
C>Здравствуйте, fddima, Вы писали:
F>>Здравствуйте, Centaur, Вы писали:
C>>>Когда я сортирую версии 3.0, 3.14159265358979323846 и 3.2, я ожидаю, что они пойдут именно в этом порядке. F>> Ну а я всё таки ожидаю что 3.14 < 3.2. Ну так уж я приучился. C>Это одно и то же. Natural order поставит 3.14 после 3.2, я проверял.
Я тоже проверял. Я просто опечатался. Я имел ввиду больше, а не меньше.
F>> Какая-то жуткая специфика. C>Не более жуткая, чем натуральные числа.
Но вполне адекватная так же как и даты. Я вот некоторые данные сохраняю в каталогах с нумерацией... причём даты тоже подошли бы, но честно говоря лень их писать, да еще писать в обратном порядке что бы нормально сортировались.
PS: И вообще-то я не собирался тут спорить как лучше, мне показалось это удобным, и захотел обратить на это внимание. А как правильно нумеровать версии и стоит ли это делать вообще — это вопрос совсем даже не сюда.
Здравствуйте, Кодёнок, Вы писали:
Кё>Что за чепуха про даты и т.п.? У нас есть два алгоритма: стандартный посимвольный и natural order. Сравниваем один с другим по твоим критериям:
Кё>- даты ни один из них не может правильно сортировать Кё>- римские тоже Кё>- eleven тоже Кё>- the тоже
Кё>зато обычные цифры natural order сортирует куда лучше.
Это субъективно. Вот отрывок из списка тестовых файлов моего текущего проекта:
На каждой картинке — транспортное средство, а в имени файла — его государственный номер. Ничего общего с натуральными числами эти номера не имеют, кроме того, что местами используют цифры. И я, и мои коллеги, когда ищут в списке такой номер, ожидают его увидеть в том месте, где он должен быть согласно ASCII-сортировке.
Кё>Какие ещё претензии к алгоритму?
Претензии те, что он непомерно усложняется ради единственного частного случая сомнительной полезности. Принцип DWIM никого до добра не доводил.
Здравствуйте, fddima, Вы писали:
F> Но вполне адекватная так же как и даты. Я вот некоторые данные сохраняю в каталогах с нумерацией... причём даты тоже подошли бы, но честно говоря лень их писать, да еще писать в обратном порядке что бы нормально сортировались.
Я приучил себя писать даты в стандартном формате ISO ещё в средней школе, когда не знал ни того, что это стандартный формат ISO, ни что такое ISO вообще. Просто потому, что это логично — ставить старшие единицы вперёд младших, точно так же, как часы перед минутами или тысячи перед сотнями.
Что касается лени, то настоятельно рекомендую её побороть. Потому что у одного моего знакомого «некоторые данные» называются old, new, !new, !!new и !!new^2 (В частности, отсюда правило: ни в одном названии не должно присутствовать слово new. Потому что через две недели оно станет old, а переименовывать будет влом или нельзя.)
Здравствуйте, Centaur, Вы писали:
C>Я приучил себя писать даты в стандартном формате ISO ещё в средней школе, когда не знал ни того, что это стандартный формат ISO, ни что такое ISO вообще. Просто потому, что это логично — ставить старшие единицы вперёд младших, точно так же, как часы перед минутами или тысячи перед сотнями.
Приучился то я тоже давно, и не знал тоже что ISO. Но мне от этого не легче.
C>Что касается лени, то настоятельно рекомендую её побороть. Потому что у одного моего знакомого «некоторые данные» называются old, new, !new, !!new и !!new^2 (В частности, отсюда правило: ни в одном названии не должно присутствовать слово new. Потому что через две недели оно станет old, а переименовывать будет влом или нельзя.)
Ээээ... я собственно эту всю бодягу заметил на install_n1, install_n2... И такие имена исключительно потому что это уноситься домой на сортировку, хотя лучше по датам конечно, но я ж говорю — лень. Про old, new и new2, то у меня уже есть несколько поколений __from_c, __from_d, __from_sys1 и т.д. (после переездов между работами и/или серьёзными изменениями в компутере) Самое интересное что пару раз из них забрал вроде как далеко не всё и больше в них не заглядываю...
Насколько я понимаю, сортировка таких номеров осталась неизменной, Рессурсы требуются копеечные.
Может быть, одна из причин того, что Микрософт сделал такую сортировку, — это резко увеличившегося количества владельцев цифровых фото- и видеокамер, т.к. там могут возникать массовые неудобства с сортировкой. "Владельцы" — это и всякие охранные системы и проч. Хотя не факт.
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Это скорее всего связано с улучшением поддержки мультимедиа в XP. Я не видел никаких официальных документов, но смысл прослеживается четко: с тех пор, как Windows Explorer стал поддерживать режим просмотра filmstrip, задача упорядочивания файлов стала достаточно важной. Проблемы с угадыванием разрядности заранее известны давно: неужто переименовывать 99 картинок при появлении сотой? Вот парни из редмонда и сделали эту простую фичу. Они вообще хорошо продумали некоторые спец.случаи. Попробуйте, к примеру, включить группировку при сортировке по имени файла; по дате модификации; по типу документа.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
G>Может быть, одна из причин того, что Микрософт сделал такую сортировку, — это резко увеличившегося количества владельцев цифровых фото- и видеокамер, т.к. там могут возникать массовые неудобства с сортировкой. "Владельцы" — это и всякие охранные системы и проч. Хотя не факт.
Мой фотоаппарат генерирует имена вида DSCN0023.JPG, с постоянной шириной номера. Не аргумент.
Вот при импорте этих фотографий через MS’овский Scanner and Camera Wizard им даются имена вида Photo 1.jpg, Photo 12.jpg. Но это уже косяк колдуна.
S>Они вообще хорошо продумали некоторые спец.случаи. Попробуйте, к примеру, включить группировку при сортировке по имени файла; по дате модификации; по типу документа.
Как бы еще сделать так, чтобы выбранная мною сортировка сохрагялась. То есть, например, чтобы файлы всегда сортировались по типу
... << RSDN@Home 1.2.0 alpha rev. 655>> ... <<Elvis vs Jxl — A LITTLE LESS CONVERSATION — elvis vs jxl>> ...
...
C>Мой фотоаппарат генерирует имена вида DSCN0023.JPG, с постоянной шириной номера. Не аргумент. C>Вот при импорте этих фотографий через MS’овский Scanner and Camera Wizard им даются имена вида Photo 1.jpg, Photo 12.jpg. Но это уже косяк колдуна.
Таких косых софтов много. Для тех, кто занимается графикой и видео это маленькая, частая, раздражающая проблемка.
Можно сформултровать так: отняли удобства у одних, и отдали другим. Мне новая сортировка удобней, т.к. я запарился, например, уничтожать файлы с 20-го по по 1820-й из последовательности 3000 при нумерации без нулей. Сколько было случаев, когда большая серия фавйлов пререименовывалась неправильно и наступал дрын-дын-дын! В целом же выглядит так, что Микрософт в своем стиле отдал удобства ламерам, т.к. новая сортировка менее строгая, ("менее предсказуемая", скажем так), но более как бы "объяснимая" на житейском уровне.
Здравствуйте, Mamut, Вы писали: M>Как бы еще сделать так, чтобы выбранная мною сортировка сохрагялась. То есть, например, чтобы файлы всегда сортировались по типу
может, порыться в настройках эксплорера? Типа Remember each folder's view settings?
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
S>Здравствуйте, Mamut, Вы писали: M>>Как бы еще сделать так, чтобы выбранная мною сортировка сохрагялась. То есть, например, чтобы файлы всегда сортировались по типу S>может, порыться в настройках эксплорера? Типа Remember each folder's view settings?
Не работает *хнык*. Ладно. Я все равно винду собирался переустанавливать После clran install она у меня обычно перестает глючить 6)
Здравствуйте, Mamut, Вы писали:
M>Не работает *хнык*. Ладно. Я все равно винду собирался переустанавливать После clran install она у меня обычно перестает глючить 6)
Что это такое clran install?
Здравствуйте, fddima, Вы писали:
F>Здравствуйте, Mamut, Вы писали:
M>>Не работает *хнык*. Ладно. Я все равно винду собирался переустанавливать После clran install она у меня обычно перестает глючить 6) F> Что это такое clran install?
clean
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, ZayatsZ, Вы писали:
ZZ>А теперь нажмите в Far'е Ctrl+F12 и выберите "Использовать числовую сортировку".
А теперь запустите TweakUI и выключите в разделе Explorer настройку Use intuitive file sorting. И заодно Manipulate connected files as a unit.
Здравствуйте, fddima, Вы писали:
F>Недавно случайно заметил, что Windows Explorer (по крайней мере в Windows Server 2003) сортирует файлы не в лексикографическом порядке, а в "человеческом". Алгоритма не знаю, но вот на картинке всё видно... F>Правда красиво?
Здравствуйте, Centaur, Вы писали:
C>Здравствуйте, ZayatsZ, Вы писали:
ZZ>>А теперь нажмите в Far'е Ctrl+F12 и выберите "Использовать числовую сортировку". C>А теперь запустите TweakUI и выключите в разделе Explorer настройку Use intuitive file sorting. И заодно Manipulate connected files as a unit.
Здравствуйте, ZayatsZ, Вы писали:
ZZ>>>А теперь нажмите в Far'е Ctrl+F12 и выберите "Использовать числовую сортировку". C>>А теперь запустите TweakUI и выключите в разделе Explorer настройку Use intuitive file sorting. И заодно Manipulate connected files as a unit.
ZZ>Это к чему?
Всё к тому же. Истинная юзабилити — в возможности настроить.