[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: systemd



12 ноября 2015 г., 12:50 пользователь Victor Wagner
<vitus@wagner.pp.ru> написал:
> On Thu, 12 Nov 2015 12:17:34 +0300
> Max Dmitrichenko <dmitrmax@gmail.com> wrote:
>
>> >> Затем они начали лочить на DBus с его бинарным API изрядную часть
>> >> системных инструментов.
>> >
>> > да кстати, DBus в целом идея нормальная, но блин бинарный протокол
>> > все портит
>>
>> И слава его придумщикам, что он бинарный. Текстовые протоколы ГОРАЗДО
>> сложнее в написании безопасного кода. Не говоря уже о накладных
>> расходах, которыми в эпоху гигабайтов и гигагерцов почему-то принято
>> принебрегать. Не хватало ещё очередного джаббера для демонов на XML.
>>
>
> XML это НЕ ТЕКСТОВЫЙ ПРОТОКОЛ.

Дело вкуса.

> Я бы даже IMAP из-за обязательных
> идентификаторов команды  относил к "полутекстовым". Текстовый это,
> например язык shell.

Как вы (апологеты текстовых протоколов) пользуетесь бинарными ssh'ем,
tcp/ip и так далее? Быть может, ещё и UTF-8 давит? ) Большинство
протоколов - бинарные, и это правильно. Текстовые протоколы - это
наследие первой тысячи RFC. Тогда не было инструментов типа
современных wireshark, люди осознано шли на такие жертвы, чтобы
глазами можно было найти ошибку. Тогда же ещё боялись 8-битных
кодировок и избегали использования первых 30 символов в payload'е. Вы
как хотите, а не хочу в такое прошлое.

> А авторам шины сообщений следовало законодательно ограничить длину
> сообщения 80-ю символами. Чтобы не возникало у пользователей идеи, что
> по этой шине можно передавать данные, как это периодически возникает у
> авторов всяких KDE-шных приблуд.

Ага, не джаббер для демонов, а твиттер ) Ну-ну )

> Кстати, для бинарного протокола все равно пришлось писать библиотеку
> маршаллинга. Потому что современные недопрограммисты НЕ В СОСТОЯНИИ
> написать разбор бинарного формата.

Вообще, переиспользование кода - это благо, безотносительно кривизны
недопрограммистких рук. Тут же ещё акромя маршалинга, надо
использовать unix socket'ы - вот это реально та вещь, которую не
каждый в жизни щупал за вымя.

> Можно было и для текстового формата
> эту библиотеку написать. Или взять готовую - питоновский argparse
> например.

Не хватало ещё зависимостей от питона в этих вещах.

> Потому что очевидно, что синтаксис шины сообщений должен быть
> максимально близок к синтаксису командной строки.

Для чего и кому это надо? Иметь возможность слать event'ы из
коммандной строки штука нужная и полезная. Но это делается отдельной
утилитой, которая понимает синтаксис текста и конвертирует их в
сообщения шины. Один хрен, подрубиться telnet'ом к unix socket'ам и
начать фигачить командочки не получится.

-- 
With best regards
  Max Dmitrichenko

Reply to: