LINUX.ORG.RU

История изменений

Исправление wandrien, (текущая версия) :

Я не то что б часто что-то крупное пишу на bash, но скажу в целом по опыту программирования на шеллах.

«Собрать коллекцию однотипных штук и потом обработать» – это типовое действие при решении задач на любых ЯП, а на ЯП с такой бедной палитрой типов данных как у шелла, оно становится еще востребованнее.

И в sh единственный массив, который тебе дают на руки - это "$@". И порой через него и приходится выкручиваться, с вызовом функций, shift и так далее. Но вызовы функций имеют собственные ограничения и не всегда ложатся в нужный алгоритм.

Вообще большая часть программирования на sh и состоит из этого: выкручиваться. Когда у тебя на каждую фичу по полдюжины антич, и тебе мало придумать алгоритм – тебе еще надо придумать, как его закодировать на этом эзотерическом языке, обойдя все грамотно расставленные капканы.

Ну своего рода это тоже удовольствие – типа как в Римку поиграть на «Проигрывать весело» и получать кайф от того, что «я из такой жопы вышел победителем в очередной раз».

Тут еще что важно, на мой взгляд. Если человек ишет про преимущества bash и в числе основного упоминает сахар [[ ]], а работу с массивами и дополнительные фичи по parameter expansion не упоминает – значит он ничего существенного на sh не писал.

Потому что всратый синтаксис для условных выражений – это конечно неприятно, но терпимо. Мы со знанием синтаксиса не рождаемся, остальные синтаксисы мы точно так же учили. А гораздо хуже, когда операционная модель шелла никак не налазит традиционные ЯП и привычные паттерны проектирования, и приходится изобретать язык внутри языка из костылей и подпорок. При этом подпорки не удаётся завернуть в абстракции, а они так и лежат кишками наружу, в результате чего программирование становится похоже на то, что ты в уме компилируешь алгоритм и пишешь его в извращенных машкодах этого промежуточного языка. Вот bash даёт больше инструментов, чтобы код был чуть более высокоуровневым.

Исходная версия wandrien, :

Я не то что б часто что-то крупное пишу на bash, но скажу в целом по опыту программирования на шеллах.

«Собрать коллекцию однотипных штук и потом обработать» – это типовое действие при решении задач на любых ЯП, а на ЯП с такой бедной палитрой типов данных как у шелла, оно становится еще востребованнее.

И в sh единственный массив, который тебе дают на руки - это "$@". И порой через него и приходится выкручиваться, с вызовом функций, shift и так далее. Но вызовы функций имеют собственные ограничения и не всегда ложатся в нужный алгоритм.

Вообще большая часть программирования на sh и состоит из этого: выкручиваться. Когда у тебя на каждую фичу по полдюжины антич, и тебе мало придумать алгоритм – тебе еще надо придумать, как его закодировать на этом эзотерическом языке, обойдя все грамотно расставленные капканы.

Ну своего рода это тоже удовольствие – типа как в Римку поиграть на «Проигрывать весело» и получать кайф от того, что «я из такой жопы вышел победителем в очередной раз».

Тут еще что важно, на мой взгляд. Если человек ишет про преимущества bash и в числе основного упоминает сахар [[ ]], а работу с массивами и дополнительные фичи по parameter expansion не упоминает – значит он ничего существенного на sh не писал.

Потому что всратый синтаксис для условных выражений – это конечно неприятно, но терпимо. Мы со знанием синтаксиса не рождаемся, остальные синтаксисы мы точно так же учили. А гораздо хуже, когда операционная модель шелла никак не налазит традиционные ЯП и привычные паттерны проектирования, и приходится изобретать язык внутри языка из костылей и подпорок. При этом подпорки не удаётся завернуть в абстракции, а они так и лежат кишками наружу, в результате чего программирование становится похоже на то, что ты в уме компилируешь алгоритм и пишешь его в извращенных машкодах этого промежуточного языка.