Max Dmitrichenko -> Victor Wagner @ Thu, 12 Nov 2015 13:24:15 +0300: >> Потому что очевидно, что синтаксис шины сообщений должен быть >> максимально близок к синтаксису командной строки.
MD> Для чего и кому это надо? Иметь возможность слать event'ы из MD> коммандной строки штука нужная и полезная. Но это делается отдельной MD> утилитой, которая понимает синтаксис текста и конвертирует их в MD> сообщения шины. Один хрен, подрубиться telnet'ом к unix socket'ам и MD> начать фигачить командочки не получится. telnet'ом - нет, а nc - можно. А "для чего"... Чем больше прослоек между трафиком по сети и глазами того человека, который ищет проблему, тем больше вероятность, что проблема потеряется в этих прослойках. Если оказывается, что две библиотеки несовместимым образом реализуют бинарный протокол (ошибки, чтоб никому не было обидно, предположим в обеих), то декодер, основанный на одной из них, покажет только половину проблем. А если ошибка только в этой библиотеке, то и вообще покажет ошибку не там, где она на самом деле. Иногда бинарный формат окупается. В первую очередь в криптографии, где зашифрованный текст не должен иметь осмысленной интерпретации сторонним наблюдателем, и поэтому нет смысла делать его человекочитаемым. А вот метаинформацию TCP/IP сделать текстовой, может, и стоило. Я сильно подозреваю, что количество мест, где от этого заметно просела бы производительность, невелико. На совсем коротких интерактивных пакетах, где payload - один-два символа, она и так уже безнадежна, на длинных разница в оверхеде будет незаметна, а ситуаций, где размер payload'а порядка размера заголовка, тупо мало.