Наивный вопрос про Виндуза и регистри
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Наивный вопрос про Виндуза и регистри
Никогда не мог понять - почему и зачем в виндузах придумано и сделано централизованное хранилище сеттингов всех установленных программ/систем - регистри?! Какой в этом философский смысл?!
Неужели не проще хранить все сеттинги программы - локально, в пространстве этой программы? В OS/2 например все засовывали в расширенные атрибуты файловой системы. Милое дело - установленная программа легко копировалась/переносилась/бэкапилась.
А в этих идиотских виндузах все завязано на центральные регистри. Мало того, что ни перенести программу, ни забэкапить ее по человечески, так еще это регистри всяким дерьмом постоянно забивается...
Зачем?!
P.S. Эх, все-таки ИБМ - сволочи! Такую классную операционку (OS/2) загубили
Неужели не проще хранить все сеттинги программы - локально, в пространстве этой программы? В OS/2 например все засовывали в расширенные атрибуты файловой системы. Милое дело - установленная программа легко копировалась/переносилась/бэкапилась.
А в этих идиотских виндузах все завязано на центральные регистри. Мало того, что ни перенести программу, ни забэкапить ее по человечески, так еще это регистри всяким дерьмом постоянно забивается...
Зачем?!
P.S. Эх, все-таки ИБМ - сволочи! Такую классную операционку (OS/2) загубили
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
Ну вот придумали .Net.
И теперь настройки хранятся вместе с программой.
И теперь настройки хранятся вместе с программой.
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Re: Наивный вопрос про Виндуза и регистри
VBez wrote:Ну вот придумали .Net.
И теперь настройки хранятся вместе с программой.
Кстати, а физически - где хранятся?
И чем плохи ЕА? В ntfs они вроде как тоже есть, посколько ntfs - родной брат hpfs. Это-ж вроде как один из последних примеров совместной разработки ИБМ и МС?! (Как выяснилось - ЕА были в ntfs до вин2000. С выходом вин2к ЕА в ntfs исчезли.)
То есть - что такого придумано в .НЕТ, что позволяет локально хранить сеттинги, чего нет без .НЕТ? Неужто ради реализации пары методов типа LocalProperties.put(String key, Object value) и LocalProperties.get(String key) нужно было целый .НЕТ наворачивать?! :-О
Last edited by deim on 01 Mar 2004 16:13, edited 1 time in total.
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
Ты хочешь поговорить про .Net
Давай поговорим. У тебя белые - нападай первый
А человек просто спросил - почему все настройки лежат в одном месте. Я и ответил - что теперь(с появлением НЕТа) настройки принято хранить вместе спрограммой. По крайней мере я так это понял.
Конечно все это делается и без НЕТа.
Но раньше принято было хранить настройки либо в реестре, либо в ini файлах.
С нетом пришел XML. И стало ГОРАЗДО легче сохранять настройки локально.
Давай поговорим. У тебя белые - нападай первый
А человек просто спросил - почему все настройки лежат в одном месте. Я и ответил - что теперь(с появлением НЕТа) настройки принято хранить вместе спрограммой. По крайней мере я так это понял.
Конечно все это делается и без НЕТа.
Но раньше принято было хранить настройки либо в реестре, либо в ini файлах.
С нетом пришел XML. И стало ГОРАЗДО легче сохранять настройки локально.
Last edited by VBez on 01 Mar 2004 16:14, edited 1 time in total.
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
-
- Уже с Приветом
- Posts: 2191
- Joined: 04 Nov 2001 10:01
- Location: Новый cвет
Re: Наивный вопрос про Виндуза и регистри
deim wrote:Никогда не мог понять - почему и зачем в виндузах придумано и сделано централизованное хранилище сеттингов всех установленных программ/систем - регистри?! Какой в этом философский смысл?!
Да, это часто неудобно, но философский смысл в том, насколько мне кажется (товарищи из MS, надеюсь, меня поправят), что программа может "запрятать" в реестре свои ключики, которые не удаляются при обычной деинсталляции продукта и если вы решите, например, переинсталлировать пробную версию, что бы продлить срок её использования, то большинство определит что до этого вы её уже использовали и ваше время истекло.
Собственно MS только создала для этого основу, а уж программистам самим решать - использовать реестр или нет. Есть много программ которые его не используют и хранят настройки в своих файлах, так что обижаться больше нужно на производителей стороннего софта, которые используют реестр.
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Re: Наивный вопрос про Виндуза и регистри
VBez wrote:Ты хочешь поговорить про .Net
Давай поговорим. У тебя белые - нападай первый
А человек просто спросил - почему все настройки лежат в одном месте. Я и ответил - что теперь(с появлением НЕТа) настройки принято хранить вместе спрограммой. По крайней мере я так это понял.
Конечно все это делается и без НЕТа.
Но раньше принято было хранить настройки либо в реестре, либо в ini файлах.
С нетом пришел XML. И стало ГОРАЗДО легче сохранять настройки локально.
Тот человек - это я и есть Я честно понятия не имею - что и как сделано в .НЕТ И я сразу извиняюсь, если мои слова будут казаться язвительными - ничего личного
Ок, понятно, то есть в .НЕТ все на хмл, и через это стало проще сохранять локально. А что, до того, как изобрели хмл - совсем трудно было что-то хранить? Понятие проперти-файла вроде как совсем простое (боюсь произносить слово hashtable, но очень хочется , неужели без хмл это так трудно?! И снова про старинную ос/2 - тогда про хмл никто ничего не слышал, а все хранили локально - герои невидимого фронта?
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Re: Наивный вопрос про Виндуза и регистри
Vasik wrote:Да, это часто неудобно, но философский смысл в том, насколько мне кажется (товарищи из MS, надеюсь, меня поправят), что программа может "запрятать" в реестре свои ключики, которые не удаляются при обычной деинсталляции продукта и если вы решите, например, переинсталлировать пробную версию, что бы продлить срок её использования, то большинство определит что до этого вы её уже использовали и ваше время истекло.
Ага, понятно, спасибо. То есть вот ради этой идиотской возможности - все проблемы?!
Vasik wrote:Собственно MS только создала для этого основу, а уж программистам самим решать - использовать реестр или нет.
Ну конечно, только почему-то 99% программ как бараны пишут все в регистри. Уже целая индустрия родилась - тулзы для починки/чистки регистри, делающие свое дело с грехом пополам.
Vasik wrote:Есть много программ которые его не используют и хранят настройки в своих файлах, так что обижаться больше нужно на производителей стороннего софта, которые используют реестр.
Навскидку могу назвать только eMule. Вот удивительно - почему при наличии выбора - писать локально или глобально в реестр - большинство выбирают запись в реестр?! Там что, медом намазано, или локально писать сильно неудобно?
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
Тот человек - это я и есть [.quote]
Сорри. Недосмотрел.Ок, понятно, то есть в .НЕТ все на хмл, и через это стало проще сохранять локально. А что, до того, как изобрели хмл - совсем трудно было что-то хранить? Понятие проперти-файла вроде как совсем простое (боюсь произносить слово hashtable, но очень хочется , неужели без хмл это так трудно?!
Да наверное совсем не трудно.
Но ГОРАЗДО легче работать с XML(стандарт как-никак), чем самому придумывать формат файла с настройками.
А писать/читать ini файлы говорят труднее чем читать/писать xml(не знаю - не видел).И снова про старинную ос/2 - тогда про хмл никто ничего не слышал, а все хранили локально - герои невидимого фронта?
Тоже никогда не видел.
Но сегодня приложения не те.
Да и программеры тоже. Сегодня подавай людям фреймворки высокоуровневые. Чтобы все было полегче, побыстрее, покрасивше,
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
Сорри за левое сообщение.
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Re: Наивный вопрос про Виндуза и регистри
VBez wrote:Но ГОРАЗДО легче работать с XML(стандарт как-никак), чем самому придумывать формат файла с настройками.
А писать/читать ini файлы говорят труднее чем читать/писать xml(не знаю - не видел).
Я все-таки позволю себе не согласиться с этим Все-же применение хмл требует как минимум зацепить какой-нть парсер, НАМНОГО более навороченный чем примитивное чтение пар ключ=значение из проперти-файла
VBez wrote:Но сегодня приложения не те.
Да и программеры тоже. Сегодня подавай людям фреймворки высокоуровневые. Чтобы все было полегче, побыстрее, покрасивше,
Да что-же такого крутого в сегодняшних программах, что они разучились по-человечески работать?!
Хотя с другой стороны я как раз об этом изначально и спрашивал - правда-ли, что отсутствует удобная возможность локального хранения сеттингов? То есть если народ массово выбирает регистри вместо локального хранения, значит им так удобно, и локально хранить совсем не удобно. То есть опять все свелось к тому, что мерзопакостный Микрософт - причина всех бед?!
P.S. А про то, что народ писать разучился - наверное правда. Поставил вчера мелкую программку - апдейт айпи адреса на ДинДНС. Все хорошо, работает, ну, как обычно, что-то в регистри записала (зачем?!), но не это интересно. Поражает другое - объем 4.5 мегабайта!!! Программа из одного маленького диалога с двумя закладками, из которых одна - About!!!
Выкачал другую почти аналогичную тулзу - оказалась на яве и с исходником, без гуя. Исходник - 150 строк включая множество комментариев. Скомпилированная - 3кб. Почему гуевая виндузовая 4.5мегабайта?! :-О
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
:-) Я все-таки позволю себе не согласиться с этим Все-же применение хмл требует как минимум зацепить какой-нть парсер, НАМНОГО более навороченный чем примитивное чтение пар ключ=значение из проперти-файла
Для чтения XML все уже написано.
Чтение/запись xml на C# - это около 10-20 строк кода.
А если писать на C++ используя COM - получится гораздо больше и страшнее.
Да что-же такого крутого в сегодняшних программах, что они разучились по-человечески работать?!
А кто сказал, что они разучились.
Нет - они привыкают к фреймворкам.
Раньше вон и машины каждый себе строил, а теперь на бэхах и айди рассекают.
Хотя с другой стороны я как раз об этом изначально и спрашивал - правда-ли, что отсутствует удобная возможность локального хранения сеттингов?
Ну я допустим не знаю какой-то старой библиотеки для работы с настройками. Тоесть если бы я хотел сохранить настройки - я или использовал бы режистри или придумывал свой формат для файла с настройками. Писал бы валидацию данных из этого файла, ... В общем намучался бы.
Поставил вчера мелкую программку - апдейт айпи адреса на ДинДНС - объем 4.5 мегабайта!!!
На дельфях наверное написана.
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Re: Наивный вопрос про Виндуза и регистри
VBez wrote::-) Я все-таки позволю себе не согласиться с этим Все-же применение хмл требует как минимум зацепить какой-нть парсер, НАМНОГО более навороченный чем примитивное чтение пар ключ=значение из проперти-файла
Для чтения XML все уже написано.
Чтение/запись xml на C# - это около 10-20 строк кода.
А если писать на C++ используя COM - получится гораздо больше и страшнее.
Да зачем-же в рукопашную-то?! Неужто в виндузах нет АПИ для работы с ресурсами/пропертями?! Неужели только хмл, и больше ничего? Остальное - только врукопашную?! Я извиняюсь, я под виндуза ничего не писал последние лет 7-8. Пишу на яве, и почему-то никаких проблем не вызывает пользоваться и хмл когда нужно, и ресурсы подгружать, и проперти файлы писать/читать когда хмл слишком велик для мелкой задачи. Неужели простое начилие АПИ под хмл заставляет всех "из пушек по воробьям" лупить?!
VBez wrote:Да что-же такого крутого в сегодняшних программах, что они разучились по-человечески работать?!
А кто сказал, что они разучились.
Нет - они привыкают к фреймворкам.
Раньше вон и машины каждый себе строил, а теперь на бэхах и айди рассекают.
Что-то мне это напоминает... Мартышка и очки?! Типа - программер/архитектор изучил новый АПИ, и начинает новую игрушку пропихивать везде - где нужно и где не нужно?
VBez wrote:Хотя с другой стороны я как раз об этом изначально и спрашивал - правда-ли, что отсутствует удобная возможность локального хранения сеттингов?
Ну я допустим не знаю какой-то старой библиотеки для работы с настройками. Тоесть если бы я хотел сохранить настройки - я или использовал бы режистри или придумывал свой формат для файла с настройками. Писал бы валидацию данных из этого файла, ... В общем намучался бы.
:-О Я извиняюсь, конечно, не совсем корректно приводить пример из явы в обсуждении аспектов программирования под виндуза, но чисто как пример - можно? The Properties class represents a persistent set of properties. The Properties can be saved to a stream or loaded from a stream... Этому АПИ уже 100 лет в обед, посколько доступно с v1.0. Неужто в виндузах что-то аналогичное появилось только с рождением .НЕТ?! Скажите мне, что я не прав, пожалуйста!
VBez wrote:Поставил вчера мелкую программку - апдейт айпи адреса на ДинДНС - объем 4.5 мегабайта!!!
На дельфях наверное написана.
Так понимаешь в чем загадка - я ведь вчера этих динДНС клиентов штук 6 накачал - и все примерно одинаковые, и по функциональности и по размеру Ну, все, кроме явовской версии Теперь что - модно под виндуза на дельфи писать?! Куда делся софт размером 5-10-15кб и почему даже микро-тулзы измеряются мегабайтами если не их десятками!? :-О
То есть получается, что ява в нынешний момент развития научно-технического прогресса является эталоном компактного софта?! :-О Во, дожил, неужто я уже такой старый стал?!
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
Почему то никто не упомянул что registry вроде защищена write-ahead journaling на случай краха. Правда в реальности вычистить программу при крахе инсталляции, если эта программа использует только .INI оказывается на два порядка проще
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 1621
- Joined: 29 May 2001 09:01
- Location: Vancouver, BC
Dmitry67 wrote:Почему то никто не упомянул что registry вроде защищена write-ahead journaling на случай краха. Правда в реальности вычистить программу при крахе инсталляции, если эта программа использует только .INI оказывается на два порядка проще
Вот-вот! Зачем пытаться решить проблему (защита регистри), если саму задачу можно элиминировать на корню. Нет регистри - нет риска его сломать
-
- Уже с Приветом
- Posts: 13682
- Joined: 16 Jan 2001 10:01
Seryi wrote:У реестра есть одно большое преимущество и перед ИНИ файлами и перед ХМЛ. В реестре легко можно хранить настройки для индивидуальных юзеров, так что настройки разных юзеров на одном компьютере не будут пересекаться.
В ХМЛ конечно тоже можно, но это уже становится проблематичнее.
Eta problemma suschestvuet tol'ko v DOS i Windows 3.xx.
-
- Уже с Приветом
- Posts: 376
- Joined: 04 Feb 2002 10:01
Seryi wrote:У реестра есть одно большое преимущество и перед ИНИ файлами и перед ХМЛ. В реестре легко можно хранить настройки для индивидуальных юзеров, так что настройки разных юзеров на одном компьютере не будут пересекаться.
В ХМЛ конечно тоже можно, но это уже становится проблематичнее.
Для этого есть стандартное решение. Пользовательские настройки кладутся в отдельный файл в home directory этого пользователя (Documents and Settins/<user name>).
-
- Уже с Приветом
- Posts: 28294
- Joined: 29 Aug 2000 09:01
- Location: SPB --> Gloucester, MA, US --> SPB --> Paris
На самом деле мне кажется что при проектировании registry допущена большая ошибка
Вначале для идентификации продуктов использовались каталоги
Потом ситуация усложнилась
Если бы у каждого value было бы поле InstalledBy, причем это поле нельзя было бы изменить то тогде можно было бы снести по InstalledBy
Сейчас же если аппликация чтото пихнет в хитрое место - то все, с концами
Однако мне кажется что замусоривание DLL и ActiveX является большей проблемой чем замусоривание registry (пассивное)
Вначале для идентификации продуктов использовались каталоги
Потом ситуация усложнилась
Если бы у каждого value было бы поле InstalledBy, причем это поле нельзя было бы изменить то тогде можно было бы снести по InstalledBy
Сейчас же если аппликация чтото пихнет в хитрое место - то все, с концами
Однако мне кажется что замусоривание DLL и ActiveX является большей проблемой чем замусоривание registry (пассивное)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
-
- Уже с Приветом
- Posts: 491
- Joined: 23 Feb 2004 11:25
Re: Наивный вопрос про Виндуза и регистри
Да зачем-же в рукопашную-то?! Неужто в виндузах нет АПИ для работы с ресурсами/пропертями?!
Не знаю - не видел. Скорее всего есть.
А под НЕТ буквально в каждой книге есть примеры.
Типа - программер/архитектор изучил новый АПИ, и начинает новую игрушку пропихивать везде - где нужно и где не нужно?
Не игрушку. А технологию, которая облегчает жизнь.
Я думаю, что про джаву точно также говорили лет 10 назад
Неужто в виндузах что-то аналогичное появилось только с рождением .НЕТ?!
Конечно нет. Скорее всего есть для этого специально API, но я его не знаю. Потому как в прочитанных мною книгах я этого не видел. А на работе мы используем реджистри.
Теперь что - модно под виндуза на дельфи писать?! Куда делся софт размером 5-10-15кб и почему даже микро-тулзы измеряются мегабайтами если не их десятками!?
Все зависит от радиуса кривизны рук конкретного программера.
-
- Уже с Приветом
- Posts: 11475
- Joined: 20 Nov 2000 10:01
- Location: Escondido, CA
lx_uk wrote:Для этого есть стандартное решение. Пользовательские настройки кладутся в отдельный файл в home directory этого пользователя (Documents and Settins/<user name>).
Правильно. Следующий шаг - систематизировать каталог с настройками, чтобы вместо беспорядочно лежащих 5000 файлов была стройная иерархическая система. Желательно со встроенной поддержкой разных типов параметров, защитой от сбоев, и висящая постоянно в памяти для оптимизации доступа.
Что получается? ...
-
- Уже с Приветом
- Posts: 376
- Joined: 04 Feb 2002 10:01
Hamster wrote:lx_uk wrote:Для этого есть стандартное решение. Пользовательские настройки кладутся в отдельный файл в home directory этого пользователя (Documents and Settins/<user name>).
Правильно. Следующий шаг - систематизировать каталог с настройками, чтобы вместо беспорядочно лежащих 5000 файлов была стройная иерархическая система. Желательно со встроенной поддержкой разных типов параметров, защитой от сбоев, и висящая постоянно в памяти для оптимизации доступа.
Что получается? ...
Вы еще забыли security - ini файлы не всегда лежат на ntfs разделе. Сейчас это скорее исключение, но реестр создавался лет 10 назад.
Мне вот интересно другое, как с сохранением всех преимуществ реестра достичь еще одного - легкости редактирования настроек с помощью привычного редактора? Это у ini файлов не отнять. Хотя допускаю, что далеко не все согласятся, что это преимеущество.
PS. Еще одно косвенное преимущество - комментарии. В текстовом файле комментарии читать легко и удобно. В реестре их просто нет, хотя и возможо их реализовать и даже сделать удобный просмотр...
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Hamster wrote:lx_uk wrote:Для этого есть стандартное решение. Пользовательские настройки кладутся в отдельный файл в home directory этого пользователя (Documents and Settins/<user name>).
Правильно. Следующий шаг - систематизировать каталог с настройками, чтобы вместо беспорядочно лежащих 5000 файлов была стройная иерархическая система. Желательно со встроенной поддержкой разных типов параметров, защитой от сбоев, и висящая постоянно в памяти для оптимизации доступа.
Что получается? ...
Поддерживаю,
Если добавить еще разделение катологов на системные (те что установлены ОС) и те куда юзера инсталируют софт, то получаем Юникс :)
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Таких "а почему" можно задавать много и все они называються "архитектурная ошибка"
Меня просто до бешенства доводит невозможность скопировать цветовые настройки в VisualStudio. Лезешь в регистри, а там Guid-ы в цветах
Чего еще никогда не мог понять так это какого черта было делать window handler in TLS(thread local storage), то есть имея хандлер можно им оперировать только если ты в том же потоке в котором окно создано. Я знаю как это обходить, вопрос в том какого черта это надо было!!!
Меня просто до бешенства доводит невозможность скопировать цветовые настройки в VisualStudio. Лезешь в регистри, а там Guid-ы в цветах
Чего еще никогда не мог понять так это какого черта было делать window handler in TLS(thread local storage), то есть имея хандлер можно им оперировать только если ты в том же потоке в котором окно создано. Я знаю как это обходить, вопрос в том какого черта это надо было!!!
Никакой разрухи нет. (с) Проф. Преображенский.
-
- Уже с Приветом
- Posts: 11475
- Joined: 20 Nov 2000 10:01
- Location: Escondido, CA