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

не обногнал пистон его, у перла сейчас есть модули по сути под любую задачу кроме суперузкоспецифических (да и то не всегда)

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

да. Любые другие указатели где не нужно понимать адресную арифметику.

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

Интеграция с Кафкой есть, собственный генератор парсеров любых форматов Marpa есть, Google Protobuffers есть (несколько).

Хм, да, есть даже компилятор Perl5 в бинарный код, RPerl, только у кого ни спрашивал - для всех этот RPerl неведомо непонятен :)

DRVTiny ★★★★★
()

Он довольно быстрый

Собственно, он довольно небыстрый, если его юзать без груды XS-модулей типа JSON::XS того же. Я пробовал до посинения оптимизировать простейшую вещь: запаковку списка 32-х рарядных чисел в бинарный формат. Так вот, CBOR::XS, который умеет в 1000 раз больше - всё равно делал это в 2-5 раз быстрее перлового кода на pack/unpack'ах!

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

что за кафка?

и да, сколько я не смотрел разные компиляторы perl5 в бинари, у всех какие-то проблемы. О rperl слышал и когда-то давно юзал даже. Сейчас оно юзабельно? А для большинства rperl неведомо непонятент наверное по той причине, что он мало кому нужен. В всяких бородатых продах слишком рискованно, а где-то просто не требуется.

anonymous
()

На PHP, Python я естественно никогда не писал

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

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

PHP, IMHO, взлетел благодаря изначальному грамотному позиционированию как Personal Home Page.

Да, я помню еще PHP Tools - набор скриптов на перле для CGI. Потом автор переписал их на C, и завертелось. На самом деле тот чувак совершил прорыв, изобретя шаблонизатор. А хардкорные перлята еще долго склеивали строчки и принтами плевались. К 2000 году уже только самый тупой не понимал, что будущее за похапе, а перл пора прикопать.

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

Думаю, что мне и минуты хватит чтоб набрать:

 $ curl -L https://cpanmin.us | perl - -M https://cpan.metacpan.org -n Mojolicious

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

С RPerl у меня были траблы из-за того, что концептуально это вообще непонятно что. Я так понимаю, что он может компилировать XS-модули, но в документации Вилла Бразвелла об этом нет ни слова, кроме самого утверждения о том, что якобы может. И ещё параллелит код чудесным образом, сам.

В рамках интерпретатора RPerl работает, и даже быстрее обычного perl-кода, но... смысл-то в этом...

И да, он постоянно достаёт своим perl critic'ом, который нужно отключать в комментариях, иначе даже просто print «Hello!\n» не заработает: ну как же, я ведь не сохранил код возврата из print'а!

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

Понятно, что так на PHP уже давно никто не пишет, а рулят фреймворки на фреймворках, и расшифровку Personal Home Page стыдливо заменили на другую (ЧСХ, я её так и не смог запомнить, а старую помню хорошо).

«recursive acronym PHP: Hypertext Preprocessor»

Но люди-то помнят...

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

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

мешает, еще как.

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

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

4.2. Попробуй распарсить, например, русский язык

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

В начале нулевых кодеров на Perl было просто немеряно, едва не каждый второй.

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

Мало ли что когда было. freebsd тогда доминировал сервера(по крайней мере в РФ). А у нас вообще была солярка 8.

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

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

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

Не стоит удивляться утверждению, вырванному из контекста. Контекст - о том, что утверждение «perl'овиков мало, потому что синтаксис не такой» - неверно, поскольку были времена, когда perl'овиков было много, а синтаксис с тех пор стал более понятным, поскольку во всех продуктивных проектах используются пакеты типа Moose и стеки типа Mojolicious - по сути синтаксис в таких проектах уже мало чем отличаются от синтаксиса кода на Python, Ruby и чём угодно ещё.

Я, собственно, и пытаюсь объяснить товарищам, что помимо менеджеров-менеджеров есть ещё менеджеры-технари, которые понимают техническую отсталость движка perl5 и предпочитают использовать что-то другое в новых проектах - отсюда спрос на разработчиков под более современные и востребованные языки. К этому ещё добавляется и отсутствие или присутствие в маргинальных количествах (в экосистеме perl5) всяких модных вещей типа hadoop, bigdata, machine learning и прочей подобной мути. Сейчас манагеры сплошь и рядом смотрят в наше светлое нефтяное будущее - и видят там data science.

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

Безусловно есть и более глубокие причины: например, математические и аналитические пакеты для Python, а не для Perl5, появились не сами по себе, а по той простой причине, что околонаучным работникам - технарям было проще писать на технарском и строгом Python, нежели на куда более «гуманитарном» и демократичном/творческом Perl'е. Они писали какие-то базовые вещи на Python, потом понадобились оптимизации для реальных «рабочих» объёмов обработки данных - это подтолкнуло разработку на Си и Fortran'е бинарных библиотек.

Но как бы где наш с вами разговор и где свободная научная среда. Наш разговор - об уровне сугубо «пользователей» языка, потребителей благ его экосистемы. Так вот, на этом уровне бизнесу куда важнее адаптированность инструмента к решению конкретных задач, а не то, нравится ли товарищам Пупкиным Perl или нет. Это они вам платят - а не вы им!

DRVTiny ★★★★★
()

Плохих языков в принципе нет. Есть неправильно используемые:) Полагаю вопрос по большей части филосовский. В подтверждение своих строк напишу, что проще и экономнее поднять максимально простой сайт на php, чем на python фреймворке bottle например.

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

Разные языки - разные подходы. У Perl и Python они вообще диаметрально противоположные. Кому-то будет удобен первый, а иным второй.

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

Эдик, откуда тебе что-то знать о немазохизме :D

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

Но люди-то помнят...

Плохо помнят :) «Personal Home Page» — это аббревиатура придуманная задним числом :D Изначально (ещё до PHP/FI) было «а х.з., уже не помним, почему так назвали». Потом придумали «Personal Home Page / Form Interpreter».

Что интересно, сейчас самое старое объяснение уже нигде не гуглится.

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

А где там перл6?

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

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

Не вызов, объявление. Вызов такой

say add(5,5);

linuhs_user
() автор топика

Сегодня на перле попрактиковался. Скрипт на 100 строк + гуйня на гтк. Но как же я задолбался! Пока не влазишь в развесистые хэши хэшей все более-менее гладко, потом начинаются эти (@{$foo->{bar}->[$i]}), хочется убивать. Постоянно нужно помнить где какие скобки ставить, где какой контекст, что ссылка, что нет. Еще и слабая типизация доствляет. Адок, не представляю как на этом писали тырпрайз. Впрочем, если без структур просто корячить текст, удобненько.

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

Что интересно, сейчас самое старое объяснение уже нигде не гуглится.

В введении к докам PHP/FI Расмус рассказывает как он делал пых:

PHP began life as a simple little cgi wrapper written in Perl. I wrote it in an afternoon during a period between contracts when I needed a quick tool to get an idea of who was reading my online resume. It was never intended to go beyond my own private use.
...
The name of this first package was Personal Home Page Tools, which later became Personal Home Page Construction Kit.

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

ЧСХ, Сделано на коленке в гараже, как и все популярные нанотехнологии.

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

Дело привычки, плюс не обязательно разыменовывать километровую вложенную ссылку, можно скопировать нужную часть и разыменовывать её. Но в целом да, если не часто пользуешься то адово.
В новых версиях есть механизм postfix dereferencing (https://www.effectiveperlprogramming.com/2016/04/postfix-dereferencing-is-sta...), пока затрудняюсь сказать насколько он удобней.

pru-mike ★★
()
Ответ на: комментарий от bread

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

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

Это с какой версии такой синтаксис доступен? И все равно же выглядит как говно. Олдовый вариант даже лучше, там сразу ясен контекст с первого значка.

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

Beginning in v5.20.0, a postfix syntax for using references is available

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

Вот же читеры. Круглые скобки это из контекста foreach, т.е. часто без них никак. Пробелы в такой каше только еще больше запутывают, имхо. Про то, что стрелки можно сократить, это да, я уже подзабыл. Все равно синтаксис мегавырвиглазный в сравнении с foo['bar'][i]. Предложенное постфиксное разыменование совсем уже наркоманское.

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

Круглые скобки это из контекста foreach, т.е. часто без них никак.

И нахрен ты приплёл кусок другой синтаксической конструкции? Целиком тогда пиши. Существует постфиксный foreach, где можно без скобок управиться.

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

Какой счетчик? Это псевдокод, который я мужественно накарябал на мабиле. В реальном коде все еще забористей.

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

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

anonymous
()

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

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

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

А я вообще его не знаю и не понимаю. ЧЯДНТ?

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

Что ты как ТП уличная фапаешь на скриптоту. Перл, мерл. И без него скриптоты валом. Лучше уж Си.

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

Конечно не знаю. Я и русский язык не знаю. Я владею им, так и питоном тоже. Си недавно начал изучать, но еще не овладел.

Но да, я ничего этого не знаю.

Deleted
()

На PHP, Python я естественно никогда не писал, так что теоретик.

И еще что-то вякает. Типичная ЛОР-овца.

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