Информация об изменениях

Сообщение Re[11]: а в Линуксе вообще есть какой-то прогресс? от 14.09.2016 11:44

Изменено 14.09.2016 11:58 Evgeny.Panasyuk

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

O>Но я понимаю UNIX философию — нужно чтобы одна маленькая тулза делает хорошо свое одно маленькое дело. Проблема этой философии в том, что далеко не любое большое дело можно сделать хорошо путем компонования множества маленьких тулзов. Банальный пример — формат tar.gz UNIX идеология в чистом виде — есть маленькая тулза, хорошо пакующая файл, и есть маленькая тулза, делающая из кучи файлов один. Казалось бы, разбиваем функционал на мелкие базисы, и избавляемся от ненужной сущности как solid архивация. Тада? А вот фиг. Как из полуторагигового tar.gz вынуть 10байтный файлик с такой философией? А никак, вначале распаковать целиком .tar, а потом выковырять из него нужный файлик. Или..ТАДА! Послать нафиг философию и написать тулзу, которая умеет работать с tar.gz как целым и таким образом сумеет достать из быстро один нужный файлик.


Пример отличный. Одна большая утилита действительно может делать то, что невозможно при комбинации мелких, либо делать это лучше, быстрее и т.п. Тем не менее, мелкие комбинируемые утилиты тоже очень полезны — их можно комбинировать множеством разных способов, давая use-case'ы незаложенные в большие утилиты, пусть и не самым оптимальным способом.

Но, эта так называемая "UNIX философия" используется далеко не повсеместно в *nix. Ярчайший пример это сорокалетний Emacs, который отлично прижился в *nix среде, и который уж точно не является воплощением минимализма, его даже в шутку называют OS.
Поэтому выводить из суммы недостатков "философии мелких утилит", а из существования некоторых слепых фанатиков этой "философии", недостаток всей *nix экосистемы совершенно неверно.
Re[11]: а в Линуксе вообще есть какой-то прогресс?
Здравствуйте, ononim, Вы писали:

O>Но я понимаю UNIX философию — нужно чтобы одна маленькая тулза делает хорошо свое одно маленькое дело. Проблема этой философии в том, что далеко не любое большое дело можно сделать хорошо путем компонования множества маленьких тулзов. Банальный пример — формат tar.gz UNIX идеология в чистом виде — есть маленькая тулза, хорошо пакующая файл, и есть маленькая тулза, делающая из кучи файлов один. Казалось бы, разбиваем функционал на мелкие базисы, и избавляемся от ненужной сущности как solid архивация. Тада? А вот фиг. Как из полуторагигового tar.gz вынуть 10байтный файлик с такой философией? А никак, вначале распаковать целиком .tar, а потом выковырять из него нужный файлик. Или..ТАДА! Послать нафиг философию и написать тулзу, которая умеет работать с tar.gz как целым и таким образом сумеет достать из быстро один нужный файлик.


Пример отличный. Одна большая утилита действительно может делать то, что невозможно при комбинации мелких, либо делать это лучше, быстрее и т.п. Тем не менее, мелкие комбинируемые утилиты тоже очень полезны — их можно комбинировать множеством разных способов, давая use-case'ы незаложенные в большие утилиты, пусть и не самым оптимальным способом.

Но, эта так называемая "UNIX философия" используется далеко не повсеместно в *nix. Ярчайший пример это сорокалетний Emacs, который отлично прижился в *nix среде, и который уж точно не является воплощением минимализма, его даже в шутку называют OS.
Поэтому выводить из суммы недостатков "философии мелких утилит", из существования некоторых слепых фанатиков этой "философии", недостаток всей *nix экосистемы совершенно неверно.