LINUX.ORG.RU

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

 , ,


1

8

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

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

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



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

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

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

Всегда можно делать по какому то стандарту, если это не так то можно примеры?С++ вроде это не мешает кстати..)

linuhs_user
() автор топика
Ответ на: комментарий от 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
() автор топика
Ответ на: комментарий от outtaspace

Там говнокод в одном файле, либо в нескольких файлах.Но я же хочу просто спросить, а не на своем опыте.)

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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.