Попробуйте написать что-нибудь про то, как на нём легко программировать, какие интересные прграммы получаются, как можно, хоть и через задницу, делать то, что недоступно Java и C#. А не про то, что простейшая вещь требует знания ~9000 ньюансов языка.
Вот-вот… В том и проблема, что гибкости «вылазят», а не приходят по комманде.
А ещё конструкторы копирования, операторы присваивания, delete/delete[], порядки инициализации, смещение указателей при обращении к предкам… Ах, да, vector =)
Подобные вещи умееет, например, OSGi. Одно время мне это казалось полезным, сейчас я склонен считать это малонужной опцией.
Во-первых: ну залезет кто-нибудь, ну сломает… Кому хуже-то?
Во-вторых. Пусть делается что-то замкнутое, с небольшим количеством внешних интерфейсов и богатой внутренней жизнью, за которую и страшно. Чего бояться? Что пропихнут через интерфейсы что-то лишнее? Так от этого всё-равно надо защищаться и отнюдь не дефолтной областью видимости. Или что попробуют повторить эту богатую внутреннюю жизнь за пределеми нашего уютного модуля? Так это не автора модуля проблемы, ну убьётся кто-то об стену, разбегаться-то сам будет.
> Далеко не всегда инструменты защитят вас от кромешного ужаса.
С некоторых пор у меня сложилось впечатление, что именно они ведут к этому ужасу. Плавно сложилось впечатление, что минимум проблем имеет народ строющий запросы шаблонными движками и разбирающий самописными анализаторами. А супер-(де)сериализаторами, биндилками и валидаторами и прочей халявной атоматикой вымощена дорога в ад :(
> для меня самым ярким примером глупости WS-* было то, что в нём есть аналог HTTP, при том, что сам WS-* работает на HTTP. Получается такой HTTP-over-HTTP.
Не стоит забывать что SOAP делался для широкого круга транспортных протоколов, в частности вполне проработана его реализация на основе SMTP. Отсюда некоторое перекрытие с функциями HTTP.
Теория хороша, конечно. Но ситуации когда либы работы с мылом не дружат и надо смотреть реальные сообщения и работать над ними напильником вполне себе регулярны. Тогда концепцией REST проникаешься сразу и нафиг.
В пакеты для разработки обычно включают программу QtDemo — это сборник примеров различной сложности. Там можно посмотреть исходники(C++) и увидеть как они работают.
В контексте како-го нибудь современного здания стоящем на внутреннем скелете из металла, а не на собственных стенах из кирпича/бетона это не так страшно.
, хоть и через задницу,делать то, что недоступно Java и C#. А не про то, что простейшая вещь требует знания ~9000 ньюансов языка.А ещё конструкторы копирования, операторы присваивания, delete/delete[], порядки инициализации, смещение указателей при обращении к предкам… Ах, да, vector =)
Во-первых: ну залезет кто-нибудь, ну сломает… Кому хуже-то?
Во-вторых. Пусть делается что-то замкнутое, с небольшим количеством внешних интерфейсов и богатой внутренней жизнью, за которую и страшно. Чего бояться? Что пропихнут через интерфейсы что-то лишнее? Так от этого всё-равно надо защищаться и отнюдь не дефолтной областью видимости. Или что попробуют повторить эту богатую внутреннюю жизнь за пределеми нашего уютного модуля? Так это не автора модуля проблемы, ну убьётся кто-то об стену, разбегаться-то сам будет.
С некоторых пор у меня сложилось впечатление, что именно они ведут к этому ужасу. Плавно сложилось впечатление, что минимум проблем имеет народ строющий запросы шаблонными движками и разбирающий самописными анализаторами. А супер-(де)сериализаторами, биндилками и валидаторами и прочей халявной атоматикой вымощена дорога в ад :(
> для меня самым ярким примером глупости WS-* было то, что в нём есть аналог HTTP, при том, что сам WS-* работает на HTTP. Получается такой HTTP-over-HTTP.
Не стоит забывать что SOAP делался для широкого круга транспортных протоколов, в частности вполне проработана его реализация на основе SMTP. Отсюда некоторое перекрытие с функциями HTTP.