Size: a a a

2020 November 13

AP

Aleksei (astynax) Pi... in fprog_spb
Потому что парсинг и сериализация требуются на каждом отдельном шаге
источник

AP

Aleksei (astynax) Pi... in fprog_spb
В PowerShell получше с этим, конечно
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Но это и не чистый shell. Это уже REPL, в котором многие команды, это вызовы функций, а не внешних программ. А это уже не Unix way :) (не осуждаю)
источник

AP

Aleksei (astynax) Pi... in fprog_spb
(осуждаю многословность PS и вендорлок)
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Aleksei (astynax) Pirogov
Потому что парсинг и сериализация требуются на каждом отдельном шаге
JSON или EDN в качестве транспортного уровня был бы сильно приятнее... И типизированные — хотя бы структурно — пайпы!

Чтобы shell просил у элементов конвеера спеку, а ту могли сказать "хочу :name строкой и :age датой". Shell в итоге проверял бы совместимость патрубков в трубопроводе и ругался о несоответствии вместо запуска!
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Но из-за общей инертности всё это проще порешать, заменив shell на другой язык :)
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Можно взять тот же Turtle для хаскеля, например (делол доклад про ето)
источник

MP

Mike Potanin in fprog_spb
Aleksei (astynax) Pirogov
Но это и не чистый shell. Это уже REPL, в котором многие команды, это вызовы функций, а не внешних программ. А это уже не Unix way :) (не осуждаю)
Функция/плугин от программы принципиально не отличаются - это элемент, который должен решать единственную маленькую задачу и делать это хорошо. Вполне Unix way.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Отличается тем, что просто так написать плугин на любой технологии, а не только на одобренной вендорской, сложно
источник

MP

Mike Potanin in fprog_spb
Aleksei (astynax) Pirogov
(осуждаю многословность PS и вендорлок)
По этому я и смотрю на nu-shell, который к .net не привязан.
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Я могу к нему писать плагины через условный cat и не иметь на машине студию, чтобы его собрать?
источник

AP

Aleksei (astynax) Pi... in fprog_spb
с shell или python — могу, разумеется
источник

MP

Mike Potanin in fprog_spb
Aleksei (astynax) Pirogov
JSON или EDN в качестве транспортного уровня был бы сильно приятнее... И типизированные — хотя бы структурно — пайпы!

Чтобы shell просил у элементов конвеера спеку, а ту могли сказать "хочу :name строкой и :age датой". Shell в итоге проверял бы совместимость патрубков в трубопроводе и ругался о несоответствии вместо запуска!
Это было бы слишком хорошо, широкие массы к такому не готовы...
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Mike Potanin
Это было бы слишком хорошо, широкие массы к такому не готовы...
Да какие широкие массы-то? В консоли сидят гики
источник

RR

Rigidus Rigidus in fprog_spb
для пайпов S-expressions дают достаточный уровень структурированности и совместимость со строковым представлением
источник

AZ

Aleksandr Zhuravlev in fprog_spb
Aleksei (astynax) Pirogov
По поводу babashka подумалось, что это неплохой вариант не в роли замены shell scripts — тут я всё ещё считаю, что пайтон лучше подходит по причине батареек — а в роли замены для jq того же: у Clojure приятные средства для жонглирования данными и сам язык expression based, что делает его отличным участником конвееров для данных
Кстати, от того же автора есть отличная альтернатива jq – jet. Jet поддерживает json, edn и transit.

https://github.com/borkdude/jet
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Rigidus Rigidus
для пайпов S-expressions дают достаточный уровень структурированности и совместимость со строковым представлением
Не нужна совместимость. Потому что строки означают парсинг+сериализацию на каждом шагу
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Нужен отказ от
источник

RR

Rigidus Rigidus in fprog_spb
ой да там этого парсинга то... скобки разпарсить и кавычки в один проход
источник

AP

Aleksei (astynax) Pi... in fprog_spb
Не важно! Это лишняя работа.
источник