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