The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Представлена новая командная оболочка nushell"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Представлена новая командная оболочка nushell" +/
Сообщение от Ordu (ok), 01-Сен-19, 19:42 
>> Мне не нужен find принимающий на вход sql. Всё что он должен принимать -- это список файлов/директорий, которые выданы ему шеллом.
> Конечно, ведь это так эффективно - гонять данные от одного процесса к
> другому, особенно, когда нет никаких причин сразу не сделать всё во
> втором процессе.

Если нужна эффективность, то тебе не нужен shell -- интерпретатор на интерпретаторе, интерпретатором погоняет. Тебе нужна программа на C. Эффективность -- это к компилируемым языкам, а интерпретаторы -- это для того, чтобы быстро слепить.

> Скопипасть или вынеси в библиотеку. Проблема то.

Угу. И где это сделано кроме как в busybox?

>> Да ладно, оверинжиниринг -- это find, в который напихали всё что нужно, всё что не нужно, и ещё немного.
> Например, что? --delete? --ls? Ну да, это небольшое пренебрежение идеологией во имя
> практичности.

Прикинь, я даже не знал про такие опции, я постоянно пользовался фишкой: -exec rm {} \;. Про ортогональность API разработчики find тоже ничего не слышали?

> Но настолько очевидно нужное и тривиальное, что всерьёз к этому цепляться на
> мой взгляд - придирки.

Вот Реймонд тоже так считает. Когда что-то буквально следует его принципам unix way, он говорит, что это победа unix way. Когда что-то самым гнусным образом нарушает эти принципы, он говорит, что это придирки, практичность важнее, и поэтому это тоже победа unix-way. Поэтому я и говорю, что вся концепция unix-way (её ведь Реймонд назвал словами "unix way" и сформулировал, так?) -- это гнилой политический базар.

> find делает, в целом, ровно то, что должен - показывает те объекты
> дерева ФС, которые удовлетворяют описанным опциями командной строки требованиями.

И он совершенно был бы не нужен, если бы в unix-овом шелле был бы предусмотрен стандартный метод передачи табличных данных через пайп.

>>> Ей богу, я могу придумать только какую-то оторваную от реальности жесть, чтобы sql в find был оправдан. В обычных задачах пользы от этого не будет.
>> Есть две директории, в них много одинаковых файлов, но есть разные, я хочу создать третью директорию как объединение/пересечение/дополнение/любая-другая-операция-над-множествами из этих двух. В идеале даже сделать так, чтобы из одной из первых двух была бы сделана "третья", минимальным копированием файлов, потому что она находится на тормозном внешнем носителе, а файлы довольно большие.
> Ну я и говорю: высосанная из пальца жесть. Которую даже ценителям надо
> делать один раз в жизни.

Не высосанная из пальца жесть. Это один из случаев с которыми я сталкивался. Да, именно с таким случаем я сталкивался единожды. Но я сталкивался с десятками других единичных случаев, когда я реально задумывался о том, что вся эта хвалёная "гибкость" командной строки заканчивается сразу же, как только я сталкиваюсь с неповседневной задачей.

> Конечно же я не буду решать эту задачу find'ом. Есть же rsync.

Во-во. Ещё один ман с тысячью опций. И на каждую специфическую задачу по ещё одному man'у.

> А с чего ты решил, что твоя конструкция вообще будет эффективнее? Она
> также обойдёт ВСЕ файлы в директориях и потрогает диск столько же
> раз.

Смотря что с чем сравнивать. С cp, например, простейшим решением может оказаться копировать файлы безусловно, даже если я копирую копию файла в него самого. Есть два файла, совпадающих бит-в-бит, но я тем не менее копирую один в другой, дабы не плодить себе специальных случаев для обработки при написании командной строки.

> Замена N маленьких приложений на один комбайн - действие противоположное "юниксвею" по
> смыслу.

Во-во. Я о том же.

>> Задача фильтрации информации -- это вещь, которая нужна везде и постоянно. Вынести её в отдельную утилиту, которая умеет _хорошо_ фильтровать: сам бог велел.
> 1) Такие утилиты уже есть.

Пример?
grep? Ха-ха.
awk? Он так и не научился в заголовки столбцов, их так и приходится отсчитывать на пальцах, чтобы выбрать нужный. Да и синтаксис его совершенно не совместим с shell'ом, приходится жестоко экранировать. Ну, и мне не нравится, то, что в awk не стоит умолчательного действия "вывести совпадающую строку".
R? R умеет в заголовки столбцов, но вот несовместимость синтаксиса с шеллом остаётся. Плюс он ещё менее awk заточен на использование в составе более сложной команды.

> 2) Отрывать функционал фильтрации там, где он действительно нужен - вредительство и
> больше ничего.

Это утверждение, которое необосновано ничем. В этом треде никто ни разу не высказал ни единого слова, которое можно было бы считать аргументом в пользу этого утверждения.


>>>> Если же поисковой синтаксис прибит гвоздями к find, то выбора уже не остаётся.
>>> Всё так. Но синтаксис не является признаком "юниксвейности".
>> Ой, ну давайте теперь будем жонглировать словами, играя в самую низкопошибную демагогию. Я уже третий? четвёртый? раз объясняю что я имею в виду? Не надо делать вид, что ты до сих пор не понял.
> По тексту моих ответов ты мог бы и сообразить, что я тебя понял.

И тем не менее написал "синтаксис не является признаком юниксвейности". Зачем? Чтобы я усомнился в том, что ты меня понимаешь? Или чтобы я увидел, что ты умеешь в демагогию? Или чтобы была возможность поговорить со мной о демагогии, уведя разговор в сторону? Или зачем? Какую конкретно цель ты преследовал этой фразой?

> Только я продолжаю утверждать, что то, чего хочешь ты не имеет отношения к "unix way".

Давай уточним. Что ты понимаешь под unix-way? То что описал Раймонд в TAOUP? Естественно, что то, что я говорю, не имеет отношения к TAOUP. Я бы себя уважать перестал, если бы оно имело бы отношение. Вот если взять TAOUP, выкинуть оттуда всю воду, разборы конкретных случаев, и оставить исключительно два-три принципа, и ещё две-три цели, которых unix-way пытается достичь, следуя этим принципам. Затем заявить, что эти принципы требуют неукоснительного выполнения, а отклонения от них -- это отклонения от unix-way, то получится декларация, которая уместится в трёх абзацах. К ней можно приложить несколько страниц более развёрнутого описания, и вот тогда, может быть, я и соглашусь с тем, что получится. Смотря что именно будет в том списке принципов. А TAOUP, может быть и описывает unix-way, но если так, то тогда нахрен он нужен такой unix-way? Зигмунд Фройд бы, чётко определил бы TAOUP в тяжкий случай психологической защиты под названием рационализация. Мне не нужны многостраничные высеры порождённые действием психологических защит.

> PS: Идеология должна служить коллективу, а не коллектив идеологии. Иначе это уже
> тоталитарная секта, а не коллектив.

Идея unix-way служит исключительно политическим целям. Никаких технических целей она решить не в состоянии. Тебе интересна политика? Мне интересна, но все эти насквозь прогнившие идеологии единственное предназначение которых пудрить мозги широким массам я изучаю исключительно чтобы лучше понять ущербности мышления широких масс. Других применений им я не могу найти.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Представлена новая командная оболочка nushell, opennews, 29-Авг-19, 11:30  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру