Как стать автором
Обновить

Комментарии 20

Извините
Извините

Извините.

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

Ну и сам факт существования языка с таким объёмом синтаксиса, ИМХО, забавен.

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

  1. Да, вообще, если система работает как нужно, её лучше не трогать. Это относится ко всем языкам, платформам... и ко всему остальному.
    РАБОТАЕТ - НЕ ТРОГАЙ!
    Кстати, переход к новой версии (особенно, если переход со старой и давно неподдерживаемой), денежнозатратная операция и мало кто из руководитетей согласится на такое.

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

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

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

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

Перл в проде живет. И не в остаточных количествах, а во вполне себе нормальных.

Много на нем понаписали всего в свое время. Переписать сложно. Да даже понять как это работает сложно.

И перевести на новую версию перла тоже сложно :(

Только, скажем, добавление классов - это скорее для нового кода или серьёзного рефакторинга.

Переписать сложно. Да даже понять как это работает сложно.

Помню была такая шутка:
Средняя программа на Perl выглядит так, будто программист бился головой о клавиатуру. И чаще всего — так оно и было

Booking.com cares)

Perl жил, Perl живет, Perl будет жить! Хороший язык, жаль Python его все таки победил.

жаль Python его все таки победил.

Почему? В чём главные преимущества Perl в сравнении?

Главное преимущество Perl-а в Си-подобном синтаксисе. Ну а недостаток - слишком много Perl позволяет "вольностей" программисту.

Главное преимущество Go/Rust/CPP/D в C-подобном синтаксе, а недостаток `<PLACEHOLDER>`.

В чем "преимущество"?

в однострочниках!

какая связь с синтаксисом C?

В зарплате и отсутствии конкуренции на рынке. Хотя это, наверное, благодаря Python. Т.е., очень хорошо, что "победил". Но это палка о двух концах - сегодня тебя работодатель носит на руках и сдувает пылинки, а завтра, если что-то не срослось, пойди ещё найди другого такого. Плюс сдувание пылинок плюс-минус пропорционально лютости уровня легаси.

Если серьёзно и по конкретно языку - искать самый лучший язык программирования бессмысленно. Как и разводить холивары о том, какая операционная система лучше (Ubuntu лучше всех, это и так понятно). Просто кому-то приятно писать на Perl. Мне - приятно. Язык, в большинстве, наверное, случаев очень ёмкий, позволяя короткими гибкими идиомами описывать относительно сложную семантику. Регулярки выше всяких похвал. Однострочники очень удобны, использую регулярно. И на каком ещё языке можно написать bless my $self, $class и пройти код-ревью, потому что это нормальная идиома? :) Субъективщина, короче.

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

Я писал на Perl довольно долго и много продуктового кода и DSL писал. Очень рад, что Python его победил. Аргумент у меня один: поддерживать код на Perl драматически сложно, особенно, если его пишет больше 1 человека, нужна невероятная дисциплина и куча самоограничения, чтобы этот код не превращался в помойку.

Сама по себе концепция TMTOWTDI контрпродуктивна для большинства разработчиков, именно поэтому взлетели Python, Golang, etc.

У меня аналогичная ситуация. Много писал на Perl, много Perl кода еще в работе. Понемногу перевожу его на Python 3.

Замечательная новость) Не смотря на то, что Perl не в маркетинговом тренде, он развивается.

После Moose/Moo/Mo классы выглядят... Да никак, собственно )

Ларри Уолл знал, что нужно языку. Новые пёрловнеры, похоже, решили повторить путь PL/1, который развивал не библиотеки, а постоянно модифицировал синтаксис. Впрочем их пока спасет use feature )

Опять же — defer дублирует use Guard qw/guard/;.А для goto давно нужно было сделать, чтобы он прыгал внутрь функций ;) А не только на её начало goto &fn;

Зачем придумали странный синтаксис try ... catch ... finally, если в perl есть eval? Ну и убогий синтаксис sub x ($a, $b) {}, когда есть вся мощь @_. Для людей, которые в perl c python переходят, надо полагать )

Вместо %{^HOOK} лучше бы доделали замену суперглобальных функций через CORE::GLOBAL::require = sub { ... };

 Чем помешал " ' " — тоже не понятно. Если у вас одного аллергия на кошек, то это не значит, что нужно извести всех кошек )

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Другие новости

Истории