The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Третий релиз консольного файлового менеджера XYZCommander, opennews (??), 18-Янв-10, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Аноним (-), 18-Янв-10, 00:15 
>все конфигурационные файлы представляют собой скрипты на языке Python

Кто придумал, что это удобно? Давайте уж тогда вообще без конфигурационных файлов - вон исходники, правь если хочешь.

Ответить | Правка | Наверх | Cообщить модератору

3. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 00:27 
Ну почему же, для этого были специальные функции, упрощающие конфигурирование. Настолько уж непонятна строка типа, let("skin", "seablue", sect="xyz")  ? Это ж вам не хаскель.


Ответить | Правка | Наверх | Cообщить модератору

6. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 00:30 
>Ну почему же, для этого были специальные функции, упрощающие конфигурирование. Настолько уж
>непонятна строка типа, let("skin", "seablue", sect="xyz")  ? Это ж вам
>не хаскель.

для этого были *созданы* специальные функции

Ответить | Правка | Наверх | Cообщить модератору

10. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Аноним (-), 18-Янв-10, 00:41 
>Настолько уж непонятна строка типа, let("skin", "seablue", sect="xyz")

Дело не столько в непонятности, сколько в удобстве.

[xyz]

skin = seablue

Гораздо наглядней и никаких лишних знаков. Но главное, рано или поздно такие "конфигурационные файлы" превращаются в полноценные скрипты вида if (mode = i) let("skin", skins[i].get()). И чем тогда конф. файл отличается от исходников? Хватит, уже и так сплошные shell-скрипты в /etc.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

11. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 00:46 
Вообще изначально так и было, формат только другой, соорудил кучу парсеров. Но по мере развития проекта оказалось что изначально запланированной их функциональности недостаточно, вот и стал перелезать на подобие eDSL. Писать парсер на все случаи жизни тоже смысла не видел, кроме того, питоновые скрипты позволили организовать безболезненное изменение настроек на ходу.
Ответить | Правка | Наверх | Cообщить модератору

13. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Аноним (-), 18-Янв-10, 00:57 
>питоновые скрипты позволили организовать безболезненное изменение настроек на ходу.

Осталось понять, конфигурационные файлы - они для пользователя или для автора?

Ответить | Правка | Наверх | Cообщить модератору

14. "Третий релиз консольного файлового менеджера XYZCommander"  +1 +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 02:28 
Пользователи, не способные разобраться в несложном конфиге в целевую аудиторию не входили.
Ответить | Правка | Наверх | Cообщить модератору

19. "Третий релиз консольного файлового менеджера XYZCommander"  +1 +/
Сообщение от sashkan (?), 18-Янв-10, 03:59 
>Пользователи, не способные разобраться в несложном конфиге в целевую аудиторию не входили.

ага, в целевую аудиторию, значит, входили хомячки, не осилившие shell!

Ответить | Правка | Наверх | Cообщить модератору

54. "Третий релиз консольного файлового менеджера XYZCommander"  +1 +/
Сообщение от a (??), 18-Янв-10, 19:54 
>ага, в целевую аудиторию, значит, входили хомячки, не осилившие shell!

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

В этом и преслесть творчества, что сам решаешь, для кого и что делать. А тем, у кого с осиливанием проблемы, например шелл осилить могут, а вот самостоятельно более-менее полезное творение создать, уже не осиливают, - тем приходится все время ждать, кто же для них наконец захочет что-либо сделать. Не говоря уже о тех, кто даже шелл и конфиги осилить не могут.

Ответить | Правка | Наверх | Cообщить модератору

79. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от pavlinux (ok), 19-Янв-10, 01:49 
Вы наверно уже забыли, про курсы для бухгалтеров под DOS.
Где обязательным пунктом были уроки РАБОТЫ с Norton Commander  

Не будет юзер, да и программер тоже, ни хрена делать... Своих проблем хватает.


Ответить | Правка | Наверх | Cообщить модератору

90. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 02:47 
Что именно они не будут делать?
И каких именно из юзеров вы имеете в виду? Тут речь шла о разных категориях юзеров.

И вообще, при чем здесь DOS и Norton Commander?

Ответить | Правка | Наверх | Cообщить модератору

15. "Третий релиз консольного файлового менеджера XYZCommander"  +4 +/
Сообщение от a (??), 18-Янв-10, 02:30 
Вы считаете, что если для конфигурационных файлов непременно не создать специальный язык, то они по-вашему никак не могут быть "для пользователя"?

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

> И чем тогда конф. файл отличается от исходников?

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

Кроме того, ответ находится в вашей же собственной фразе. "Тупые" и примитивные конф файлы обычно делаются, когда именно хотят скрыть от пользователя ИСХОДНИКИ. И когда хотят ограничить пользователя в возможностях настройки, чтобы они по каждому случаю платили разработчикам. А это опенсурс. "Сурс" - это как раз "исходники" по аглицки, если вы не знаете.

> Осталось понять, конфигурационные файлы - они для пользователя или для автора?

И наконец. Что мешает автору делать программу для себя? Кто в его проекте главный? Абстрактный пользователь или сам автор? Или может быть такой горе-критик, как вы?

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

В творчестве правил нет.

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

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

16. "Третий релиз консольного файлового менеджера XYZCommander"  –1 +/
Сообщение от a (??), 18-Янв-10, 02:33 
>> Чтобы подобное утверждать, вам нужно вначале доказать, что конструкции, используемые в конфигурационных файлах.

... Что эти конструкции никак нельзя использовать для конфигурации.

Ответить | Правка | Наверх | Cообщить модератору

17. "Третий релиз консольного файлового менеджера XYZCommander"  –1 +/
Сообщение от a (??), 18-Янв-10, 03:03 
>> Гораздо наглядней и никаких лишних знаков. Но главное, рано или поздно такие "конфигурационные файлы" превращаются в полноценные скрипты вида if (mode = i) let("skin", skins[i].get()). И чем тогда конф. файл отличается от исходников? Хватит, уже и так сплошные shell-скрипты в /etc.

Превращаются в ПОЛНОЦЕННЫЕ скрипты, говорите? Какой ужас! Этого никак нельзя допускать!

А вообще вам лучше в Виндовс. Там не то что "полноценные", там даже НЕ"полноценные" скрипты считаются признаком дурного тона. Там все мышкой настраивать приходится в основном. Представляете, какое достижение прогресса!

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

И чтобы хоть немного расширить функционал с помощью такого гениального изобретения, как плагины, там придется написать такое количество ИСХОДНИКОВ, что сразу становится понятно, чем же "правильные" конф файлы должны отличаться от "полноценных" исходников.

Осюда вывод. Основное назначение конфигурационных файлов - это не вызывать комплексы НЕПОЛНОЦЕННОСТИ у пользователей, при попытке настраивать программу. И вообще желательно, чтобы они отбивали само желание ее настраивать без привлечения разработчика. А сама настройка должна производиться исключительно с помощью "полноценных" исходников.

Ответить | Правка | Наверх | Cообщить модератору

33. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Аноним (-), 18-Янв-10, 13:30 
>вам лучше в Виндовс
>горе-критик
>находитесь просто под влиянием каких-то стереотипов, сильно ограничивающих ваше мышление

Кажется я наступил кому-то на больную мозоль.

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

Ага, то есть с тезисом, что такие конфигурационные файлы = исходники Вы уже согласны? Тогда не надо их называть конфигурационными файлами, вот и всё.

"Моя программа опен-сурс, писал для себя, кому надо - ковыряйтесь в исходниках". Что ж, такая позиция имеет право на жизнь, хотя это похоже на раздачу хлама бездомным.

Ответить | Правка | Наверх | Cообщить модератору

34. "Третий релиз консольного файлового менеджера XYZCommander"  +1 +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 13:44 
Да ради Бога, никто ж не заставляет пользоваться ;)
Кому будет интересно, тот разберётся в конфигах.
Ответить | Правка | Наверх | Cообщить модератору

138. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от fr0ster (ok), 22-Янв-10, 12:57 
>Да ради Бога, никто ж не заставляет пользоваться ;)
>Кому будет интересно, тот разберётся в конфигах.

Или найдет что-то более соответствующее своим хотелкам, и это будет чаще.

Ответить | Правка | Наверх | Cообщить модератору

44. "Третий релиз консольного файлового менеджера XYZCommander"  –1 +/
Сообщение от a (??), 18-Янв-10, 17:02 
>Кажется я наступил кому-то на больную мозоль.

И кому же по-вашему мнению больнее? Хотите сказать мне? Ну пускай будет так, если вам от этого станет легче.

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

Вы утверждали и утверждаете, что конфы никак нельзя считать исходниками. Я спросил вас почему их нельзя считать исходниками? И даже дал вам кое-какие подсказки. Из которых вам удалось сделать единственный вывод, что якобы по-вашему я заявлял о "равенстве" того и другого.

Или что вы подразумевали под отношением "="? Может быть что-то другое? Возникает предположение, что вы не только не понимаете, что такое формальные языки, и в частности, что такое исходники, но и плохо представляете, что же такое равенство. Или что вы там имели в виду.

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

Так вот. Умение пользоваться формальными языками (хоть конфами, хоть скриптами) - это тоже определенный пользовательский уровень. Хотя бы даже умение в них ориентироваться на интуитивном уровне, не обязательно знать какие-то там теории.

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

>"Моя программа опен-сурс, писал для себя, кому надо - ковыряйтесь в исходниках".
>Что ж, такая позиция имеет право на жизнь, хотя это похоже на раздачу хлама бездомным.

Ковыряться в исходниках или не ковыряться - это вообще зависит от качества самих исходником. А не от того, как они называются. Или вы не видели таких конфов, в которых тоже приходится ковыряться, но которые при этом не считаются "полноценными скриптами" (в вашем понимании). Скорее всего не видели, потому что судя по всему вы пользуетесь софтом только с тривиальными конфами, за которые вы так и радеете.

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

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

46. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 18-Янв-10, 17:12 
>"Моя программа опен-сурс, писал для себя, кому надо - ковыряйтесь в исходниках".
>Что ж, такая позиция имеет право на жизнь, хотя это похоже на раздачу хлама бездомным.

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

И это видимо один из основных ваших критериев в оченке полезности софта, хоть свободного, хоть проприетарного.


Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

51. "Третий релиз консольного файлового менеджера XYZCommander"  +1 +/
Сообщение от ixes (?), 18-Янв-10, 18:44 
Человек просто заблудился или просто пришел потролить, ибо
>>>"Моя программа опен-сурс, писал для себя, кому надо - ковыряйтесь в исходниках".

Это фундаментальный принцип СПО.

Ответить | Правка | Наверх | Cообщить модератору

66. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Аноним (-), 19-Янв-10, 00:04 
>Вы "опенсурс" считаете "раздачей хлама бездомным"

Я не говорил про весь опенсурс. Только про то, что "на тебе, Боже, что мне негоже".

>И это видимо один из основных ваших критериев в оченке полезности софта

И это видимо один из основных моих критериев в оценке УДОБСТВА софта.

Вообще, такое чувство что в дискусии участвуют трое - я, Вы и ещё некто в Вашем воображении, чьи слова и качества Вы мне постоянно пытаетесь приписать.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

77. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 01:42 
>>Вы "опенсурс" считаете "раздачей хлама бездомным"
>
>Я не говорил про весь опенсурс. Только про то, что "на тебе, Боже, что мне негоже".

Хм. Вот точно те слова, где вы это говорили.

>"Моя программа опен-сурс, писал для себя, кому надо - ковыряйтесь в исходниках". Что ж, такая позиция имеет право на жизнь, хотя это похоже на раздачу хлама бездомным.

Сначала вы формулируете это как "писал для себя" а потом вдруг "что мне негоже". Т.е. уже как минимум вы противоречите сами себе.

А если не как минимум, то тут наблюдается очередное подтверждение того, что вы не понимаете сами, о чем говорите.

Вот, например, сравните простую формулировку, до которой вы так и не додумались.

Конфигурационные файлы - это такие файлы, которые хранят конфигурацию.

Все очень просто. Язык, формат, сложность конфигурации - это все параллельные понятия. Например, в Мозилле конфигурационных файлов куча, в разных форматах. И текстовые, и бинарные. Так что сами разработчики с трудом разбираются. Хорошо это или плохо - другой вопрос. Факт в том, что все это самые настоящие конфигурационные файлы по определению.

А теперь почитайте, что вы сами пишете о конфигурационных файлах. Чего только не написали, но до такой простой сути, то конфы - это всего лишь файлы хранящие конфигурацию, каким угодно способом, для кого и для чего угодно, вы до этого додуматься никак не смогли.

Вот я вам сразу и сказал, что вы плохо понимаете, о чем сами говорите. Будете снова пытаться утверждать, что это не так?

Потом, что вы написали про исходники. Попробуйте сформулировать, что вы понимаете под исходниками. Наверняка снова запутаетесь.

А раз вы не понимаете, что такое исходники, т.е. эти самые "сурсы", то как вы понимаете, что такое "Опенсурс"?

О чем собственно вся и речь. И вся изначальная суть ваших претензий в том, что вам просто что-то не удобно. И пытаетесь вывести из вашего неудобства, что это якобы вообще не правильно, что вам неудобно. И еще возмущаетесь, что вам порекомендовали пользоваться Виндами.

>И это видимо один из основных моих критериев в оценке УДОБСТВА софта.

То что вам все это УДОБНО, именно так, как вы написали, это и так всем понятно.

Но понимаете, есть люди, которым удобнее по-другому, не так, как вам. Например им удобнее "полноценные скрипты", как вы сами выразились. Вот именно для них и сделан данный проект. Вам же уже это не первый раз объясняли. А вам видимо подойдет что-то другое. И в чем суть ваших претензий? Что существует нечто, удобное другим, но неудобное вам?

>Вообще, такое чувство что в дискусии участвуют трое - я, Вы и ещё некто в Вашем воображении, чьи слова и качества Вы мне постоянно пытаетесь приписать.

Какие это я слова вам приписывал, если вы сами все сказали? Я всего лишь делаю выводы из ваших слов. Имею полное право.

Ответить | Правка | Наверх | Cообщить модератору

80. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от pavlinux (ok), 19-Янв-10, 01:54 
>>> Чтобы подобное утверждать, вам нужно вначале доказать, что конструкции, используемые в конфигурационных файлах.
>... Что эти конструкции никак нельзя использовать для конфигурации.

Легко - В конфигурационных файлах НЕ ДОЛЖНО быть : переменных, условных выражений,  ветвлений и неопределённости.
Только константы. А = 1, B = 2, С = "ABC", D = 3.14159265, всё!!!

Логика работы и взаимодействие между системой и человеком есть суть - программа.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

88. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от anonymous (??), 19-Янв-10, 02:37 
>Легко - В конфигурационных файлах НЕ ДОЛЖНО быть : переменных, условных выражений,
> ветвлений и неопределённости.
>Только константы. А = 1, B = 2, С = "ABC", D = 3.14159265, всё!!!

Слишком однобоко. Конфиг может иметь и условные выражения и переменные, но при этом не быть программой.

Пример на пальцах.

    dbname = "dbase"

    if hostname == "home":
        host = "localhost"
    else:
        host = "db.example.org"

    dsn = "postgresql://project@" + host + "/" + dbname

В этом языке есть... эээ... ну, скажем так, и переменные (правда, задаваемые только раз, как в pure functional языках, я глупый и забыл правильное слово). Есть ветвления и простые операторы (==, !=, <, >, and, or и not). Есть оператор конкатенации строк и простые арифметические операторы. Но это не программа (в полноценном смысле).

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

Но не дай Его Макароннешейство, кто-то добавит в этот конфиг команду goto или функции и возможность их использовать (и рекурсивно вызывать)...

Но, да, есть такое правило: http://en.wikipedia.org/wiki/Rule_of_Least_Power
И вот оно имеет суть что все эти if'ы и прочие операторы и навороты нужны только если они и правда _действительно_ нужны. А не просто «чтобы круто было». Если можно обойтись более простым языком — нужно использовать его.

Ответить | Правка | Наверх | Cообщить модератору

91. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 02:56 
Да что им объяснять. Люди в принципе не понимают, что такое формальные языки и формальные системы. Вы им еще краткий курс лямбда-исчисления и комбинаторной логики прочитайте.

Просто находятся под влиянием своих стереотипов на основе своих познаний каких-то частных случаев. И думают, что известные им реализации - это единственно возможные и единственно применимые.

Ответить | Правка | Наверх | Cообщить модератору

89. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 02:46 
Еще один...

>> Чтобы подобное утверждать, вам нужно вначале доказать, что конструкции, используемые в конфигурационных файлах, <...> никак нельзя использовать для конфигурации.
>Легко - В конфигурационных файлах НЕ ДОЛЖНО быть : переменных, условных выражений, ветвлений и неопределённости.

Это что? Новый закон? Закон pavlinux'а о конфигурационных файлах.

Для таких вот "грамотеев" я уже привел определение прямо выше.

Конфигурационные файлы - это такие файлы, которые хранят конфигурацию.

Значит, по-вашему, в конфигурации всего перечиленного вами никак НЕ ДОЛЖНО быть .

>Только константы. А = 1, B = 2, С = "ABC", D = 3.14159265, всё!!!

Т.е. это по-вашему именно константы, но никак не переменные.
А что же такое по вашему переменные?
И их там по-вашему вообще в принципе не может быть? Или они там все-таки бывают, но их там быть НЕ ДОЛЖНО?

Пример конфигурации Мозиллы я тоже привел выше.

>Логика работы и взаимодействие между системой и человеком есть суть - программа.

А эта фраза вообще к чему?

Ответить | Правка | К родителю #80 | Наверх | Cообщить модератору

93. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Slavaz (ok), 19-Янв-10, 03:51 
>>Только константы. А = 1, B = 2, С = "ABC", D = 3.14159265, всё!!!
>Т.е. это по-вашему именно константы, но никак не переменные.
>А что же такое по вашему переменные?

Странно, но я почему-то понял Павла. Понял именно то, что он хотел выразить, а не то, что Вы захотели увидеть.

Он имел ввиду допустимость
А = 1, B = 2, С = "ABC", D = 3.14159265

но недопустимость
A = B-1, B = 140/70, C= "A"+"BC", D = 22/7

То есть, должны быть константные правые части "присваивания". Именно там он (и я) считаем недопустимыми использование переменных в конфигурационных файлах, хотя эта фишка и повышает гибкость.

P.S. Кончайте тавтологию :(

Ответить | Правка | Наверх | Cообщить модератору

94. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 04:17 
Третий "грамотей". Ну-ну.

>Странно, но я почему-то понял Павла. Понял именно то, что он хотел
>выразить, а не то, что Вы захотели увидеть.

Как же вы его могли не понять, если вы с ним одинаково мыслите.

>Он имел ввиду допустимость
>А = 1, B = 2, С = "ABC", D = 3.14159265
>
>но недопустимость
>A = B-1, B = 140/70, C= "A"+"BC", D = 22/7

То есть вы вместе с ним считаете, что А=1 это обязатетельно константа, а А=В+С никак константой быть не может. Ну я понял, что от так считает, а теперь еще и вы.

>То есть, должны быть константные правые части "присваивания". Именно там он (и я) считаем недопустимыми использование переменных в конфигурационных файлах, хотя эта фишка и повышает гибкость.

Ну и почему вы считаете что нельзя? Вы так и не объяснили.

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

И что такое "константная часть присваивания"? Если уж речь идет о присваивании.

Теперь мы судя по всему уже имеем новый закон pavlinux'a-slavaz'a для конфигурационных файлов.

>P.S. Кончайте тавтологию :(

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

Ответить | Правка | Наверх | Cообщить модератору

97. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 04:55 
>В конфигурационных файлах НЕ ДОЛЖНО быть : переменных, условных выражений, ветвлений и неопределённости.

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

Ответить | Правка | Наверх | Cообщить модератору

102. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Crazy Alex (??), 19-Янв-10, 19:27 
Если отвлечься от "формальных" языков, от стоит вспомнить, что конфии должны быть ЛЕГКО понятны ЧЕЛОВЕКУ. Для пользовательской программы, в том числе - тому, кто питона (или еще какого языка) в глаза не видел. Так вот, для этого в конфиге не должно быть сложных конструкций - к примеру, только присваивание и конатенация, никакаой арифметики, IF и тому подобного - просто потому, что это "с первого взгляда" не охватить.
Второй вариант (IMHO, предпочтительный) - делить конфигурационные СКРИПТЫ, писаные на каком-нибудь полноценном языке, и конфиги, в которых лежат ЗНАЧЕНИЯ, используемые скриптами и головной программой.
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

104. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 21:59 
Я снова отталкиваюсь от определения. Конфигурационный файл - это файл, который хранит конфигурацию.

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

>Если отвлечься от "формальных" языков, от стоит вспомнить, что конфии должны быть ЛЕГКО понятны ЧЕЛОВЕКУ.

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

Тогда как одни люди стараются что-то понять или освоить. Другие упорно стараются дискредитировать результаты исследований и практик в области формализации, и превратить формальные системы и четкие определения, обратно в нечто туманное и неопределеное.

Я вовсе не призываю на абсолютно все смотреть формально и "четко". Но если такие результаты получены, это просто глупо не уметь пользоваться ими по непосредственному назначению.

Дело снова в том, что "понятность" - это опять таки желательное свойство любых языков, а не только конфигов. Ктоме того, у каждого свои собственные критерии понятности, которые в общем случае очень и очень трудно определить. Или вы знаете какие-то общие критерии понятности, относящиеся абсолютно ко всем?

>Для пользовательской программы, в том числе - тому, кто питона (или еще какого языка) в глаза не видел. Так вот, для этого в конфиге не должно быть сложных конструкций

Распространеная ошибка. Путать такие принципиально разые вещи, как СЛОЖНОСТЬ и ПОНЯТНОСТЬ. Вот как раз языки, в которых стараются обходиться только "понятными" конструкциями, на таких языках и получаются самые сложные и громоздкие формулировки и большие тексты. И наоборот. Так что здесь все тоже не все так просто, как вам кажется.

> - к примеру, только присваивание и конатенация, никакаой арифметики, IF и тому подобного - просто потому, что это "с первого взгляда" не охватить.

Так вам нужна именно понятность с первого взгляда или понятность при многократном использовании? Если с первого взгляда не понятно, то можно просто ПОПЫТАТЬСЯ ПОНЯТЬ. Если такие люди, у которых это неплохо получается. Остальным общая рекомедация НЕ ТРОГАТЬ, и обращаться к разработчикам или администраторам.

Вы считаете, что людям, у которых проблемы с абстрактным мышлением, такие вещи, как присваивание и конкатенация (не их названия, а именно эти синтаксические конструкции), будут более понятны, чем банальное ветвление и арифметика.

Только с одним присваиванием возникает куча ньюансов, которые сильно зависят от реализации языка.

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

>Второй вариант (IMHO, предпочтительный) - делить конфигурационные СКРИПТЫ, писаные на каком-нибудь полноценном языке, и конфиги, в которых лежат ЗНАЧЕНИЯ, используемые скриптами и головной программой.

Ну любой язык или ситему можно разделить на какие-то части по каким-то критериям. При чем здесь именно конфиги?

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

Так в чем же суть самих конфигов и конфигураций? Не понимаете - тогда лучше доверьтесь разработчику. Хотя некоторые разработчики это тоже не понимают, но хотя бы этом случае интуитивно действую по шаблонам. И проблем от этого бывает гораздо меньше, чем от пользователей, привыкших к "понятным" с их точки зрения интерфейсам.

Следует ли разработчикам потакать желаниям таких пользователей, которые сами не могут четко СФОРМУЛИРОВАТЬ (однокоренное со словом "формальный"), чего они хотят. Точнее желаниям потакать можно и даже нужно, но для этого как раз и есть ГРАФИЧЕСКИЕ ИНТЕРФЕЙСЫ. А ФОРМАЛЬНЫЕ СИСТЕМЫ лучше использовать по их прямому назначению, а не ради облегчения комплексов неполноценности перед "полноценными" языками.

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

Ответить | Правка | Наверх | Cообщить модератору

18. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Max E. Kuznecovemail (?), 18-Янв-10, 03:09 
>В творчестве правил нет.
>
>Проекты, в которых авторы слишком стараются все подряд угодить в ущерб свой
>собственной индивидуальности и собственному творческому началу, неизбежно утрачивают качество и выраждаются
>в тупую кучу функционала, которая формируется исключительно под влиянием рынка.

Верно, я от таких идей и отталкивался в общем-то.

Вообще я любитель пописать парсеры, ваял их раньше на каждый чих, вот и внутри проекта используется честный LR(1) парсер для разбора выражений, создающих предикаты для файловых объектов, эти выражения получились довольно гибкими и удобными и очень широко используются внутри и, собственно, снаружи (в конфигах), здесь действительно тот случай, когда имело смысл облегчить задачу.

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

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

4. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от ixti (ok), 18-Янв-10, 00:27 
А кто придумал, что нет? Какая принципиальная разница? Или вам нужно исключительно regedit?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

30. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от be_nt_all (ok), 18-Янв-10, 11:05 
>>все конфигурационные файлы представляют собой скрипты на языке Python
>Кто придумал, что это удобно? Давайте уж тогда вообще без конфигурационных файлов - вон исходники, правь если хочешь.

Я считаю, что это UnixWay-но :). И таки да, удобно, можно конечно прикручивать парсер YAML, но зачем, если программа уже на Python?

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

84. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от anonymous (??), 19-Янв-10, 02:07 
> Я считаю, что это UnixWay-но :).

Это Linux-way'но. Добавить сложности там, где ее не надо. А Unix-way он, все же, KISS.

Алсо, http://docs.python.org/library/configparser.html

Ответить | Правка | Наверх | Cообщить модератору

81. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от anonymous (??), 19-Янв-10, 01:56 
Не знаю кто это придумал, но руки бы ему не мешало оторвать.

И проблема не в языке или в чем-то. Проблема в том что конфиг ВНЕЗАПНО оказывается (тадам!) ТЬЮРИНГ-ПОЛОН. Я, надеюсь, все понимают что это значит и к чему это ведет, например, попытки (правильно) сделать GUI-конфигуратор?

А если он не на Питоне, а, все же, на его ограниченном подмножестве (ну, скажем, набор строк foo.bar = True и простые if'ы с ограниченными условиями), то это так и надо объявлять. Но, казалось бы, зачем это все это тогда, если даже в самом питоне, в стандартных либах, есть готовые модули для работы с конфигами?

Так что, господа разработчики, пожалуйста (ПОЖАЛУЙСТА!), оставьте Тьюринг-полные конфиги там, где они нужны. Тому же GNU Emacs, например, или, там, почтовым обработчикам.

P.S. Что творится в конфиге сабжа не смотрел. Но не верю я что там что-то такое есть.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

83. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от anonymous (??), 19-Янв-10, 02:05 
> например, попытки (правильно) сделать GUI-конфигуратор?

(На всякий случай) С болью вспоминающим о regedit.exe¹ даю другую задачку. Автоматическая правка конфигов, например. Т.е. sed(1)/awk(1) уже _принципиально_ не способны обработать такое, только если частный случай когда повезет и нужное место будет.

В итоге, когда программа (скажем, расширяющая возможности) хотела бы и могла бы сама добавить себя в конфиг может его угробить. Вот и вся разница.


____
1) Offtopic: А что плохого в реестре? Только не в вендовой дряни, а в общем смысле — некой единой системе хранения (хорошо продуманной, разумеется) конфигурационных данных. Которая покрывает запросы добрых 90% программ (а GNU Emacs хранит конфиг как ему надо, потому что там это обосновано). Даже аналог procfs (etcfs) покроет требования доброй половины конфиговых запросов, и это с учетом того что в VFS Linux файл не может, увы, быть одновременно и директорией.

Ответить | Правка | Наверх | Cообщить модератору

103. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от Crazy Alex (??), 19-Янв-10, 19:37 
>1) Offtopic: А что плохого в реестре? Только не в вендовой дряни,
>а в общем смысле — некой единой системе хранения (хорошо продуманной,
>разумеется) конфигурационных данных. Которая покрывает запросы добрых 90% программ (а GNU
>Emacs хранит конфиг как ему надо, потому что там это обосновано).
>Даже аналог procfs (etcfs) покроет требования доброй половины конфиговых запросов, и
>это с учетом того что в VFS Linux файл не может,
>увы, быть одновременно и директорией.

Да, в принципе, ничгео плохого, если не пытаться засунуть в этот же реестр всех, влючая Emacs. И если обеспечить:
1) интфрументы работы (аналоги тех же grep/awk)
2) простой экспорт нужных кусков
3) возможность версионироания с просмотров diff'ов
4) обозримость конфига (открыв конфиг, мы видим не один параметр, и даже не один уровень - а достаточно много).
5) надежность работы, в том числе - возможность выковырять живые куски из битого конфига
6) не деградирующую со временем производительность.
7) простоту написания/изменения человеком (и т.ч. - без gui).

Если есть желание - можем обсудить это дело подробнее, было бы неплохо что-то такое сваять...

Ответить | Правка | Наверх | Cообщить модератору

107. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 19-Янв-10, 23:33 
Что плохого в реестре? Попытка все подвести под единый язык и единый формат. Человеческая практика еще со времен попыток построить Вавилонскую Башню показала, что универсальных языков и форматов не существует, а только хуже получается.

>Да, в принципе, ничгео плохого, если не пытаться засунуть в этот же реестр всех, влючая Emacs. И если обеспечить:
>1) интфрументы работы (аналоги тех же grep/awk)
>2) простой экспорт нужных кусков
>3) возможность версионироания с просмотров diff'ов
>4) обозримость конфига (открыв конфиг, мы видим не один параметр, и даже
>не один уровень - а достаточно много).
>5) надежность работы, в том числе - возможность выковырять живые куски из
>битого конфига
>6) не деградирующую со временем производительность.
>7) простоту написания/изменения человеком (и т.ч. - без gui).

Вот и получаем, что проще все оставить в текстовых файлах. И просто сделать хорошую систему разграничения доступа и полномочий. Но здесь тоже бесполезно искать универсальный набор правил. Достаточно соблюдать иерархичность и модульность.

Хотя компиляция в какие-то бинарные форматы, в принципе допустима, если удается внятно обосновать, зачем это нужно. Только, повторюсь, бесполезно пытаться изобрести единый текстовый и бинарный формат на все случаи жизни. Эта задача сродни попыткам изобрести вечный двигатель.

Ответить | Правка | Наверх | Cообщить модератору

131. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от anonymous (??), 21-Янв-10, 13:26 
Не, ну если доброй половине софта хватит вообще key=value, то почему бы эту часть /etc не причесать под одну гребенку?

Только не в мерзостном виде аля gconf, а чем-то хорошем, типа /sys. Чтобы "бинарности" (ну, понимаете о чем я, думаю) там было не больше чем в текстовом файле на ext3.

А где не подходит - то, разумеется, не делать глупостей и не запихивать. И, вроде как, все хорошо становится.

Ответить | Правка | Наверх | Cообщить модератору

132. "Третий релиз консольного файлового менеджера XYZCommander"  +/
Сообщение от a (??), 21-Янв-10, 15:20 
>Не, ну если доброй половине софта хватит вообще key=value, то почему бы эту часть /etc не причесать под одну гребенку?

Потому что ответ вы уже сами дали ниже.

>Только не в мерзостном виде аля gconf, а чем-то хорошем, типа /sys.

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

Текстовы файлы - это уже и есть "под одну гребенку".

>Чтобы "бинарности" (ну, понимаете о чем я, думаю) там было не больше чем в текстовом файле на ext3.

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

>А где не подходит - то, разумеется, не делать глупостей и не запихивать. И, вроде как, все хорошо становится.

Не подходит что и куда? Не запихивать что и куда? Автоматика так не понимает, оно не человек, с ней на других языках "говорить" нужно.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру