Подтвердить что ты не робот

Почему я должен использовать Perl вместо Ruby/Python/etc?

Я люблю Ruby и использую его в течение нескольких лет для обработки ежедневных задач сценариев. В последнее время, однако, у меня было много людей, которые говорят мне, что Perl находится там. У меня нет ничего против Perl, но похоже, что он немного отстает от времени.

Однако, возможно, это просто мое восприятие, поэтому я спрашиваю всех вас, что делает Perl таким замечательным? Я искренне ищу информацию здесь; Я хотел бы понять, почему на этом языке есть такие горячие последователи.

4b9b3361

Ответ 1

Если бы мне пришлось назвать одну большую силу Perl, это одно слово: CPAN.

Работая с Ruby, я бы не сказал, что Perl обязательно лучше или хуже, но определенно более зрелый. Это, в конце концов, намного старше. Однако он не дряхлый. В нем много современного материала, например, Moose и обновления 5,10 и 5,12 зафиксировали множество проблем, с которыми сталкивался древний 5.0.x.

(И если вам интересно: Perl 5 и Perl 6 - это разные языки. Подобное имя является неудачной ошибкой. Хотя Perl 5 занимается заимствованием идей с Perl 6 и наоборот).

Ответ 2

Я знаю хорошую горстку хакеров, которые оставили Perl пойти в Ruby. Python, очевидно, тоже хороший язык. Я не говорю и не подразумеваю ничего против.

Преимущества для Perl 5

  • Начиная примерно с 2005 года Perl был в довольно драматическом ренессансе как в версиях CPAN, так и в ядрах. Perl 6 помог этому добиться, отправив такие концепции, как ролевая OO. Strawberry Perl сделал Perl взлом в Windows более похожим на * nix.
  • CPAN огромен, все еще растет, и большинство наиболее широко используемых авторов/команд реагируют на исправления. Самые популярные модули Perl тестируются широко и хорошо. Тестеры CPAN недавно отправили свой 10-миллионный отчет об испытаниях.
  • Многие из больших наборов имеют хорошие сообщества, связанные с тем, что экспертная помощь доступна быстро.
  • Цепь инструментов стала очень гибкой.
    • Комбинация perlbrew, local::lib, и cpanminus позволяет пользователям (даже без root) иметь произвольное количество версий и библиотек perl, доступных в одном и том же поле.
  • Многие из вещей, которые Java, Ruby, Python делают правильно, возвращаются на Perl и с помощью средства. Например-
    • KinoSearch Lucene, но даже быстрее по некоторым критериям.
    • Catalyst Rails, но больше гибкий. Его вполне агностик С относительно М и V.
    • Plack - это Pythons WSGI + Rubys Rack.
  • Он такой же быстрый и личный, читаемый и надежный, как вы хотите.
    • Короткий однострочный файл может редактировать каждый HTML файл в вашем дереве, когда вы спешите что-то исправить.
    • Четкая и надежная программа с сообщением об ошибках, протоколированием и обратной связью, построенной на любом из 6 или 7 подходящих пакетов HTML/XML, может сделать то же самое для клиента.
  • Perlmonks. Хотя есть заметные исключения, сообщество Perl в целом дружелюбное, полезное и позитивное.
  • Достаточно много хороших заданий на Perl, ожидающих заполнения. Взад и вперед между языками высокого уровня оставил кучу Perl в дикой природе без соответствующего урожая Perl-ориентированных разработчиков. (Я получаю 5-7 холодных звонков от рекрутеров в год.)
  • Это весело. В кавычках: "У Perl самые счастливые пользователи. " Я не могу говорить об научной природе этого, но я могу сказать, что программа << → сегодня, потому что Perl существует. Многие другие хакеры Perl разделяют эту глупость на языке.

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

Ответ 3

CPAN.

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

Ответ 4

В наши дни IMO является основной причиной использования Perl, так как вы можете быть уверены в том, что практически любая система UNIX будет доступна, даже на более редких коммерческих дистрибутивах UNIX.

Кроме того, у него есть некоторые функции, которые делают его очень удобным с оболочкой и файловой системой UNIX. Perl one-liners удобны в сценариях оболочки, когда вам нужно немного больше энергии.

Если вы не на компьютере UNIX, то, вероятно, мало преимуществ для более современных языков сценариев.

Ответ 5

В первую очередь, я люблю Python и Ruby. На самом деле я думаю, что все, что вы можете сделать на любом из трех языков, которые вы можете сделать в другом, так же легко.

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

В любом случае, я думаю, это зависит от того, что вы хотите сделать. Если вы хотите создать масштабируемый веб-сайт или веб-приложение со всей сантехникой (проверка подлинности, авторизация, отслеживание сеансов, ORM базы данных и т.д. И т.д.), Это может быть сделано на Perl, но проблема не стоит. Пойдите с Python (Django) или Ruby (скалы Rails 3.0).

Удачи и следите за огненными настройками фламберов с этим предметом, такие вещи серьезно травмируют вас;)

Rob