LINUX.ORG.RU

Как вообще Perl вытеснили Python, PHP?

 , ,


1

8

Я честно не понимаю, я вижу Perl5 отличным языком а Python,PHP жалкой пародией на него.(В особенности PHP)
Давайте разберем:

  • Перл очень гибкий, можно подключать «плагины» для классов к примеру
  • У него есть CPAN
  • Он довольно быстрый
  • Имеет много фишек помогающих избежать ошибок.К примеру use strict;my $name;
  • Полноценный язык, а не обрубок как PHP.
  • Раньше использовался активнее, и по идее это плюсовало его тогда.

Со стороны ПХП я не вижу нормальной расширяемости, CPAN, my $var, и так далее.
Какие вещи помогли этим языкам вытеснить перл?На PHP, Python я естественно никогда не писал, так что теоретик.

Перл замечателен пока в команде ровно один кодер. К сожалению, в большинстве команд людей больше.

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

Ничего серьезного не писал.Пробовать - пробовал, не выдержал.
Есть что по делу?

linuhs_user ()

А вообще я, как теоретик на перле, посмотрев только что brief introduction, увидел слишком много лишних символов: $, #, %, @.

creazero ()

Со стороны ПХП я не вижу нормальной расширяемости, CPAN, my $var, и так далее.

PyPI
Composer/Packagist

resurtm ★★★ ()

у питона триллион библиотек /thread

я на полном серьезе рассматриваю платформу в целом, а не какие-то там фичики языка, где то лучше где то хуже, главное >>> библиотеки <<<

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от resurtm

Composer/Packagist

У меня не поставился, не родное.Появился недавно вроде (не знаю)

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

ну дык из-за этих костылей в ООП одно и тоже можно написать N разными способами. Что довольно весело

Jopich1 ()

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

slapin ★★★★★ ()

Perl намного сложнее в изучении.
/thread

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

С++ вроде это не мешает

У плюсов нет альтернатив, поэтому проще сделать style guide, ограничивающий применение плюсов. У перла альтернатив полно, а киллерфич нет. И нет, гибкость — это не фича, а минус.

x3al ★★★★★ ()

Перл очень гибкий

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

bread ()
Ответ на: комментарий от linuhs_user

JS (хипстеры — на компилируемом в JS языке). Бэкэнды — java (и прочие JVM-языки), опять же JS, golang, реже — питоны, ещё реже (либо ближе к Восточной Европе) — пхп. Ну и .NET.

x3al ★★★★★ ()
Последнее исправление: x3al (всего исправлений: 1)

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

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

Будто не про php. Не, там есть все эти lavarel, и призывы быть людьми. Но каждый раз смотришь куда внутрь - все это запросы к базам, эти спагетти кода...

Shadow ★★★★★ ()

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

Даже если при этом гуглить каждую функцию.

Даже если постоянно лажать в типах, параметрах функций, опечатываться в именах переменных, ошибиться в одном-единственном, но важном отступе.

Даже если несколько раз чаю сходить попить.

Даже если писать каждую библиотеку самому, а не качать из CPAN/PyPi.

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

Даже если его тебя забросили в альтернативную историю, где питон вообще не изобрели, и тебе придётся его изобретать самостоятельно.

И даже если ты умудришься при всём этом за сравнимое время написать перловый скрипт, наступает фаза 2, в которой питон уделывает перл вообще без вариантов, фаза чтения-и-внесения-правок.

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

Пых уже тоже отъехал в страну вечного web 1.0.

Лол.

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

Смотрю, ты не очень хорошо диагнозы по аватарке ставишь.

WereFox ★☆ ()
  • Имеет много фишек не только помогающих избежать ошибок, но и делать их! К примеру прототипы или typeglob.
pru-mike ★★ ()
Ответ на: комментарий от zolden

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

Аналогично. Питон божественен.

Deleted ()
Ответ на: комментарий от x3al

Перл замечателен пока в команде ровно один кодер. К сожалению, в большинстве команд людей больше.

Это противоречит моему опыту. В хорошо выстроенной команде, 3-4 девелопера пишут очень даже годный код. Перлкритик и следование pbp, строгое соблюдение различных стайлгайдов, ревью кода, сеансы парного программирования - в итоге проекты не хуже тех что у грамотных java-python-спецов.

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

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

Бедняга, как же тебя природа обидела.

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

Тогда вот еще (с контекстом чтоб понятно):

$str =~ s#/#\\#;

А вообще, выразительные средства Perl прекрасны. А для работы в команде есть perlcritic и perltidy.

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

И зачем вам только эта гибкость если «перлкритик и следование pbp, строгое соблюдение различных стайлгайдов». С такими наручниками на любой скриптухе спецы сделают хорошо. И не надо плясать с разыменованием и т.п. бредом.

bread ()
Ответ на: комментарий от E

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

linuhs_user ()

PHP занял свою законную веб-нишу, для которой и создавался.

Perl vs Python? Одним словом — синтаксис.

package Language;
use strict;
use warnings;

sub new {
    my ($cls, $name, $author) = @_;
    my $self = {name => $name,
                author => $author};
    return bless $self, $cls;
}

sub print_info {
    my $self = shift;
    print "Language $self->{name} by $self->{author}\n";
}

1;

package main;

my $perl = Language->new('Perl', 'Larry Wall');
$perl->print_info();

Для новичков питонячий синтаксис дружелюбнее и проще:

class Language:
    def __init__(self, name, author):
        self.name = name
        self.author = author

    def print_info(self):
        print(f'Language {self.name} by {self.author}')

if __name__ == '__main__':
    python = Language('Python', 'Guido van Rossum')
    python.print_info()

Да и мертворождённый Perl 6 сыграл свою роль. Многие перловики его так ждали, так надеялись. Но не дождались и пересели на другие языки. А сейчас уже поезд ушёл.

evbogdanov ()
Ответ на: комментарий от evbogdanov
use MooseX::Declare;

class Language {
    has name	=> (is => 'rw');
    has author	=> (is => 'rw');

    method print_info {
	print "Language $self->{name} by $self->{author}\n";
    }
}

package main;
my $perl = Language->new(name => "Perl", author => "Larry Wall");
$perl->print_info();

если убрать use то столько же строк сколько и на питоне

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

если убрать use то столько же строк сколько и на питоне

как бы ты не старался привязывать хвост подлиннее, а горб всё равно видно

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

Дело не только в количестве строк. При желании на Перле можно писать самые компактные программы в мире.

Вы закрыли одну проблему, вскрыв другую. Все эти bless-нутые хэши, Moose, Mouse, Moo и т. д. — как новичку выбрать то, что ему использовать для ООП?

Новички не хотят выбирать. Новички хотят чик-чик и в продакшн.

evbogdanov ()
Ответ на: комментарий от evbogdanov
package Language;
use Class::Tiny qw( name author );

sub print_info {
    my $self = shift;
    print "Language $self->{name} by $self->{author}\n";
}

package main;
my $perl = Language->new( name => "Perl", author => "Larry Wall");
$perl->print_info();

Для новичков

Бесспорно, Perl не для новичков.

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