[О блоге] [наверх] [пред] [2020-06-25 15:31:24+03:00] [d4a676bfd4af613cdbd2391dc5a7f6a24f76a428]

Perl 7

https://www.opennet.ru/opennews/art.shtml?num=53226
У людей (не только в этой статье) почему-то какая-то аллергия на Perl. И
мне чисто объективно она не понятна. Ну то бишь да, на нём можно
написать нечто, что никто и никогда не поймёт. Можно, грубо говоря,
просто попой поелозить по клавиатуре и это запросто будет валидным кодом
на Perl-е. Но... зачем же только подобные крайности учитывать?
JavaScript, с моей точки зрения, куда ещё более мерзкий язык, но его
умудряются даже как-то и любить.

Если забыть просто про мою любовь к Perl-у, ибо на нём я, собственно,
начинал программировать и годами использовал для всего, то:

* Perl, как правило, есть в любой ОС. Внезапно тут узнал что в FreeBSD
  из коробки его уже не поставляют, но и аналогично куча дистрибутивов
  GNU/Linux тоже "голые" и могут ничего кроме POSIX shell не иметь. Но,
  уже среди всех зависимостей Perl появляется зачастую первым делом.
* В OpenWRT Perl часто сували в образ (может и сейчас продолжают), ибо
  он занимал что-то около 800 килобайт и при этом был языком в котором и
  треды, fork, сигналы, работа с файлами, сетевыми сокетами. Это ровно
  один исполняемый файл perl5. Да, полная установка Perl со всей
  документацией и кучей всяких модулей занимает значительно больше, но и
  без неё в нём выше крыши возможностей
* Самое главное: Perl имеет везде одинаковое поведение и нет его 100500
  диалектов. Банальный sed имеет отличающееся поведение с -i аргументом:
  в BSD inplace замену можно сделать только указав временный файл, при
  этом обязательно слитно с "-i" -- это будет и с GNU sed-ом и с BSD
  работать одинаково. awk... я не встречал ни одного человека кто бы
  знал awk, на уровне чуть сложнее чем {print $NF} какой-нибудь. Да и
  много его диалектов. Написать что-то портируемое на этих инструментах:
  испытание. Perl везде работает одинаково
* Преобладающее большинство однострочников, на замену sed/awk/grep,
  выглядят гораздо более читабельными, простыми и с "нормальными"
  регулярками, а не разнообразным зоопарком среди всего этого
  инструментария! На Perl работа с текстом очень и очень удобна и с
  гораздо меньшим количеством кода

Я регулярно для большого количества задач его применяю (связанных с
текстом, как правило). Это тупо быстрее, проще, меньше кода поддерживать
и проще его править. Плюс Perl вполне себе очень и очень шустр
(относительно Python или какого-нибудь Ruby). Когда-то для
"калькулятора" я просто набирал python и там делал вычисления. Но это
дико раздражало тем, что он тупо долго запускается, даже с прогретыми
кэшами. Сейчас запускаю "zcalc", встроенный в zsh, хотя надо бы
что-нибудь с обратной польской нотацией (dc).

На OpenWRT вообще де-факто язык это конечно Lua -- насколько помню, один
файл килобайт на 50. Но для скриптования и работы с текстом он уже не
так удобен.

    [оставить комментарий]