Здравствуйте, mbergal, Вы писали:
M>Здравствуйте, Sinclair, Вы писали:
S>>Здравствуйте, VladD2, Вы писали: VD>>>Убедил. Окончательно... Для конфигов нужно изобредать собственные языки на базе синтаксиса разных Кюрлов и т.п. S>>Не, ну смотря как и что. Кстати, один из самых экзотических (для меня) способов описания конфига — в использовании скриптового языка и инклуда. S>>Т.е. у нас есть ASP приложение. Все заинтересованные в конфигурации странички включают config.asp с примерно следующим содержанием: S>>
S>>Здорово, правда? Кстати, тут есть еще и такое преимущество, что в качестве значений настроек могут выступать не только константы, но и выражения. Что и не снилось ни ини файлам, ни XML .
M>Точно. BTW, такое же используется в Mozilla/Firefox (из всем известных програм).
Здравствуйте, eao197, Вы писали:
E>Например, XML определяет формат записи целых чисел (в десятичном формате, в шестнадцатиричном, в восмеричном, в двоичном)? А вещественных?
Здравствуйте, mbergal, Вы писали:
M>>>В моем случае "неудобство" — это потеря времени и денег. Не XML-ные config файлы позволяют мне в некоторых моих случаях maximize value/cost ratio.
AVK>>Остается только верить тебе на слово, бо доказательств и аргументов никаких.
M>Так чтобы написать чтобы Вы поняли — надо достаточно много времени приложить и много чего написать.
Но с меня то ты требуешь.
M>Вам непонятно — (use cases подобные моим Вы наверное не встречали) — поработать надо и изложить все в какой-то более проясняющей форме.
Не то чтобы непонятно, я вобще аргументов не вижу.
AVK>>>> Самое главное — не выдавать свою привычку за технический аргумент.
M>[...] M>А, мысль такая — "если кто-то привык в Фаре редактировать ХМЛ файлы — то это не значит что его пользователям это тоже это удобно". Хорошая мысль.
Ровно так же верна подобная мысль и в отношении вашего формата. На что я собственно инамекнул. Однако вы с Пашей то ли не поняли намека, то ли предпочти непонять.
M>OK. Так и запишем — современные IDE "не очень хорошо" помогают редактировать некоторые часто встречаюшиеся XML config files.
Я, кажется, говорил не о редактировании файлов в существующих системах, а в использовании XML в собственных. Ничто не мешало МС написать для основных хендлеров app.config схемы, и тогда бы все прекрасно работало. И еще, на всякий случай напомню, в этой ветке речь идет о полезности XML Schema для конфигов:
E>Справедливо. Но зачем для конфигурационных файлов XML Schema, XSLT, XPATH и пр. понять не могу.
Ну что ж — тогда могу просоветовать попробовать любой современный IDE, понимающий XML-Schema.
Приводить в качестве аргумента противоположной точки зрения файл без схемы несколько странно, не находишь?
M>Так что они помогают редактировать то?
XML снабженный схемой.
M>А то придется для примера взять NHibernate mapping file (хотя в общем то это не config file), потому как ничего лучше не знаю.
Не знаю, ни разу не сталкивался. У него схема есть?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, mbergal, Вы писали:
[...] M>>А, мысль такая — "если кто-то привык в Фаре редактировать ХМЛ файлы — то это не значит что его пользователям это тоже это удобно". Хорошая мысль.
AVK>Ровно так же верна подобная мысль и в отношении вашего формата.
Да, надо — "если кто-то привык в Фаре редактировать config файлы — то это не значит что его пользователям это тоже удобно"
AVK> На что я собственно инамекнул. Однако вы с Пашей то ли не поняли намека, то ли предпочти непонять.
Я намеки иногда трудно понимаю, особенно в технических дискуссиях.
Здравствуйте, Шахтер, Вы писали:
Ш>Попробуй объяснить, зачем в классе Compiler такие методы, как
CheckCsFile и MakePathLoverCase результат декомпозиции. Это часть кода класса вынесенная из больших функций при рефакторинге чтобы не загромождать код и упростить восприятие. CheckCsFile и MakePathLoverCase вещи сугобо спефические и тут им самое место.
GetProjectFiles вообще часть интерфейса класса. Класс используется в том числе и для загрузки проектов в визульных утилитах.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>Этот формат хорош тем, что он гораздо читабельнее XML и его правка не требует навороченных визуальных редакторов.
Да уж... куда же более читабельнее.
E>Кроме того, я говорю про C++. Ситуация с Янусом совсем другая, т.к. для C# есть мощная поддержка XML-сериализации со стороны framework-а.
Мощьная поддержка ХМЛ сегодня есть почти везде. Но хочу напомнить, что тема была как раз о Шарпе.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>О! Началось. "Открой Янус, да посмотри!" (c) мой. И где там выражения (ну, хотя бы условные секции) в настройках?
Они там не нужны. Это конфиг а не скриптовый файл.
ГВ> И как ты себе представляешь "универсальный ГУИ" для такого языка?
Глянь, например, msbuild и его API. Там как раз и гуи делается на раз и условные операторы есть правда декларативные но это роли не играет.
VD>>откой его настройки и погляди как редактируется ХМЛ в нем. Потом открой исходники януса и погляди как этот "ХМЛ" вглядит в коде. Думаю ты будешь удивлен, что это просто объект.
ГВ>sic! Семантика Янусовых настроек легко аппроксимируется статичной структурой данных. eao197 приводит пример куда как более сложной ситуации.
IT тут правильно сказал, что товарищь слишком усложняет. Ну, да и условия можно приклеить на атрибутах. Вот только редактировать такой конфиг программно уже вряд ли удастся.
ГВ>Ещё можно посмотреть на перерасход сил от использования "готовых стандартов" там, где они не уместны.
И кто бы мог подумать? Ну, ты просто открыл мне глаза.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык?
Тут в дотнете один орел рассказывал, что просто шарповские файл в качестве конфига использовал. Говорил что ооочень гибко. Вот только изврат все же и с безопасностью могут быть поблемы.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Sinclair, Вы писали:
E>>Следовательно, конфиги лучше писать на C#. S>Ну, в частности именно такой выбор сделан в WinForms. В отличие от, например, Delphi, где форма описывается внешним ресурсом, в .Net форма сериализуется прямо в код.
Вот в Авалоне МС уже забил на эту идею и использует банальный ХМЛ.
... << RSDN@Home 1.1.4 beta 7 rev. 466>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Шахтер, Вы писали:
Ш>>Попробуй объяснить, зачем в классе Compiler такие методы, как
VD>CheckCsFile и MakePathLoverCase результат декомпозиции. Это часть кода класса вынесенная из больших функций при рефакторинге чтобы не загромождать код и упростить восприятие. CheckCsFile и MakePathLoverCase вещи сугобо спефические и тут им самое место.
Им самое место не в классе Compiler, а в коллекции свободных функций-утилит для работы с именами фоайлов.
VD>GetProjectFiles вообще часть интерфейса класса. Класс используется в том числе и для загрузки проектов в визульных утилитах.
То же самое -- свободная функция-утилита для извлечения списка файлов из файла проекта.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, eao197, Вы писали:
E>>Например, XML определяет формат записи целых чисел (в десятичном формате, в шестнадцатиричном, в восмеричном, в двоичном)? А вещественных?
AVK>http://www.w3.org/TR/xmlschema-2/
Интересно, а в каком состоянии это было в 2001-2002 годах?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, eao197, Вы писали:
AVK>>>http://www.w3.org/TR/xmlschema-2/
E>>Интересно, а в каком состоянии это было в 2001-2002 годах?
AVK>Во-первых там есть история, во-вторых какое это имеет значение?
Ну хотя бы то, что я начал использовать Curl-формат с 2001 года. И с тех пор много реально работающего кода построено на этом велосипеде. И у меня нет желания менять работающий код на что-то более модное, но менее удобное для меня.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, VladD2, Вы писали:
TK>>Не, про то, что "из SQL это делается вовсе непросто" VD>В 2005 специльный тип. В более ранних версиях подкключаются КОМ-объекты и ДЛЛ-и.
За исключением того, что 2005 еще не вышел, что в 2000 использовать тип TEXT можно только в качестве
параметра SP (т.е распарсить XML можно только в том случае, если его передали из вне), то все замечательно.
VD>Это точно проще чем писать парсер собственного конфига на TSQL.
хм. ну, покажи пример кода который распарсит мне XML хранящийся в поле типа TEXT...
Собственный конфиг (например, java properties) можно распарсить без особых проблем.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, VladD2, Вы писали:
TK>>хм. а мне показалось, что ты говорил про использование XML для хранения кофигурационной информации. Или, было что-то еще? VD>Ну, и что рукопашный парсер лучше?
Лучше тот, который выбран на основе конкретных use cases. Говорить же, что XML это серебряная пуля — не верно. Их не бывает.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Andrei N.Sobchuck, Вы писали:
ANS>>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык?
VD>Тут в дотнете один орел рассказывал, что просто шарповские файл в качестве конфига использовал. Говорил что ооочень гибко. Вот только изврат все же и с безопасностью могут быть поблемы.
Я тоже это использовал — я писал билиотечку для стохастического анализа и мне нужно было параметризоввывать ее вероятностными функциями распределения, имеющими практически произвольный вид. Ничего юзабильнее конфига на шарпе я не придумал — если кто придумает — поделитесь )
Опыт — это такая вещь, которая появляется сразу после того, как была нужна...
Здравствуйте, Sinclair, Вы писали:
S>Конечно. Натравливаем на схему соответствующий XSLT и получаем .h + .cpp.
Слишком громоздко.
Когда я решал такую задачу, я достигал результата в два приёма: сначала, используя класс XmlSchema из .Net, преобразовывал схему к промежуточному представлению в XML, а потом уже с помощью XSLT формировал код на Си++.
Здравствуйте, VladD2, Вы писали: ANS>>Кстати, да. Зачем изобретать свой чудо формат, если можно прикрутить некий скриптовый язык? VD>Тут в дотнете один орел рассказывал, что просто шарповские файл в качестве конфига использовал. Говорил что ооочень гибко. Вот только изврат все же и с безопасностью могут быть поблемы.
Здравствуйте, eao197, Вы писали:
E>Ну хотя бы то, что я начал использовать Curl-формат с 2001 года.
Ну и что? Я то говорю о теперешнем состоянии. Более того, в одном из топиков я специально упомянул о том, что все сказаное имеет отношение к вновь создаваемым проектам.