Re[14]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 13:52
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, eao197, Вы писали:


E>>Кроме того, я говорю про C++. Ситуация с Янусом совсем другая, т.к. для C# есть мощная поддержка XML-сериализации со стороны framework-а.


IT>Для плюсов и всего остального есть msxml.dll.


Под Lunix-ом, *BSD и Solaris-ом
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[14]: Формат конфигов
От: Павел Кузнецов  
Дата: 24.06.05 13:52
Оценка:
Здравствуйте, IT, Вы писали:

E>>Кроме того, я говорю про C++. Ситуация с Янусом совсем другая, т.к. для C# есть мощная поддержка XML-сериализации со стороны framework-а.


IT>Для плюсов и всего остального есть msxml.dll.


На Mac OS X не работает.
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[15]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 14:48
Оценка:
Здравствуйте, Павел Кузнецов, Вы писали:

IT>>Для плюсов и всего остального есть msxml.dll.


ПК>На Mac OS X не работает.


Значит там должно быть что-то другое.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[15]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 14:48
Оценка:
Здравствуйте, eao197, Вы писали:

IT>>Для плюсов и всего остального есть msxml.dll.


E>Под Lunix-ом, *BSD и Solaris-ом


Ты подо всё под это пишешь софт?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[16]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 15:00
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, eao197, Вы писали:


IT>>>Для плюсов и всего остального есть msxml.dll.


E>>Под Lunix-ом, *BSD и Solaris-ом


IT>Ты подо всё под это пишешь софт?


Если говорить именно про меня, то я пишу библиотеки и framework-и, на основе которых затем делают прикладной софт (в том числе и я делаю). И от нас жизнь реально требует, чтобы наши решения были портируемыми. Сейчас у нас есть запушенные в коммерческую эксплуатацию системы на Windows и Linux-платформах. FreeBSD, Solaris и HP NonStop постоянно мелькают в поле зрения, но дальше тестовых прогонов пока дело не шло, в последний момент заказчик выбирает Linux (RedHat или SuSe).
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[17]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 15:04
Оценка:
Здравствуйте, eao197, Вы писали:

IT>>Ты подо всё под это пишешь софт?


E>Если говорить именно про меня, то я пишу библиотеки и framework-и, на основе которых затем делают прикладной софт (в том числе и я делаю). И от нас жизнь реально требует, чтобы наши решения были портируемыми. Сейчас у нас есть запушенные в коммерческую эксплуатацию системы на Windows и Linux-платформах. FreeBSD, Solaris и HP NonStop постоянно мелькают в поле зрения, но дальше тестовых прогонов пока дело не шло, в последний момент заказчик выбирает Linux (RedHat или SuSe).


И как ты обеспечиваешь совместимость для UI, DB, системных вызовов?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[18]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 15:13
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, eao197, Вы писали:


IT>>>Ты подо всё под это пишешь софт?


E>>Если говорить именно про меня, то я пишу библиотеки и framework-и, на основе которых затем делают прикладной софт (в том числе и я делаю). И от нас жизнь реально требует, чтобы наши решения были портируемыми. Сейчас у нас есть запушенные в коммерческую эксплуатацию системы на Windows и Linux-платформах. FreeBSD, Solaris и HP NonStop постоянно мелькают в поле зрения, но дальше тестовых прогонов пока дело не шло, в последний момент заказчик выбирает Linux (RedHat или SuSe).


IT>И как ты обеспечиваешь совместимость для UI, DB, системных вызовов?


К счастью, UI в наших решения особенно и не требуется, это в основном, server-side системы. Но для работы с GUI на C++ мы используем Qt.
Для работы с DB применяем otl. Некоторые из наших систем вообще не нуждаются в БД.
Для системных вызовов (сокеты, мультипоточность, работа с dll) пока используем свои обертки, которые унаследовали еще из OS/2. Но сейчас, потихоньку, переползаем под ACE.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[19]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 15:20
Оценка:
Здравствуйте, eao197, Вы писали:

E>Для системных вызовов (сокеты, мультипоточность, работа с dll) пока используем свои обертки, которые унаследовали еще из OS/2. Но сейчас, потихоньку, переползаем под ACE.


О! Это как раз оно Думаю, что сделать свою обёртку для XML парсеров не будет на много сложнее.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[20]: Формат конфигов
От: Sergey Россия  
Дата: 24.06.05 15:24
Оценка:
Hello, IT!
You wrote on Fri, 24 Jun 2005 15:20:01 GMT:

E>> Для системных вызовов (сокеты, мультипоточность, работа с dll) пока

E>> используем свои обертки, которые унаследовали еще из OS/2. Но сейчас,
E>> потихоньку, переползаем под
E>> ACE.

I> О! Это как раз оно Думаю, что сделать свою обёртку для XML парсеров

I> не будет на много сложнее.

Блин, и находят же люди о чем спорить Этих парсеров кроссплатформенных
как грязи — никакие обертки нафиг не нужны.

With best regards, Sergey.
Posted via RSDN NNTP Server 1.9
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Re[20]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 15:30
Оценка: +1
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, eao197, Вы писали:


E>>Для системных вызовов (сокеты, мультипоточность, работа с dll) пока используем свои обертки, которые унаследовали еще из OS/2. Но сейчас, потихоньку, переползаем под ACE.


IT>О! Это как раз оно


А о чем это ты?

IT>Думаю, что сделать свою обёртку для XML парсеров не будет на много сложнее.


Может быть, а есть ли смысл?
Исходя из моего скромного опыта работы с libxml2 и xerces получается, что нет единого C++ API для работы с XML парсерами. В таких условиях обертка должна не только содержать какие-то прикладные возможности (скажем преобразования unsigned int из строкового представления в двоичное), но и иметь адаптацию к конкретной XML-подложке (libxml2, xerces, expat, tinyxml, gsoap, ...). Довольно нехилый кусок работы. А если такой прозрачной адаптацией не заниматься, то зачем вообще подобная обертка нужна?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[21]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 15:32
Оценка: :)
Здравствуйте, Sergey, Вы писали:

S>Блин, и находят же люди о чем спорить Этих парсеров кроссплатформенных как грязи — никакие обертки нафиг не нужны.


Расскажи это нашим почётным велосипедистам
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[27]: Формат конфигов
От: GlebZ Россия  
Дата: 24.06.05 15:41
Оценка: :)
Здравствуйте, Павел Кузнецов, Вы писали:


Да уж, сравнил слона и козу. Интерфейс с реализацией, притом реализация с комментариями.
И вообще, если не нравится код, то его следует рефакторить. А вот если не нравится функциональность, то можно и переписать. И причина Влада переписать редактор (как он утверждал сначала за 2 дня ) отнюдь не лежит в этой плоскости.
И вообще, можно прочитать пару книжек а ля Гамма или Фаулер и писать на каждом столбе что классы обязаны быть маленькими. А можно творить и попадаться на том, что не всегда это верно.
Если нам не нравятся большие интерфейсы предлагаю переписать gdi32.dll, user32.dll и kernel32.dll. Кто за?

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[22]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 15:48
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, Sergey, Вы писали:


S>>Блин, и находят же люди о чем спорить Этих парсеров кроссплатформенных как грязи — никакие обертки нафиг не нужны.


IT>Расскажи это нашим почётным велосипедистам


А что, уже такие звания раздают? Хочу!
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[36]: Формат конфигов
От: Павел Кузнецов  
Дата: 24.06.05 15:50
Оценка: 1 (1)
AndrewVK,

> Если ты про <if>, то такие конструкции есть и в чисто функциональных языках.


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

<foreach item="Folder" property="foldername">
     <in>
         <items>
             <include name="**" />
         </items>
     </in>
     <do>
         <echo message="${foldername}" />
     </do>
</foreach>

<project default="build">
     <property name="debug" value="false" />
     <target name="init" unless="${target::has-executed('init')}">
         <echo message="initializing" />
     </target>
     <target name="compile" depends="init">
         <echo message="compiling with debug = ${debug}" />
     </target>
     <target name="build">
         <property name="debug" value="false" />
         <call target="compile" />
         <property name="debug" value="true" />
         <call target="compile" />
     </target>
</project>

Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[37]: Формат конфигов
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 24.06.05 16:00
Оценка: +1
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>AndrewVK,


>> Если ты про <if>, то такие конструкции есть и в чисто функциональных языках.


ПК>Что является подтверждением наличия в большинстве "чисто" функциональных языков императивных конструкций.


<...>

Я бы даже сказал, что здесь есть присутствие двойного языка: первый, XML, отвечает за внешнее описание. А второй, за конструкции вида:
<echo message="${foldername}" />
<target name="init" unless="${target::has-executed('init')}">
         <echo message="initializing" />
</target>


Т.е. кто-то, после извлечения атрибута message из тега echo должен проверить, что в нем содержится. И если там есть имя переменной, то нужно выполнить какое-то действие. Причем провека выполняется уже без использования возможностей XML.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[16]: Формат конфигов
От: Павел Кузнецов  
Дата: 24.06.05 16:13
Оценка: 1 (1) +3
IT,

> IT>> Для плюсов и всего остального есть msxml.dll.

>
> ПК> На Mac OS X не работает.
>
> Значит там должно быть что-то другое.

Есть, конечно. Куча библиотек, из которых остаются кросс-платформенные, т.к. есть еще и Windows. Теперь доходим до дела: никакой готовой интеграции, подобной сериализации C# в XML там обычно нет, нужно делать. Иначе получится "красота" в таком духе: http://rsdn.ru/forum/Message.aspx?mid=1237916
Автор:
Дата: 23.06.05
. Часто может оказаться, что собственно формат при оценке затрат на сериализацию уже играет малую роль, т.к. "обвязка", не зависящая от формата, "съедает" большую часть усилий, и представляет наибольшую сложность в реализации. В свете чего вопрос: зачем в этом случае мучиться с XML, если можно сделать более удобный формат, лучше подходящий для нужд конкретного проекта?..
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[20]: Формат конфигов
От: Cyberax Марс  
Дата: 24.06.05 16:18
Оценка:
IT wrote:

> E>Для системных вызовов (сокеты, мультипоточность, работа с dll) пока

> используем свои обертки, которые унаследовали еще из OS/2. Но сейчас,
> потихоньку, переползаем под ACE
> <http://www.cs.wustl.edu/%7Eschmidt/ACE.html&gt;.
> О! Это как раз оно Думаю, что сделать свою обёртку для XML парсеров не
> будет на много сложнее.

А зачем? libxml есть везде — сам лично компилировал его для PocketPC

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[28]: Формат конфигов
От: Павел Кузнецов  
Дата: 24.06.05 16:25
Оценка: 51 (4) +1
GlebZ,

> Да уж, сравнил слона и козу. Интерфейс с реализацией, притом реализация с комментариями. И вообще, если не нравится код, то его следует рефакторить.


Я сначала хотел выкинуть реализацию, оставив от методов и свойств только сигнатуры, но оставил ради того, чтоб более наглядно было, что именно делает та или иная функция. Особенно позабавило "Открываем диалог выбора фйла проекта" в классе с названием Compiler. В данном случае для меня было существенно качество проектирования на уровне классов, а не качество реализации.

> И вообще, можно прочитать пару книжек а ля Гамма или Фаулер и писать на каждом столбе что классы обязаны быть маленькими.


Здесь "прокол" не в объеме класса, а в неоднородности его обязанностей и в нарушении множества самых базовых принципов OOP: класс и диалоги открывает, и в "потроха" ассоциированных классов "лазит", и знания о формате файлов Visual Studio содержит, и т.п.

> А можно творить и попадаться на том, что не всегда это верно.


Правильно, по коду сразу виден подход: "что тут думать, тут прыгать надо".
Posted via RSDN NNTP Server 2.0 beta
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[21]: Формат конфигов
От: IT Россия linq2db.com
Дата: 24.06.05 16:28
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А зачем? libxml есть везде — сам лично компилировал его для PocketPC


Среди вариантов предложенных eao197 такого варианта не было
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[29]: Формат конфигов
От: GlebZ Россия  
Дата: 24.06.05 16:58
Оценка: :)))
Здравствуйте, Павел Кузнецов, Вы писали:

Сейчас взглянул на код повнимательней. Конечно в отсутсвие автора разбирать его как-то нехорошо, однако рискну (поскольку мое мнение его по-моему не обидет).
ПК>Я сначала хотел выкинуть реализацию, оставив от методов и свойств только сигнатуры, но оставил ради того, чтоб более наглядно было, что именно делает та или иная функция. Особенно позабавило "Открываем диалог выбора фйла проекта" в классе с названием Compiler.
Меня позабавило название метода MakePathLoverCase. Я не эксперт в английском за пределами технических текстов, но что-то в названии этого методе есть.


ПК>Здесь "прокол" не в объеме класса, а в неоднородности его обязанностей и в нарушении множества самых базовых принципов OOP:

По порядку.
ПК>класс и диалоги открывает,
Ты в MFC для вызова COpenSaveDialog делаешь свой класс? Открытие файлов это уже самодостаточные классы. Или ты кроешь людей которые придумали DOMDocument с его методом Load?
ПК>и в "потроха" ассоциированных классов "лазит",
Че-то не нашел где? Намекни?
ПК>и знания о формате файлов Visual Studio содержит, и т.п.
Может быть действительно два метода типа ReadVs80Format и ReadVs71Format следует выделить в классы. Но что-то сильно криминального в этом я не вижу. Когда следует ожидать 3 формат? И стоит это того?

>> А можно творить и попадаться на том, что не всегда это верно.

ПК>Правильно, по коду сразу виден подход: "что тут думать, тут прыгать надо".
Припиши и меня в сей список. У меня тоже такое часто бывает. Начинаю писать, и получается как получается. Но странная вещь — чаще всего получается.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.