On Wed, 11 Mar 2020 14:38:13 +0300
Dmitry Semyonov <linu...@gmail.com> wrote:

> On Wed, 11 Mar 2020 at 11:59, Victor Wagner wrote:
> 
> > А вообще крайне рекомендую, если вдруг выясняется, что для
> > формированмия команды в шелловском скрипте используется более двух
> > уровней подстановок, плюнуть  и переписать его на perl, python,
> > ruby, lua - любом другом скриптовом языке.  
> 
> После буквального следования таким советам кому-то потом придётся
> ломать голову над сотней-другой строк питоновской лапши вместо десятка
> строк понятных шелловских команд. Часто лучше один раз разобраться и

Так не надо писать лапшу. На любом языке можно написать плохой код.

Да, скорее всего код на более низкоуровневом языке (а perl и python -
более низкоуровневые языки, чем shell), окажется более объемным. Но от
от этого он не обязательно станет менее читаемым. 

> 
> Как пример ложного понимания универсальности "любых других скриптовых
> языков" можно привести обработку структурированного текста. То, что на
> awk делается максимум парой десятков строк понятного кода, часто
> превращают в неудобоваримый алгоритм на 100+ строк универсального
> языка.

Если это делается парой десятков строк на awk, то примерно в то же
количество строк это делается и на perl. Более того, специально для 
для решения этой задачи автор перла написал a2p.

Просто перл надо ВЫУЧИТЬ. В нем есть все, что есть в awk, sed и tr, и
многое-многое другое. А то приходят люди с визуалбейсковским
бэкграундом и начинают текст обрабатывать на perl с помощью функций
substr и index. 

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



Ответить