LINUX.ORG.RU

Есть ли смысл учить Perl?

 , , ,


1

1

Как я читаю доку и учебники, он мне очень понравился своей чистотой. Но как я слышал, его практическая востребованность в современном мире невысока. Почему так и есть ли смысл его учить?

★★★★★
Ответ на: комментарий от beastie

Да, похоже ты перл не видел. ;) Перл — это часто write once, read never.

Так и недалеко дойти до «На Перле написано несколько нечитаемых однострочников => Перл нечитаемый язык». А что, школота от IT часто воняет в интернетах и реальной жизни именно подобными утверждениями.

anonymous
()

своей чистотой

если тебе понравилась «чистота» перла, можешь попробовать tcl. а так да, python is a default advice.

MyTrooName ★★★★★
()

Штайн Л.Д. «Разработка сетевых программ на Perl» - берись сразу. Заодно освежишь знания основ сетевого программирования.

В отличие от питона, перл тебя никогда не подведет :)

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

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от DeadEye

Лучше бы ты начал с lama-book («Learning Perl») и alpaca-book («Intermediate Perl»), держа под рукой camel-book («Programming Perl»), перейдя после этого к HOP («Higher-Order Perl»). Все книги, кроме последней, переведены на русский.

aembers_guggenheim
()
Ответ на: комментарий от nexfwall

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

waker ★★★★★
()

Есть, как и лисп или скажем smalltalk. Как минимум, чтобы расширять сознание и увидеть, как выразителен может быть язык.

Список причин, почему он востребованн мало длинный: почти нет развития у перл5, перл6 всё ещё сыр в плане реализации. Перл5 плох по производительности. Язык обширнее многих, его сложнее обхватывать. Ещё сложнее использовать все его возмжоности, потому что привычно делать что-то каким-то одним способом. Теоретически, сделали бы быструю реализацию перл5 и просто бы впихнули в неё всё из перл6, и может быть выстрелило бы. Но тогда перл бы стал ещё сложнее.

ixrws ★★★
()
Ответ на: комментарий от waker

я пробовал когда-то писать гуйню и на перле

Избегал всегда, но порой писал на Perl/Tk. Жить можно :)

Casus ★★★★★
()
Ответ на: комментарий от ixrws

Список причин, почему он востребованн мало длинный:

Заслушаем.

почти нет развития у перл5

Если не наблюдать за языком, то да, так и есть. Если наблюдать, то новые версии выходят, там какие-то изменения идут, но основа очень стабильна, что тоже имеет плюс в плане совместимости с легаси-кодом. Мои поделки конца 90х могли бы работать и сейчас.

перл6 всё ещё сыр в плане реализации

Вопрос времени. Затянувшегося времени, конечно. Но перспектива и шансы есть. Собственно, нет необходимости перл6 в продакшен сразу сейчас использовать, есть проверенный временем перл5, который ещё долго никуда не денется.

Перл5 плох по производительности.

С чем сравниваем, что за бенчмарки? Прямо интересно стало. Я тут за скорость борюсь, а оказывается, зря.

Язык обширнее многих, его сложнее обхватывать.

Что, видимо, и произошло с тобой?

Ещё сложнее использовать все его возмжоности, потому что привычно делать что-то каким-то одним способом.

Каждый день в конце рабочего дня за очередные неиспользованные возможности перла руководитель проекта выписывает денежные штрафы?

Но тогда перл бы стал ещё сложнее.

Любая полезная система сложна. Чем проще система, тем она бесполезнее.

Casus ★★★★★
()
Ответ на: комментарий от ixrws

... smalltalk. Как минимум, чтобы расширять сознание и увидеть, как выразителен может быть язык.

а потом просто использовать objc и swift :)

/me не учил smalltalk, только читал всякие статьи, чтобы иметь представление.

waker ★★★★★
()
Ответ на: комментарий от waker

но разбирать одностроки таких как ты приходилось

лол. интересно, зачем?

дык не работает, или работает не так, как нужно. Смотришь внутрь, а там неонка^Wперловка.

Впрочем, мне везёт, и перловка лично мне попадается вполне читаемая и поддерживаемая. Особенно если сравнивать с перлами на PHP, вот там часто полный абзац.

emulek
()
Ответ на: комментарий от MyTrooName

python is a default advice.

Не надо говорить глупостей. Если смотреть по пакетам в дистрах, то дефолт как раз perl. Да, на питоне много всяких удобных утилиток пишут, но чаще всего это дополнительные удобства, а не обязательная часть системы(если не считать gentoo, где portage). На большинстве моих серверов, к примеру, python установлен исключительно для nmap, iotop и pastebinit.

А вот perl есть везде. И для меня, как для админа, очевидно какой язык дефолтный для написания собственных скриптов и утилит.

Ну а что касается чистоты и удобства, тут я в спор вступать не буду. Мне проще на перле, питон сколько раз не пробовал, так и не осилил толком. Начинаю на нём писать, читаю доки, смотрю примеры, а в голове тут же появляется мысль «я бы уже это на перле сделал проще». :) В общем, это уже субъективный выбор в моём случае.

shell-script ★★★★★
()

Но как я слышал, его практическая востребованность в современном мире невысока.

Смотря для какой задачи. Писать мегапроекты за миллионы денег на перле скорее всего тебе не придётся. Говорят, такое делают, но, видимо, редко.

А вот в повседневной работе для администрирования, автоматизации повседневных задач, парсинга логов/текстов и прочих подобных простых вещей перл очень удобен.

есть ли смысл его учить?

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

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

shell-script ★★★★★
()
Ответ на: комментарий от shell-script

Если смотреть по пакетам в дистрах, то дефолт как раз perl

не путай default legacy admin shit и default advice

, на питоне много всяких удобных утилиток пишут, но чаще всего это дополнительные удобства, а не обязательная часть системы(если не считать gentoo, где portage). На большинстве моих серверов, к примеру, python установлен исключительно для nmap, iotop и pastebinit.

а на windows, к примеру, ни того ни другого нет. ящитаю, надо всем command.com советовать

А вот perl есть везде. И для меня, как для админа, очевидно какой язык дефолтный для написания собственных скриптов и утилит.

да, для shell-like скриптования perl подходит получше питона, не спорю. но в ОП тег «программирование», а не «администрирование» или «скриптование»

MyTrooName ★★★★★
()

Конечно нет, сейчас он полностью вытеснен питоном, мне уже несколько заказов приходило по переделке perl скриптов на python.

menangen ★★★★★
()
Ответ на: комментарий от waker

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

Virtuos86 ★★★★★
()
Ответ на: комментарий от qweqwe

Фабрик Беллард (qemu, ffmpeg, tcc) тоже два раза выигрывал

anonymous
()
Ответ на: комментарий от Virtuos86

То есть лично ты инденты не используешь?

в качестве ограничителей блоков кода? нет.

Покажи пример своего кода, написанного в таком стиле, хотя бы одну подпрограмму, если не сложно.

тебе показать любую программу на не-бедоне?

waker ★★★★★
()
Ответ на: комментарий от emulek

Впрочем, мне везёт, и перловка лично мне попадается вполне читаемая и поддерживаемая.

т.е. нечитабельность перла - миф? чорт. а я то надеялся, что никто мою писанину прочитать не сможет.

waker ★★★★★
()

Как я читаю доку и учебники, он мне очень понравился своей чистотой.
он мне очень понравился своей чистотой.

Самая смешная шутка про перл, которую я слышал.

Tark ★★
()

Перлом пользуются только протухшие админы аля девяностые.

anonymous
()
Ответ на: комментарий от Virtuos86

обфускаторы настолько возбудились от перла, что выдали ему сразу два первых места

qweqwe
()
Ответ на: комментарий от waker

тебе показать любую программу на не-бедоне?

В которой наверняка код отформатирован отступами в дополнение к фигурным скобкам для лучшей читаемости? Не стоит, это ничего не докажет.

Virtuos86 ★★★★★
()
Ответ на: комментарий от waker

т.е. нечитабельность перла - миф?

ИМХО да. На перле можно и нечитаемый говнокод писать, можно и читаемый код. От автора зависит, а не от ЯП.

чорт. а я то надеялся, что никто мою писанину прочитать не сможет.

У меня для тебя хорошие новости: если ты сам свой говнокод прочитать не можешь, то и другие не станут купаться в твоём говне.

emulek
()
Ответ на: комментарий от proud_anon

рачивать его в while(...) {}. Странно.

Потому, что /g решает.

KennyMinigun ★★★★★
()
Ответ на: комментарий от nexfwall

Я даже жду, пока наконец выйдёт Perl6, и всех порвёт.

Это произойдёт в рождеству :3

KennyMinigun ★★★★★
()
Ответ на: комментарий от shell-script

голове тут же появляется мысль «я бы уже это на перле сделал проще»

Perl более выразителен. В питоне же «explicit is better than implicit» головного мозга

KennyMinigun ★★★★★
()

Там уже выше высказались, что смысл есть. Я подтверждаю: при поиске перловой вакансии скорее ТЫ диктуешь условия чем работодатель, иначе они будут ДОЛГО искать другого кандидата.

Perl полезен для понимания. Хотя эту же роль может сыграть любой другой скриптовый ЯП: Ruby (кстати, советую), JavaScript, Groovy (sic!) и даже Python.

KennyMinigun ★★★★★
()

Почему так

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

есть ли смысл его учить?

Однозначно.

MiniRoboDancer ★☆
()
Ответ на: комментарий от KennyMinigun

можно-то можно. но речь о дефолтной поставке

MyTrooName ★★★★★
()
Ответ на: комментарий от emulek

У меня для тебя хорошие новости: если ты сам свой говнокод прочитать не можешь, то и другие не станут купаться в твоём говне.

вот уж новости так новости! :D

waker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.