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

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

Date: 2003-09-29 01:12 pm (UTC)
stas: (Default)
From: [personal profile] stas
Это вы мне чё-то левое нашли, какие-то советы эникейщика по XP. Я спросил - вот я хочу, чтобы у меня буква "зю" при буте подключала путь \\foo\bar. Куда в registry писать? В качестве вольного упражнения - в каком ключе registry хранится разрешение экрана по умолчанию и как его поменять, не пользуясь GUI? В качестве третьего упражнения - где хранится текущая timezone и как узнать, что именно там написано (например,когда в этом году летнее время) - а также поменять это? В Юниксе, просто для информации, всё это хранится в текстовых файлах и меняется текстовым редактором и утилитами типа ln.

Что касается автомаунта - надо, разумеется, читать и man autofs заодно. Там всё прописано с примерами. Очень весело работает. Единственный недостаток - когда что-то не работает по внешним причинам, найти,что же не сработало, трудновато. Это проблема, что есть, то еть. У виндов, впрочем, с этим ещё хуже - они просто при любой проблеме спрашивают пароль до посинения ;)

Date: 2003-09-29 01:14 pm (UTC)
stas: (Default)
From: [personal profile] stas
Поправочка - сам timezone хранится всё-же в двоичном формате, читаемом специальной (стандартной) программой.

Date: 2003-09-29 01:37 pm (UTC)
From: [identity profile] dimrub.livejournal.com
Это вы мне чё-то левое нашли, какие-то советы эникейщика по XP. Я спросил - вот я хочу, чтобы у меня буква "зю" при буте подключала путь \\foo\bar. Куда в registry писать?

Зачем в registry? Это можно сделать из explorer. Рассказать как?

То же касается и остальных заданий. Есть GUI, есть configuration APIs, а есть и registry keys, но поскольку доступ к ним напрямую не предусмотрен, они не документированы. Если же кому-то очень надо, он найдет их (хотя зачем - непонятно).

Date: 2003-09-29 01:57 pm (UTC)
stas: (Default)
From: [personal profile] stas
но поскольку доступ к ним напрямую не предусмотрен, они не документированы.

В этом-то и основная беда. Это концепция windows, за которую я его не люблю - что якобы они лучше меня знаю, чего мне понадобится. По опыту - они знают хуже ;)

Зачем в registry?

Мы ж говорили про registry. Вот вам пример вещи, которую в конфигурации Unix найти проще простого, а в registry - очень непросто. Я таких примеров, при нужде, могу немало произвести :)

Это можно сделать из explorer. Рассказать как?


Расскажите. А лучше напишите - коротенькую программку, которая бы получала 2 аргумента - букву и сетевой путь - и привязывала второй к первой. Нет, я не спорю, это возможно - но пока эту фигню отыщешь, заморишься. То ли дело Unix - mount и кум королю ;)

Date: 2003-09-29 02:02 pm (UTC)
From: [identity profile] dimrub.livejournal.com
net use /PERSISTENT:YES

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 реестра достаточно для решения проблем на него возложеных.
Реестр "напихан" информацией о системе: её конфигурации, компонентах и связях между ними.

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

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

January 2026

S M T W T F S
    1 2 3
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 3rd, 2026 11:14 pm
Powered by Dreamwidth Studios