>>А ты в курсе из-за чего Авиабаза переезжает сейчас на новый сервер? В первую очередь - из-за plain/text.TEvg>Это совсем другая песня. Я же не призываю БД отменить.
Так вот реестр - и есть обычная база данных
TEvg>А системе зачем конфиги приложений? Системе нужны системные конфиги. Сваливать все в кучу не есть хорошо.
Между прочим, механизм работы с простыми INI-шниками никто не отменял. А многие программы, в т.ч. и популярные хранят свои настройки у себя. Реестр же сделан в первую очередь для самой операционки.
TEvg>Да... Как сложно.. Без 10 мег исходных данных эта задача невыполнима.
Почему без 10 мег? Вот у тебя в системе зарегистрирована сотня типов файлов. Это тысячи, если не десятки тысяч ключей. Чтобы выбрать из них нужные при сохранении в обычных файловых системах ты должен перебирать в среднем до половины из них. Слава Богу, NTFS реализована в виде БД - там перебирать уже надо меньше. Но всё равно конечные файлы ты должен считать и отпарсить. Даже если это килобайтные файлы - это уже много!
У меня сейчас нет ни одного установленного SDK под рукой - если тут есть у кого - попробуйте, создайте файл с 10000 ключами и посмотрите, сколько в реднем времени уйдёт на выборку произвольного ключа.
TEvg>Проиндексируй 1 кб.
Так зачем тебе это делать, если система уже озаботилась?
TEvg>Угу. Только пихать настройки в базу (одну) совершенно не обязательно.
А ты никогда не смотрел, как реализованы настройки в Linux?
Тоже все в одном месте - каталог /etc. Кстати, в голой только что поставленной ненастроенной системе он весит уже около 3Мб. И все файлы, к которым требуются частые обращения уже давно индексируются в .db
Ещё пара лет пройдёт, их начнут объединять или сразу запихнут в тот же MySQL
И выйдет тот же самый реестр...
TEvg>Была такая програмка - Norton Commander. Я в нем была такая фича - обработка расширений. Все, знаешь, работало. Быстро. Без реестров. На 286 машине.
Ну не сравнивай ты ... сам знаешь, что с чем
В Нортоне просто по расширению запускалась программа. Кстати, если прописать сотню расширений - уже будут тормоза... А тут для каждого файла кроме дефолтового есть опциональные обработчики расширений, пункты контекстного меню, в т.ч. каскадные, всякие иконки, представления и прочее, прочее... Так что банальный вызов контекстного меню приводит к нехилому перебору ключей.
2Mishka - дело говоришь! Особенно про поиск предыдущих версий
Ох и затрахало меня разбирать старые Linux'ы, где по три штуки Апача стоит
Vale>А какое дело администратору до установок (предположим) цвета кнопочек в моей программе? Зачем ему ЭТО?
Далеко не у всех дома у каждого члена семьи по компьютеру есть
А когда на компьютере сидит больше одного человека тут и начинаются вечные конфликты цвета кнопочек
Реестр же позволяет гибко подменять индивидуальные настройки программ при смене юзверей.
Альтернативный подход - хранить настройки в персональных каталогах пользователей, как в Linux. Но и тут все настройки хранятся в одном месте. И это место - не рабочий каталог программы