avva: (Default)
[personal profile] avva
Let's Bash Microsoft Today — забавная дискуссия в веблоге Филиппа Гринспана о том, за что стоит ненавидеть Майкрософт (или не стоит). В основном в комментах.

Кстати, хотя со многими высказанными там претензиями я согласен, многие другие кажутся мне непонятными или даже невразумительными. И откуда, интересно, такая ненависть к реестру (он же registry)? Вот это я давно не могу понять. У меня есть немало конкретных претензий к Майкрософту по поводу реестра (плохо документирован, в основной программе редактирования не хватает многих важных возможностей, итп.), но я не понимаю, что такого уж ужасного в идее центрального реестра конфигурационной информации, в принципе.

Date: 2003-09-29 02:12 pm (UTC)
stas: (Default)
From: [personal profile] stas
Ну, допустим. А остальные?

Date: 2003-09-29 03:19 pm (UTC)
From: [identity profile] dimrub.livejournal.com
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_20703479.html#9105499

Это насчет резолюции экрана. Судя по Вашему комменту выше, стандартные инструменты можно предлагать? Ну так вот, стандартнее WinAPI на виндах еще не придумали.
stas: (Default)
From: [personal profile] stas
WinAPI меняет _текущие_, насколько я понял. Я же говорил именно о:
"[HKEY_CURRENT_CONFIG\System\CurrentControlSet\Control\VIDEO\{B18A464E-ACA7-4F17-A1B4-3ED211131432}\0000\Mon70000001]",

Правда образец понятности и прозрачности? ;) Я ещё и подозреваю, что это имя аппаратно-зависимо... Нет, я понимаю - "не предназначено для использования". Ну тогда нечего на юникс наезжать, что у него файлы не так устроены - у виндовсов registry устроено не лучше, да ещё и не предназначено.
From: [identity profile] livsy.livejournal.com
Чего ж непонятно? {GUID} -- идентификатор видеокарты, 0000 -- номер её конфигурации Mon700... идентификтор монитора. Это навскидку. Просто я с этим работал а ты нет.

Имя не только аппаратно зависимо, но ещё и драйверно и номеромонитроно зависимо, представляешь? Только не надо туда ходить вручную. Просто нет необходимости. Реестр предназначен для хранения данных программ, а не пользователей. И если у тебя три видеокарты, пять мониторов и работаешь с ними ты в двух конфигурациях, то такая нотификация позволяет избежать путаницы в текстовом файле хотя бы за счёт представления данных в виде дерева.

Мне кажется логичным, что ОС должна иметь централизованную базу данных для хранения своих настроек. Все *nix согласны с этим и имеют негласный стандарт держать натройки ОС в /etc. Вот только для windows эта система текстовых файлов в /etc неудобна -- настроек на порядки больше -- стороннего софта больше, драйверов больше, железа больше.

Я себе представляю OLE, лазающее grep'ом по директории с CLSID и собирающее объекты из текстовых файлов.

Вариантов её хранения 2: более удобный для пользователя и более удобный для ОС. Для ОС типа windows, где требуется хранить множество настроек, подходит естественно второй. А чтобы пользователь не скучал ему дали минимально функциональный редактор реестра.

На самом деле просто у различных подходов различны цели.
stas: (Default)
From: [personal profile] stas
Только не надо туда ходить вручную. Просто нет необходимости.

Сегодня в масле потребности нет ;)

Реестр предназначен для хранения данных программ, а не пользователей.

Есть такие люди - программисты. Они кто - программы или пользователи?

Мне кажется логичным, что ОС должна иметь централизованную базу данных для хранения своих настроек.

_Своих_ настроек или всех вообще настроек?
Ну да ладно - допустим, это всё так. Но registry - это лишь один из возможных вариантов воплощения одной из моделей такой базы. И как таковой, обладает многочисленными недостатками.
Тема в том, что если я каждый раз для того, чтобы узнать, где что в registry хранится, должен запрашивать соответствующую программу - с тем же успехом эта программа может хранить свои конфиги в .ini или на клинописных табличках. Преимущество единой базы должно быть в том, что есть унифицированные инструменты доступа. Часть этих инструментов у registry есть - но увы, недостаточная. В первую очередь - из-за недостаточной документации, стандартизации и излишней ориентации на специализированные GUI. Для юзеров этого и вправду хватает, а вот как начнёшь копать вглубь - начинается кино и немцы.

Я себе представляю OLE, лазающее grep'ом по директории с CLSID и собирающее объекты из текстовых файлов.

Совершенно необязательно грепом. Файловая система поддерживает иерархические структуры не хуже спецформата микрософт, и уж точно - не медленнее. Особенно специализированная система - смотри, например, /proc.
А хоть бы и грепом - чем, в самом деле, плохо?

Date: 2003-09-30 08:05 am (UTC)
From: [identity profile] avnik.livejournal.com
А оин grep знают, а find еще нет ;)

Хотя честно говоря хочется гибрида ;) надо будет скрпитик написать на sh
From: [identity profile] livsy.livejournal.com
Сегодня в масле потребности нет ;)
Если на передней панели прибора есть ручки настройки то зачем лазить внутри?

Есть такие люди - программисты. Они кто - программы или пользователи?
Пользователи. Они не хранят свои данные в реестре. Они хранят свои данные в текстовых файлах.

Естественно реестр это только ОДНА из возможностей. Подскажите майкрософту лучшее решение и они безусловно заплатят вам деньги. Инструментов для унифицированного доступа к нему больше чем достаточно. Можете сказать чего вам конкретно не хватает, а не "стандартизации" и "ориентации"? Мне, например, не хватает стандартизации в текстовых файлах. Я не уверен ни в том что они имеют 8 бит на байт, ни в том что это вообще стандарт хранения информации.

Специализированные GUID'ы лежат в специальных разделах CLSID и TypeLib и не мешают данным программ и уж тем более не нужны юзерам. А пользователь вообще не должен знать ничего о реализации системы хранения данных, перед ним должен быть только пользовательский интерфейс.

Не могу понять причём здесь файловая система? И зачем её нагружать ещё и совместимостью с реестром? И уж в крайнем случае вы что думаете, что нельзя примонтировать дерево реестра к файловой системе? Просто в этом нет необходимости, а реестр есть и в нём есть необходимость. :)
stas: (Default)
From: [personal profile] stas
Если на передней панели прибора есть ручки настройки то зачем лазить внутри?

Например, чтобы подключить другой прибор - т.к. изготовители прибора ручки настройки приделали, а вход и выход - забыли :)

Специализированные GUID'ы лежат в специальных разделах CLSID и TypeLib и не мешают данным программ и уж тем более не нужны юзерам.

Если они никому не нужны - нафига они существуют?

А пользователь вообще не должен знать ничего о реализации системы хранения данных, перед ним должен быть только пользовательский интерфейс.

Гениальная идея. Скажите мне, что значит акроним API и для чего он существует?

Пользователи. Они не хранят свои данные в реестре. Они хранят свои данные в текстовых файлах.

Ой. А чем же тогда напихан реестр?

Подскажите майкрософту лучшее решение и они безусловно заплатят вам деньги.

Не заплатят. Затраты на переход с registry на любую другую схему с лихвой сьедят любую прибыль, которую можно из этого извлечь.

И зачем её нагружать ещё и совместимостью с реестром?

Либо я не понимаю, о чём вы говорите, либо вы не понимаете, о чём вы говорите. Что значит "нагружать"?

Просто в этом нет необходимости, а реестр есть и в нём есть необходимость. :)

Ваша уверенность в том, что вы знаете, что необходимо всем на свете, меня просто приводит в изумление. Мне бы такое самомнение.
From: [identity profile] livsy.livejournal.com
Например, чтобы подключить другой прибор - т.к. изготовители прибора ручки настройки приделали, а вход и выход - забыли :)

Хммм... В виндовс не надо лезть в реестр чтобы установить программу.

Если они никому не нужны - нафига они существуют?
Замечательно вы читаете, товарищ! Я написал не нужны пользователям, а вы -- никому. GUID это идентификатор для системы, а не для пользователя.

API это тоже интерфейс. API реестра достаточно для решения проблем на него возложеных.
Реестр "напихан" информацией о системе: её конфигурации, компонентах и связях между ними.

Нагружать = добавлять излишнюю функциональность. Зачем нужна совместимость реестра с файловой системой, если все проблемы решаются сущестующим интерфейсом?

Перед тем, как говорить об отсутсвии необходимости в чём либо я спрашиваю оппонента о том, что ему конкретно мешает или чего недостаёт, если он ничего не отвечает, то я говорю что система достаточна и ей ничего не нужно, так яснее?

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 09:21 am
Powered by Dreamwidth Studios