Re[7]: КОП в linux
От: Kolhoz Мухосранск  
Дата: 22.06.06 08:33
Оценка: 1 (1) -2 :)))
Здравствуйте, Cyberax, Вы писали:

>> Не пайпом единым... Открываем кого либо через popen(), и общаемся в обе

>> стороны.
C>А все равно. Нет нормального механизма передачи исключительных ситуаций.

Как нет? Оно обычно в протокол зашито. Ни разу с этим трудностей не испытывал.

>> C>2. Или ограниченность простыми текстовыми данными, или необходмость

>> C>парсить данные в каждой программе.
>> Это ни фига не недостаток. Это огромнейшее преимущество!!!
C>Недостаток. Кроме простого текста есть:
C>1. XML

Это — простой текст. Только очень дерьмовый простой текст. У меня всегда практически для обмена структурированной информацией S-выражения используются.

C>2. JSON

C>3. Да хотя бы ini-файлы
C>4. Файлы с многострочными значениями

И? Где тут проблемы, а?

C>Какие стандартные утилиты догадаются, что последовательность &#3241 (код

C>вымышлен) — это буква "а"? Правильно, никакие.

Unix-way не завязан на "стандартные" утилиты. Никак.

C>Значит надо как-то канонизировать документы, включая в пайпы

C>дополнительные программы. И прощай простота.

>> C>4. С бинарными данными еще хуже.

>> Да? tar -xf — бла-бла-бла | bzip2
C>А как там у нас grep будет работать, например?

А зачем для бинарных данных grep?

C>Кстати еще минус — отсутствие методов работы с непотоковыми данными. То

C>есть "cat somefile | rar | mail ..." уже не сделать — так как
C>rar'у нужен произвольный доступ для создания solid-архивов.

Ну так убогий rar — не unix way, он просто не вписывается. Любая компонентная система требует от компонентов следования определённой идеологии (и хорошо если идеологии, а не фиксированному API).

C>Ну и иногда еще ОЧЕНЬ мешает невозможность сделать свою реализацию

C>файлов (я знаю, что можно использовать FUSE на Линуксе, но в общем
C>случае в юниксах эта задача не решается).

ЗАЧЕМ?!? Named pipes и unix domain sockets рулят со страшной
силой.

C>Мой любимый пример: как мне таблицу с графиками из Calc вставить в

C>AbiWord, а потом ее там же редактировать с помощью inplace-редактора?

Обе эти убогонькие программульки никакого отношения к unix way не имеют. А вот R + MySQL + Python + latex + gnuplot + maxima идеально вяжутся в одну систему, и, как показывает практика, вендовозные ламеры, любители поредактировать табличку в текстовом процессоре, по эффективности работы просто рядом не валялись с теми кто пользуется подобной связкой. Пара дней — и идеального полиграфического качества статья готова, с идеальными графиками и достоверно проверенным качеством вывода и рассчётов. Вордописцы будут с тем же самым возиться не меньше месяца, как, опять же, демонстрирует та же самая практика.

C>Я не спорю, pipe'ы — это очень элегантное решение, позволяющее

C>эффективно решать большую часть административных задач. Только
C>вот пора бы уже что-то новое придумать.

Те же самые пайпы ИДЕАЛЬНО решают задачу построения любого, сколь угодно сложного GUI. И все эти "объектно-ориентированные" решения из просто рядом не валялись с простым и элегантным решением в стиле unix way.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.