Теперь и у unix-like будет регистр !

Как Вы думаете, это к лучшему?

Да
3
4%
Да
3
4%
Нет
25
30%
Нет
25
30%
Скорее да
4
5%
Скорее да
4
5%
Скорее нет
10
12%
Скорее нет
10
12%
 
Total votes: 84

User avatar
zor0n
Уже с Приветом
Posts: 630
Joined: 01 May 2001 09:01
Location: Москва -> New York

Post by zor0n »

Лирическое отступление о мышах. Помнится, читал я в субтильном возрасте в ГПНТБ книгу Янга по программированию Икса, и очень меня поразил тот факт что Икс-протокол поддерживает мышей, имеющих вплоть до пяти (!) кнопок. Тогда это казалось перебором. Сейчас, с моим маусом, имеющим колесо и еще три дополнительные кнопки, на которые Икс-протокола не хватило, ето уже не смешно. И ето еще без tilt wheel... :mrgreen: :mrgreen: :mrgreen:
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

zor0n wrote:Ага, а сама X11 откуда эту информацию берет? И почему система должна иметь как минимум два разных конфигурационных файла для описания одной мышки (/etc/X11/XF86Config и /etc/gpm.conf)? А если моя программа хочет знать, какая мышь в системе, где нет ни Икса ни gpm, ей откуда эту информацию брать? И чем чтение лучше чем вызов:

Опять Ваш пример плохой. Два конфига должно быть потому, что два независимых режима - консоль и X, каждый работает с мышкой и должны работать совершенно независимо друг от друга и вне зависимости, присутствует ли другой.
Вашей программе вовсе незачем читать конфиги. Она должна общаться или с GPM, если это консольная программа, или с Xsever, если с графическим интерфейсом.
Вы учтите, что все примеры будут плохие, потому, что сама необходимость реестра притянута за уши.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

zor0n wrote:"На горе мочало - начинай сначала." См. мое сообщение выше - тот факт, что Мелкософт сделал реестр ненадежным не означает, что в Unix его нельзя сделать лучше. Опять-таки, например в виде файловой иерархии /conf, которая будет читаться только библиотекой, реализующей API. :umnik1:

Тот факт, что реестр является слабым местом в надежности виндов, причем учитывая то, что в повышение его надежности они вбухали немало средств, наводит на мысль, что сама концепция порочна.
Пример в виде файловой конфигурации /conf - это и есть практически то, что мы имеем сейчас. И стандартные средства для парсинга конфигов есть.
Давайте разберем по пунктам, что мы потеряем, если:

1. Переведем конфиги в файловой иерархии в формат XML:
- XML, с его иерархией это явный перебор для конфигов, где вполне хватает формата ключ:значение
- увеличится размер конфигов, что плохо для устройств с лимитированными ресурсами
- добавится более громоздкая библиотека парсинга, что плохо для устройств с лимитированными ресурсами
- увеличатся затраты ресурсов на парсинг, что плохо для устройств с лимитированными ресурсами
- старые форматы все равно придется поддерживать,так что все выльется в создание еще одного, не самого удачного формата и библиотеки работы с ним

2. Если сделаем как в Виндовс - все в одном файле:
- получим один здоровенный файл, при крахе которого можно получить неработоспособную систему, придется вводить дополнительные средства для повышения надежности, как в Виндовсе и все равно, как видим надежность одного файла получается хуже, чем многих
- для получения параметров каждая программа будет парсить здоровенный файл, или придется рожать АПИ и демона, который это делает, что увеличит потребление ресурсов.
- придется придумать систему прав доступа для участков файла, как в Виндовс, иначе не сможем обеспечить безопасность и увеличится дырявость
- при ремонте придется ковыряться примитивными редакторами в огромном файле, или придется делать специализированный редактор как в Виндовсе.
В общем, не надо думать, что мы сделаем так же, как в Виндовс, только лучше, грабли будут те же, они сегодня видны за километр и результат будет такой же.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

zor0n wrote:- Возможность совместного использования конфигурационных параметров программами. Типический пример: все, что лезет в Сеть через HTTP будет использовать единые установки прокси. Другой пример: принтеры, размеры бумаги и т.п. Сейчас ето иногда делается через переменные среды, но последние имеют массу недостатков по сравнению с иерархической стандартизированной БД.

Ну, не знаю, чем не нравятся переменные окружения. Я вообще-то очень доволен ситемой записи конфигурационных параметров в UNIX. Если бы в Windows было бы похоже, насколько бы легче было бы жить. Эта система включает в себя продуманную иерархию чтения настроек. Грамотная программа должна читать настройки примерно в со следующими приоритетами:
1. Аргументы командной строки
2. Переменные окружения
3. Локальные настройки пользователя из конфига в его домашней директории
4. Глобальные настройки из системного каталога /etc
Такая система дает очень большую гибкость в настройке. Если еще добавить, что и загрузчик библиотек при помощи переменных окружения можно насторить индивидуально для каждой программы, и для многих программ можно указать путь к конфигурационным файлам в командной строке, то получаем платформу с очень большой гибкостью и возможностями для маневра.
User avatar
Оранжевое Небо
Уже с Приветом
Posts: 723
Joined: 17 Sep 2003 10:00

Post by Оранжевое Небо »

Есть в винде такие проги, что если снесешь сам сетап после установки то деинсталлировать ее невозможно. А если снесешь все ручками, то инсталлировать заново потом не сможешь.
Смотри, не обломись на полдороги - товарищ "Небо"
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Евгений, Вы в Ваших рассуждениях забываете одну вещь. В Виндах существуют и ini файлы (аналог Униксовых /conf) и regestry. Программисты сами решают, что использовать. Вы можете и без registry программировать в Виндах, ну разве что без ActiveX-ов и COM-ов. В Униксах имеется только одна возможность. Народ подумал о другой, а Вы сразу бьете по рукам. Это не дело.
coredumper
Новичок
Posts: 54
Joined: 26 Mar 2001 10:01
Location: Haifa, Israel -> Redmond, WA

Post by coredumper »

Siberian Cableman wrote:В Виндах существуют ini файлы (аналог Униксовых /conf)


Где, покажите? :)

.config есть, а ini давно не встречал
User avatar
Siberian Cableman
Уже с Приветом
Posts: 1222
Joined: 02 Jan 2002 10:01
Location: Bellevue, WA

Post by Siberian Cableman »

Издеваетесь ;)? Вот на вскидку Вам две статьи как это добро читать/писать даже из .NET

Use COM Interop to Read and Write to INI Files with .NET
http://archive.devx.com/dotnet/discussi ... nterop.asp

Upgrade Your INI Files to XML with .NET
http://www.devx.com/dotnet/Article/7008/1763
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

zor0n wrote:
A. Fig Lee wrote:А зачем знать конфигурацию байнда? А с регистри - Вы что будете знать все ключи другой программы и что они значат?


В том-то и дело, что некоторые ключи - системного, а не программного уровня. BIND - плохой пример, но, например, конфигурация почты и HTTP вполне подходят для разделения между программами.

Что такое HTTP? Ето же не программа.
2. Что значит почта? sendmail, qmail, postfix, enzim, pine, Courier, etc..?
Какой из них Вы собираетесь читать?
Откуда известно что на етом компьютере стоит?
3. А что, в регистри будут другие ключи и значения?
Ага, а сама X11 откуда эту информацию берет? И почему система должна иметь как минимум два разных конфигурационных файла для описания одной мышки (/etc/X11/XF86Config и /etc/gpm.conf)? А если моя программа хочет знать, какая мышь в системе, где нет ни Икса ни gpm, ей откуда эту информацию брать? И чем чтение лучше чем вызов:

А в том то и дело, что надо отделять зерна от плевел. Завтра изменят конфигурационный файл и все. Переписывай программу. Программа сохраняет там сеттингс для себя, а не для васи.
Для васи есть широко известные систем-вайд конфигурейшн файлс.
Думаю, что не обязательно запускать Х чтоб узнать про мышь.
Верить нельзя никому - даже себе. Мне - можно!
User avatar
A. Fig Lee
Уже с Приветом
Posts: 12072
Joined: 17 Nov 2002 03:41
Location: английская колония

Post by A. Fig Lee »

Siberian Cableman wrote:Евгений, Вы в Ваших рассуждениях забываете одну вещь. В Виндах существуют и ini файлы (аналог Униксовых /conf) и regestry. Программисты сами решают, что использовать. Вы можете и без registry программировать в Виндах, ну разве что без ActiveX-ов и COM-ов. В Униксах имеется только одна возможность. Народ подумал о другой, а Вы сразу бьете по рукам. Это не дело.


Ну и что что существуют?
Система куда пишет? Вирусы куда пишут? Да и речь то не о том, что Виндовс предоставляет ини-файлы. Кстати, зачем там COM? Его что без COM-а прочитать нельзя? А речь о том, что какую передовую систему Виндовс имеет с режистри и скоро такая и на УНИХе будет.
Верить нельзя никому - даже себе. Мне - можно!
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

Siberian Cableman wrote:Евгений, Вы в Ваших рассуждениях забываете одну вещь. В Виндах существуют и ini файлы (аналог Униксовых /conf) и regestry. Программисты сами решают, что использовать. Вы можете и без registry программировать в Виндах, ну разве что без ActiveX-ов и COM-ов. В Униксах имеется только одна возможность. Народ подумал о другой, а Вы сразу бьете по рукам. Это не дело.

По рукам бить надо! :) Иначе развиваются дурные привычки.
Я не против того, чтобы появилась еще одна возможность записи конфигурационных файлов, хотя необходимость в ней кажется мне притянутой за уши. Я против того, чтобы разрабатывать и навязывать один, обязательный для всех путь, причем еще и несвместимый со сттарыми наработками и лежащий совершенно перпендикулярно Unix-way.
Если подойти концептуально, то Юникс - это идеология ящика с инструментами из которых администратор/пользователь сам делает то, что ему надо, а Виндовс - закрытый ящик с торчащими наружу ручками, который может выполнять только предусмотренные разработчиком функции. Так вот, реджистри - один из элементов такой закрытой и излишне усложненной системы.
User avatar
zor0n
Уже с Приветом
Posts: 630
Joined: 01 May 2001 09:01
Location: Москва -> New York

Post by zor0n »

A. Fig Lee wrote:Что такое HTTP? Ето же не программа.
2. Что значит почта? sendmail, qmail, postfix, enzim, pine, Courier, etc..?
Какой из них Вы собираетесь читать?
Откуда известно что на етом компьютере стоит?


1. Ну и что же, значит каждая программа использующая HTTP должна хранить его конфигурацию у себя, как это в большинстве случаев и происходит в Юниксе? Есть, конечно, переменные среды, *_proxy, но они не покрывают некоторые аспекты, например исключения из правил. Да и используют их лишь некоторые из программ.

2. Сегодня читаю через KMail. Завтра захочу попробовать Evolution - опять вбивать настройки POP3?

A. Fig Lee wrote:А в том то и дело, что надо отделять зерна от плевел. Завтра изменят конфигурационный файл и все. Переписывай программу. Программа сохраняет там сеттингс для себя, а не для васи.
Для васи есть широко известные систем-вайд конфигурейшн файлс.
Думаю, что не обязательно запускать Х чтоб узнать про мышь.


Вот и хорошо, расскажите "Васе" пжалста, как ему определить тип и наличие мыши в системе, особенно если на ней не гоняется ни Икс ни gpm. Пример достаточно экстремальный, но все равно корректный.

Никто не против того, чтобы программы имели свои собственные настройки. Просто те настройки, которые могут (и должны) использоваться несколькими программами, таковыми и должны быть. И как их получать - через API, как ето например сделано в POSIX для получения информации о пользователях и группах (getpw*, getgr*), или через реестр - уже не столь важно,если данный метод доступа стабилен и задокументирован.
User avatar
f_evgeny
Уже с Приветом
Posts: 10367
Joined: 12 Apr 2001 09:01
Location: Lithuania/UK

Post by f_evgeny »

zor0n wrote:1. Ну и что же, значит каждая программа использующая HTTP должна хранить его конфигурацию у себя, как это в большинстве случаев и происходит в Юниксе? Есть, конечно, переменные среды, *_proxy, но они не покрывают некоторые аспекты, например исключения из правил. Да и используют их лишь некоторые из программ.

Между прочим, прокси - это вообще сущность сети, их может быть несколько, а в общем случае их тысячи. Не пойму, кстати, почему не нравится переменная окружения. Ее всегда можно переопределить во вроппере.
blanko27
Уже с Приветом
Posts: 2264
Joined: 17 Jun 2003 04:41
Location: Just like US

Re: Теперь и у unix-like будет регистр !

Post by blanko27 »

f_evgeny wrote:...Я бы скорее приветствовал стандарт на написание конфигурационных файлов. Думаю, это более UNIX way.
Зачем повторять чужие ошибки?
А в windows-е уже появился стендарт на config файлы при использовани в .NET приложениях. Он довольно удобен и XML-based. Наверное, скоро его примут и в UNIX-е. :lol:
...а мы такой компанией, возьмем, да и припремся к Элис!
Oleg_B
Уже с Приветом
Posts: 5406
Joined: 16 Apr 1999 09:01
Location: MA

Post by Oleg_B »

A. Fig Lee wrote:Кстати, зачем там COM? Его что без COM-а прочитать нельзя.


Не при чём там СОМ. Это называется Platform Invoke (PInvoke). Автора смутило, что namespace называется InteropServices.

Return to “Вопросы и новости IT”