[О блоге]
[наверх]
[пред]
[2020-06-25 15:31:24+03:00]
[d4a676bfd4af613cdbd2391dc5a7f6a24f76a428]
Темы: [perl]
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. Но для скриптования и работы с текстом он уже не
так удобен.
[оставить комментарий]