The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Анонсирован Perl 7

24.06.2020 23:38

На проходящей сегодня виртуальной конференции разработчиков языка Perl анонсирован проект Perl 7, который плавно продолжит развитие ветки Perl 5 без внесения радикальных изменений. Perl 7 будет аналогичен выпуску Perl 5.32.0, за исключением иных настроек по умолчанию, лучше соответствующих современной практике разработки. В остальном Perl 7 останется тем же Perl 5 и сохранит совместимость с ранее разработанными приложениями.

Значительная смена номера версии выступит своеобразным разделителем перехода к новой модели наращивания функциональности языка Perl без ощутимого нарушения обратной совместимости. Предполагается, что создание Perl 7 поможет привлечь к использованию Perl новых разработчиков и наладить процесс добавления в язык значительных новых возможностей, сохраняя при этом совместимость с кодовой базой существующих проектов. Номер 7 выбран так как Perl 6 был использован при разработке языка, который теперь развивается под отдельным именем Raku. Первый релиз Perl 7 ожидается в следующем году. Ветка Perl 5.32 станет последней в серии Perl 5 и её планируется поддерживать от 5 до 10 лет.

Наиболее заметным изменением в Perl 7 станет включение по умолчанию режима "strict", подразумевающего строгую проверку объявления переменных, использования символьных указателей и присвоения подпрограмм. Использование "use strict" является хорошим тоном и применяется большинством разработчиков. Аналогично по умолчанию планируют включить обработку предупреждений ("use warnings").

В Perl 7 также рассчитывают стабилизировать и включить по умолчанию некоторые уже существующие экспериментальные возможности, такие как сигнатуры функций ("use feature 'signatures'"), позволяющие при определении функции определить входящие аргументы и автоматизировать проверку их числа (можно будет писать "sub foo ($left, $right) {" вместо "sub foo { my($left, $right) = @_;"). Планируют включить по умолчанию и поддержку оператора "isa" для проверки того, является ли объект экземпляром указанного класса или классом, производным от него ("if( $obj isa Package::Name )", а также операций постфиксного разыменования (postderef) "$sref->$*" вместо "${ $sref }", "$aref->@*" вместо "@{ $aref }" и "$href->%{ ... }" вместо "%$href{ ... }".

Претендентами на отключение по умолчанию в Perl 7 являются:

  • Косвенная нотация вызова объектов ("no feature qw(indirect)") - устаревший способ вызова объектов, при котором вместо "->" используется пробел ("method $object @param" вместо "$object->$method(@param)"). Например, вместо "my $cgi = new CGI" нужно будет всегда использовать "my $cgi = CGI->new".
  • Голые файловые дескрипторы без объявления переменных ("no bareword::filehandle") - использование конструкций вида "open FH, $file" будет приводить к ошибке, нужно использовать "open my $fh, $file". Изменение не затронет стандартные файловые дескрипторы STDIN, STDOUT, STDERR, ARGV, ARGVOUT и DATA.
  • Фиктивные многомерные массивы и хэши в стиле Perl 4 ("no multidimensional"). Например, указание "$hash{1, 2}" будет приводить к ошибке, нужно использовать промежуточный массив, например "$hash{join($;, 1, 2)}".
  • Объявление прототипов в стиле Perl 4 (нужно использовать "use :prototype()").

В более отдалённых планах по умолчанию рассчитывают включить поддержку Unicode, что избавит разработчиков от указания "use utf8" в коде. Для модулей и скриптов, в которых возникнут проблемы с новыми настройками по умолчанию, предусмотрена возможность возвращения поведения Perl 5 через добавление в код строки "use compat::perl5". Отдельные настройки также сохранятся и их можно будет изменить по отдельности.

Дополнение 1: Leon Timmermans выступил с критикой новой инициативы. Он не верит, что для Perl 7 возможно будет обеспечить линейный прогресс и вероятнее всего в итоге возникнет очередной затянувшийся форк, как было при переходе на Python 3. Ключевой проблемой является то, что /usr/bin/perl является инфраструктурой, которую нельзя ломать по тем же причинам, что и нарушать совместимость кода на shell и awk. На /usr/bin/perl завязано множество приложений, сборочных утилит и системных скриптов. Включение strict и отключение прототипов нарушит работу огромного числа существующих скриптов, поэтому маловероятно, что дистрибутивы когда-нибудь заменят /usr/bin/perl на perl7 и возникнет ситуация похожая на затянувшийся переход /usr/bin/python на python3.

Кроме того, при создании Perl 7 упускается из виду, что Perl используется не только для написания больших приложений, но и востребован для однострочников, для которых использование "strict" лишено смысла. В конечном счёте спорен критерий хорошего кода, заявленный при анонсе Perl 7. Хороший код - это прежде всего код, который работает и решает возложенные на него задачи, а не только качественно оформленный код.

Дополнение 2: Дэн Бук (Dan Book), поддерживающий более 70 модулей в CPAN, опубликовал результаты анализа рисков при воплощении предложенного плана внедрения Perl 7.

  1. Главная ссылка к новости (https://news.perlfoundation.or...)
  2. OpenNews: Релиз языка программирования Perl 5.32.0
  3. OpenNews: Язык Perl 6 переименован в Raku
  4. OpenNews: Выпуск Rakudo Star 2020.01, дистрибутива языка Raku (бывший Perl 6)
  5. OpenNews: Языку Perl исполнилось 30 лет
  6. OpenNews: Состоялся рождественский релиз Perl 6
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53226-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (183) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:43, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Видать раку не взлетело
     
     
  • 2.2, Аноним (2), 23:55, 24/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Я думаю с самого начала было понятно что он не станет прямым продолжением перла
     
  • 2.70, YetAnotherOnanym (ok), 10:22, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Взлетает, только не в ту сторону.
     
  • 2.73, Аноним (73), 10:26, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    лебедь, щука и рак

    перл7, перл5 и раку

     

  • 1.3, Аноним (3), 23:59, 24/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +10 +/
    Забавно, с PHP та же история была. PHP 6 не взлетел, про него решили забыть и после 5 сразу перешли на 7.
     
     
  • 2.24, Gemorroj (ok), 01:51, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    ну причины там совершенно другие. кроме совпадения цифр, ничего общего.
     
  • 2.25, vanzhiganov (ok), 02:13, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Что такое PHP 6?
     
     
  • 3.34, Аноним (34), 04:20, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    счастливый ты человек...
     
  • 3.92, pda (?), 13:37, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Попытка перевести php на unicode. А так же добавить не мало новых фишек, которые частично были утащены в пятую ветку, вроде пространства имён, а частично перекочевали в седьмую.
    К сожалению перелопатить весь код без отвала кучи модулей расширений не получилось. Однако к этому моменту уже вышли несколько альф php 6, было издано несколько книг и им пришлось перескакивать сразу на php 7, чтобы не вводить людей в заблуждение.
     
  • 2.33, Аноним (34), 04:19, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с вендой то же самое, после 8 сразу на 10 - так же быстрее версии растут.
     
     
  • 3.188, www2 (??), 12:24, 01/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Там был аргумент, что многие стврые программы проверяют наличие девятки в версии, чтобы определять 95 и 98 версии Windows. Они типа не хотели ломать совместимость с этими программами и поэтому после 8 выпустили сразу 10.
     
  • 2.67, BlackRot (ok), 10:11, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    После PHP 7.4 будет PHP 8
    И побарабану что не 7.5
     
     
  • 3.179, Аноним (179), 18:51, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    там будет JIT, это мажорное изменение, все правильно делают
     
  • 2.81, PnD (??), 11:30, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С тем же примерно успехом: выбросили некоторые функции, не дав прямой замены.
    В итоге старый код приходится катать под 5.x. Т.к. бюджет на "переписать то же самое, но под 7.x" почему-то не выделяют. (А на php, внезапно, не только сайты писали.)
     
     
  • 3.86, Каконикал (?), 11:50, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    это что они там такое выкинули, что заменить нельзя?
     
     
  • 4.138, PnD (??), 13:04, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > это что они там такое выкинули, что заменить нельзя?

    Всё можно. Но денег сто́ит. Навскидку:
    ereg_replace() >> preg_replace()
    Но есть нюанс: первый использовал posix-синтаксис, а второй изображает PCRE.
    Чтобы перевести одно в другое, надо знать *оба*.

     
     
  • 5.184, Каконикал (?), 13:43, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Функции ereg_* были объявлены deprecated в версии 5.3, т.е. 11 лет назад.
    И preg_* не изображает pcre, а использует эту либу.

    Я знаю тех, кто до сих пор сидит на 5.2 только потому, что лень, не охота им свою CMS перевести с php_templates (хотя либа есть для 5.3 хотя бы) на что-то другое, нет желания убирать magic_quotes и register_globals и ещё кучу всего, что за 10+ лет можно сделать без проблем и совершенно не напрягаясь.
    А все их разговоры про деньги и прочее -- отмазка, желание за счет клиента решить свои проблемы.

     

  • 1.4, annual slayer (?), 00:01, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2024: Perl 7 решено переименовать в Lana
     
     
  • 2.28, anonymous (??), 02:52, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Lama
     
     
  • 3.55, Аноним (55), 08:16, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Она? http://winamp.com
     
     
  • 4.58, Аноним (55), 08:41, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Кстати, если кому интересно:
    DirectSound плагин вывода с поддержкой ресемплинга https://audiophilesoft.ru/articles/winamp/out_ds_ssrc.7z
    Поддержка Opus https://mega.nz/file/CNgSiS4a#sp1FMovuIgJo0b5_po3enbrYCXm8ZayN6be5FkWRDok скопировать с заменой в корневую директорию проигрывателя.
     
     
  • 5.64, Аноним (55), 10:01, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зря минусуете. Плеер избавляется от несвободных компонентов (из-за этого исчезла поддержка AAC на XP, так как там нет декодера от MS). Не удивлюсь, если станет opensource, а может кто-то портирует и под Linux. Ведь уже существовала давно нативная сборка.
     
     
  • 6.141, анончик (?), 16:02, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    да просто XP-проблемы тут никому не интересны, начиная с висты (а это было 13 лет назад, карл) появился божественный WASAPI, который сам отлично умеет в ресемплинг, например.
     
     
  • 7.150, Аноним (150), 03:54, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я на Win7 тоже включал плееровский ресемплер, как-то не понравился мне системный. Но это чистая субъективщина, тесты я не делал.
    У вас эти файлы играют как чистый тон без похрюкивания?
    https://forum.audacityteam.org/download/file.php?id=18385
    https://forum.audacityteam.org/download/file.php?id=18386

    А виста была неплохой системой. Жаль, что сейчас смысла в ней нет.

     
     
  • 8.151, Аноним (150), 03:59, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Красивой, в смысле Когда XP совсем загнется, буду изучать ее Еще мне нравились... текст свёрнут, показать
     
  • 8.160, анончик (?), 13:23, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    да, никакого похрюкивания нет а во что их ресемплить надо, один 16 44, второй 1... текст свёрнут, показать
     
     
  • 9.161, анончик (?), 13:24, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    тьфу, т е второй 16 48 ... текст свёрнут, показать
     
  • 4.74, Аноним (73), 10:28, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    «Winamp, it really whips the llama’s ass»
     
     
  • 5.77, Аноним (77), 11:09, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    No llama will be abused.
     
  • 5.131, Аноним (131), 11:11, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "¿Cómo te llamas?" :)
     

  • 1.5, Аноним (5), 00:01, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Есть куча языков, которые спокойно себе развиваются десятилетиями. Awk, tcl/tk... но только perl колбасит и колбасит. Все какие-то громкие заявления, великие планы, непреодолимо привлекательные (нет) фичи...
     
     
  • 2.8, Аноним (2), 00:14, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Наверное потому что ими никто не пользуется? ¯\_(ツ)_/¯
     
     
  • 3.71, YetAnotherOnanym (ok), 10:24, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Ими пользуются 100% линуксоидов и бсдишников, просто не все они об этом знают.
     
  • 2.10, Аноним (10), 00:30, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Угу, то-то с 2.х питона все никак не слезут. Какие там слухи по RedHat/CentOS 8, отключать будут? Или через пять лет в RedHat 9? =)
     
     
  • 3.14, jOKer (ok), 00:49, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На самом деле, еще как слазят.
    У второго питона EXPIRATION DATE: 2020-12-31, и на данный момент пакетов жестко завязанных на него можно буквально по пальцам посчитать.
     
     
  • 4.17, Аноним (17), 00:53, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это во FreeBSD у него EXPIRATION DATE, а официально он уже сдох 1 января. В портах зависящей от него тухлятине просто так и быть дали ещё повонять до августа.
     
     
  • 5.20, jOKer (ok), 00:56, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это во FreeBSD у него EXPIRATION DATE, а официально он уже сдох
    > 1 января. В портах зависящей от него тухлятине просто так и
    > быть дали ещё повонять до августа.

    Ну, я когда последний раз пытался обновить мир без него (на домашней генте) пара пакетов с заявкой на второй питон таки выползло. Если память не изменяет - gtk2, setuptools и что-то там еще. Так что вонять еще воняет. Но видимо не долго осталось.

     
     
  • 6.41, Аноним (41), 06:39, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Setuptools уже можно без второго. А gtk2 уже никто заниматься не будет, поэтому уйдёт вместе с второпитоном.
     
  • 2.18, Аноним (17), 00:54, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Все какие-то громкие заявления, великие планы, непреодолимо привлекательные (нет) фичи...

    Так они же лингвисты, а не разработчики.

     
  • 2.46, Аноним (46), 07:54, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какие заявления вы услышали про perl 7? В новости же явно написано что 7 это спокойное развитие 5. Вы перепутали с perl 6.
     
  • 2.190, Вадик (??), 13:16, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Я использую Linux более 10 лет. Лет 8 назад собрал свою первую gentoo, сейчас в основном на Arch. Виду активную разработку нескольких проектов на разных ЯП. Ни разу я не использовал и даже не видел awk и tk. Никогда не сталкивался и небыло необходимости их использовать.
     

  • 1.6, Аноним (6), 00:05, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Только несколько дней назад радовался о том, что Perl5 не лезет в гонку версий и наращивания ненужных фич, и понемногу оттачивает уже сформировшийся язык, не ломая совместимость. Видимо сглазил.

    От Perl 7 двоякое впечатление. С одной стороны хорошо, что ломать как в Python 3 ничего  глобально не собираются, наломали уже в Perl 6. С другой стороны,  "open(FH, $file)" и "$cgi = new CGI" довольно часто встречаются и используются. Какой смысл нарушать совместимость по дефолту ради самого изменения? Те кому надо и сами все эти настройки ставят. Ну будет в скрипте на строку "use strict" меньше и что, зато сломают кучу старых скриптов. Толкут воду в ступе и пытаются на пустом месте видимость бурной деятельности создать. Новичков не привлекут, а оставшихся разработчиков растеряют.

     
     
  • 2.11, Аноним (10), 00:32, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Еще добавлю про "use warnings", после common::sense этот "use warnings" кажется одной большой ошибкой, которую никто не хочет исправлять.
     
  • 2.15, Аноним (17), 00:49, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Какой смысл нарушать совместимость по дефолту ради самого изменения?

    Вот мне интересно. Ладно, вы новость не читали. Ладно, в языке ничего не понимаете. Но понимать-то что не читали и не понимаете на минимальном уровне вы должны, чтобы такой чуши не писать и не позориться?

     
  • 2.36, Аноним (34), 04:26, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не только перловцы (и перловки) страдают сейчас имитацией бурной деятельности, этот вирус захватил почти всех. Вот кто сейчас НЕ страдает переименованием слов black/white? (привожу слова в словарном порядке, а не потому, что негры доминируют над белыми).
     
     
  • 3.43, Аноним (43), 07:29, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > привожу слова в словарном порядке

    Это ты сейчас намекнул, что неплохо бы провести ревизию алфавитов, я понял!

     
  • 3.65, Аноним (65), 10:08, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот кто сейчас НЕ страдает переименованием слов black/white?

    https://github.com/Perl/perl5/search?q=blacklist+whitelist&unscoped_q=blacklis

     
  • 3.165, rvs2016 (ok), 16:10, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > black/white? (привожу слова в словарном порядке,
    > а не потому, что негры доминируют над белыми).

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

     
  • 2.135, Аноним (131), 11:53, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > "$cgi = new CGI" довольно часто встречаются и используются

    Кстати да. Вот в С++ наоборот собираются unified syntax вводить, чтобы и object.function(arg) работало, и function(object, arg). A в Перле наоборот убирают :(

     

  • 1.7, Аноним (7), 00:11, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Лучше бы за оптимизацию производительности интерпретатора взялись, добавили JIT и компилятор написали.
     
     
  • 2.12, Аноним (12), 00:36, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот да.
     
     
  • 3.37, Аноним (34), 04:27, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Но это же работать надо! То ли дело запрещать используемые фичи!
     
  • 2.19, Аноним (17), 00:55, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так raku же. Ешьте, не обляпайтесь.
     
     
  • 3.66, Аноним (65), 10:09, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Который, внезапно, медленнее.
     
  • 2.21, Аноним (10), 01:03, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ради интереса, чем не угодили Perl::Strip, Perl::Stripper? И можно пример юзкейса, где важна именно производительность интерпретатора? Просто интересно. Потому, что вопросы производительности в 99% решаются сишкой, а не интерпретатором, JIT и прочей лабуденью, которая предназначена для очень специфичных случаев и в случае Java, ее JIT это скорее недостаток, чем преимущество.
     
     
  • 3.27, OpenEcho (?), 02:36, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >И можно пример юзкейса, где важна именно производительность интерпретатора? Просто интересно.

    spamassassin + busy email server

     
     
  • 4.39, бублички (?), 06:24, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    использовать больше 1 инсталляции Spamassassin не приходило в голову? 5-10 и перед ними пару Nginx с VIP в качестве proxy?
     
     
  • 5.87, YetAnotherOnanym (ok), 12:04, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У spamd есть параметры командной строки --max-children и --min-children. Попробуйте догадаться о чём они. (Хинт: создатели SA не страдали контейнеризацией головного мозга, учитывайте это)
     
     
  • 6.97, бублички (?), 14:31, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    спасибо, но я в курсе про эти параметры. о контейнерах в данном случае не сказал ни слова. к чему твой пафосный перформанс - не пойму
     
     
  • 7.115, YetAnotherOnanym (ok), 19:34, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не пойму

    Это ожидаемо.

     
     
  • 8.119, бублички (?), 20:38, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ещё больше пафоса диагноз вырисовывается - тщеславие уровня черепаха ... текст свёрнут, показать
     
  • 5.104, OpenEcho (?), 16:30, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > использовать больше 1 инсталляции Spamassassin не приходило в голову? 5-10 и перед
    > ними пару Nginx с VIP в качестве proxy?

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

     
     
  • 6.125, бублички (?), 01:18, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> использовать больше 1 инсталляции Spamassassin не приходило в голову? 5-10 и перед
    >> ними пару Nginx с VIP в качестве proxy?
    > Я думаю вы согласитесь, что это не ответ на заданый вопрос, на
    > который я отвечал.
    > А так да, есть тоже варианты костылей решения первоначальной проблемы...

    по-твоему метод простой балансировки - костыли? то-есть всё остальное - инвалиды что-ли? ты из другой вселенной? отвести тебя к нашему лидеру?

     
     
  • 7.143, OpenEcho (?), 16:47, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > по-твоему метод простой балансировки - костыли? то-есть всё остальное - инвалиды что-ли?
    > ты из другой вселенной? отвести тебя к нашему лидеру?

    Блин, бублички, что ж вы тут все такие агрессивные то ?!

    Поймите, вы говорите о разных вещах, если бы spamassassin и amavis были бы написанны на компиляторах, то их производительность была бы выше !!!

    Мы здесь о интерпритаторах, а не том как резолвить батлнеки...
    Это как спорить что же быстрей - велосипед или мотоцикл...

    Или вы считаете что будь spamassassin написан на cях - это плохо для скорости ???

     
     
  • 8.144, бублички (?), 18:42, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ты рассуждаешь на уровне если у бабушки был бы - она была бы дедушкой реа... текст свёрнут, показать
     
     
  • 9.176, OpenEcho (?), 18:24, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ОП - Где бы пригодилась скорость велосипеду Я - Ну, например на скоростной... текст свёрнут, показать
     
  • 8.145, Аноним (10), 19:01, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Глянь https rspamd com Сам не пробовал, слышал о нем давно, раньше не было мн... текст свёрнут, показать
     
     
  • 9.173, OpenEcho (?), 18:14, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, работает значительно быстрей чем СА, надеюсь добавят скоро еще сканирование ... текст свёрнут, показать
     
  • 4.110, Аноним (10), 18:23, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И какой у вас трафик Это риторический вопрос У вас я понимаю компания в 3 тыс ... большой текст свёрнут, показать
     
     
  • 5.117, OpenEcho (?), 20:06, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы нормальный?

    A Вы? Я ответил на вопрос, где скорость языка была бы далеко не лишней... как пример, о котором спрашивали

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

    Вы видели где то мои "претензия к перлу из-за SA" ???

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

     
     
  • 6.118, Аноним (10), 20:20, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>И можно пример юзкейса, где важна именно производительность интерпретатора? Просто интересно.
    >spamassassin + busy email server

    Ах, ты шайтан! Моя вина, а точнее и ваша тоже, отвечать на вопрос, который задан был не вам. Или вам? Я вопрос задал анониму, ответили почему-то вы. При этом, как только пошел серьезный разговор, вы с него съехали и выставили еще меня виноватым. Ну, шайтан, ой шайтан.

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

     
     
  • 7.142, OpenEcho (?), 16:37, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ладно, проехали, звиняюсь, но не искренн. Ждем, тому к кому я обращался.

    Да, запутаться здесь иногда можно, так что по пивку, за миру - мир, войне-пиписька :)

     
  • 3.42, Аноним (12), 07:12, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > вопросы производительности в 99% решаются сишкой

    С этим зачастую сложности организационные.

     
     
  • 4.114, Аноним (10), 19:33, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Дааа, организационные. Найти XS-шника сложно =)

    Вы знаете, когда лично я рассказывал про XS при найме на работу на меня все смотрели глазами рублевыми монетами и не понимали моего восторга от XS. Как только слышали про Си, то сразу тема плыла в русло "а это же небезопасный код", "а это же сложно", "а вы понимаете мы ищем тру перловика/тру сишарпщика" и т.п. херь. Но чето никто из них не ругал сишный DBD::mysql, сишный DBD::Oracle, сишный LibXml2 и т.д.

    Более того, спустя несколько лет я столкнулся с тем, что на сишарпе часть кода все еще приходится лично самому писать на winapi на сях. Потому что никто не писал этого кода ни для вас, ни для меня. И уж я могу гарантировать, что мало кто лез в исходники .Net Core и видел внутри что? Правильно чистую, кристальную как роса, сишку.

     
     
  • 5.127, Аноним (127), 08:15, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Но чето никто из них не ругал сишный DBD::mysql, сишный DBD::Oracle, сишный LibXml2 и т.д.

    Шта?!
    https://www.cvedetails.com/vulnerability-list/vendor_id-1962/product_id-3311/X

     
  • 5.140, йо ж (?), 15:12, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > то сразу тема плыла в русло
    > Но чето никто из них не ругал

    Именно поэтому было бы неплохо гнать из профессии как можно больше скриптовиков без знания цэ и минимальных знаний архитектуры. "Жаль что пожить в эту пору прекрасную...".

     
  • 3.53, Аноним (34), 08:02, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в 99% решаются сишкой

    Пыхтачки почему-то не стали писать на си экзешники, а придумали пыхпых.

     
     
  • 4.96, Аноним (96), 14:00, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Тем не менее существуют всякие PHP Extensions
     
  • 3.132, Пример (?), 11:18, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> И можно пример юзкейса, где важна именно производительность интерпретатора

    интерпретатор JavaScript в браузере - подойдёт такой пример? а NodeJS? Я так понимаю ничего "экстра большого" (NodeJS) или "экстра важного" (как в браузере) просто на Perl не делали и нокогда? так он и остался "удобно для однострочников" - им то скорость интерпретатора нее так важна.

     
     
  • 4.139, Аноним (10), 13:18, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нет Когда перл будет встроен в браузер тогда пойдет Наезд был к интерпретато... большой текст свёрнут, показать
     
     
  • 5.146, Аноним (146), 22:03, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ой, Извините Это Я не верно выразился - - я имел в виду - что ВООБЩЕ на Perl не... большой текст свёрнут, показать
     

     ....большая нить свёрнута, показать (31)

  • 1.9, Аноним (9), 00:28, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Интересно, множество пользователей раста пересекается с множеством перловиков? Новости очень похожи по стилю (и частоте) :)
     
     
  • 2.16, Аноним (17), 00:50, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто Максим пытается пожертвования отработать.
     
     
  • 3.62, Аноним (62), 09:45, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Просто Максим пытается пожертвования отработать.

    Телом торгует, в общем. 🤑

     
  • 2.31, поле (?), 04:18, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    С джесистами пересекается.
     

  • 1.13, Аноним (17), 00:47, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Ну чо, кто там из перловиков смеялся над потерей совместимости между питоном 2 и 3 и говорил что вот у них такого никогда не будет?
     
     
  • 2.22, Aliech (ok), 01:08, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А где потеря совместимости то?

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

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

    Есть конечно же и легаси... но для неё 5.32.* будет ещё долго.

     
     
  • 3.29, Lex (??), 03:09, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Парадокс написания кода в том, что «дурак» вроде бы программист, его написавший, а крайний и отхватывающий кучу проблем из-за говнокода - конечный пользователь.

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

     
  • 3.128, Аноним (127), 08:16, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как вы не понимаете! Это другое!(Ц)
     
  • 2.23, Аноним (10), 01:13, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В перле ломка началась примерно с 5.18-5.20. Плавно и постепенно он меняется, а не ломается так, что полкода надо переписывать. Так что сравнение с питоном не уместно.
     
  • 2.48, Аноним (46), 07:57, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > предусмотрена возможность возвращения поведения Perl 5 через добавление в код строки "use compat::perl5"

    Ну чо, когда ты русский язык выучишь и новости читать научишься?

     
  • 2.185, Клыкастый (ok), 21:36, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    use strict; у перловиков уже совсем, совсем давно. без него даже минутный скрипт одноразового применения пишут далеко не все - уже на уровне рефлекса.
     

  • 1.26, dotpot (?), 02:20, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    http://blogs.perl.org/users/leon_timmermans/2020/06/not-quite-getting-better-
     
  • 1.30, Аноним (-), 04:00, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Ждём выхода "Perl 8"! И попутное объявление от том, что "Perl 5" и "Perl 6" устарели, что они больше поддерживатся не будут.
     
     
  • 2.38, Аноним (34), 04:32, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сразу Perl 9, а то ковид, карантин, перловцы пропустили время выпуска Perl 8
     
  • 2.45, A.Stahl (ok), 07:34, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >без ощутимого нарушения обратной совместимости

    Ты понимаешь что тут написано?

     
     
  • 3.57, Аноним (57), 08:39, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А оценку ощутимости нарушения будут проводить диктаторы по своему усмотрению, ... большой текст свёрнут, показать
     
     
  • 4.123, Аноним (123), 23:13, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А у кучи васянов-админов в провинциальных телекомах/заводиках/конторках при переходе с 5-го на 7-й перл отвалятся всякие полуподвальные наколенные перловые биллинги/crm-ки/могучие админские скрипты-портянки

    Зачем переходить на новый perl со старыми "биллинги/crm-ки/могучие админские скрипты-портянки"?
    Имитация работы?
    Зуд "у меня не распоследняя версия"?

     
  • 4.186, Клыкастый (ok), 21:40, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А оценку "ощутимости" нарушения будут проводить диктаторы по своему усмотрению

    нет конечно устроят голосование с коэффициентами, типа SJW, извращенец - x10.

    > А у кучи васянов-админов в провинциальных телекомах/заводиках/конторках при переходе с 5-го на 7-й перл

    ничего не отвалится. там будут стоять необновляемые с 5 перлом сервантики (ну или докеры, если васян моднявый). всё как всегда.

     
  • 3.129, Аноним (127), 08:18, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Просто запустите 2to3, говорили они...
     
  • 2.50, Аноним (46), 07:58, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Perl 6 это другой язык, у тебя совсем в голове каша.
     

  • 1.35, поле (?), 04:21, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а вот лисп живет вне зависимости от левой пятки всяких обгвидков и ларрей. Никакого шестого перла и третьего питона с недотипизацией.
     
     
  • 2.47, A.Stahl (ok), 07:56, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Я не поддерживаю влияние левых пяток, но пример Лиспа неудачен -- живёт он хоть и без пяток, но не очень-то хорошо.
     
  • 2.51, Аноним (46), 07:59, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сможешь перечислить текущие реализации lisp и их совместимость друг с другом? Специалист по lisp из тебя так себе.
     
  • 2.56, Аноним (56), 08:19, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это про какой из 1000 вариантов лиспа? Мамкин лисповец тут нашелся.
     
  • 2.63, Аноним (62), 09:48, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >а вот лисп живет

    Нах так жить.

    Даже Довлатова процитровать захотелось:
    "Личные вещи партизана Боснюка. Пуля из его черепа, а также гвоздь, которым он ранил фашиста..." Широко жил партизан Боснюк!

     
  • 2.68, Sarcastic scutosaurus (?), 10:18, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > лисп живет вне зависимости

    Ты про который лисп? CL, Scheme, Closure? По сколько там реализаций каждого ныне здравствует независимо от угнетателей? И насколько они между собой совместимы?

     
     
  • 3.189, www2 (??), 12:42, 01/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Scheme и Closure - это не Common Lisp. Или у вас C, C++ и C# - это тоже несовместимые версии одного и того же языка?
     

  • 1.49, Аноним (49), 07:57, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Почитал мнение опытных перловиков на HN в связи с новостью. У перла всё намного хуже, чем я думал -- махровое легаси, которое непонятно, зачем живо. Опытные перловики делятся на совершенно поехавших неадекватов (осталось ощущение, что не слишком и опытные) и сваливших на питон и жс.
     
     
  • 2.52, Аноним (46), 08:00, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Продолжайте наблюдение.
     
     
  • 3.54, Аноним (49), 08:10, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я был несколько удивлён и расстроен, поскольку у меня после опеннета сложилось мнение, будто перл быстрее питона и куда лучше подходит в качестве замены awk (если его не тащить туда, куда ты не потащил бы awk). По факту получается там скучное-скучное старье, отставшее от реальности лет на 20, не меньше. Один этот факт является весомым доводом против.
     
     
  • 4.60, 1 (??), 09:27, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    т.е. awk это rocket science намного опередивший сегодняшний день ?
     
     
  • 5.61, Аноним (49), 09:41, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Они принадлежат к одной группе "странных" устаревших десятилетия назад технологий. У перла достаточно приятный синтаксис и удобные возможности процессинга текста, хотя некоторые синтаксические решения выглядят _очень_ сомнительными. Awk же вообще тяжело назвать языком программирования (он им является).
     
     
  • 6.82, PnD (??), 11:42, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё ed|sed обязательно выкинуть. Они ппц как устарели.
    Когда чего-то начнёт не хватать — внедрить powershell. (Главное, чтобы бюджет от такого не треснул.)
    </sarcasm>
     
     
  • 7.83, Аноним (49), 11:44, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Они не пытаются брать на себя больше и решать неподходящие задачи. Неуместное сравнение.
     
  • 4.69, Аноним (65), 10:21, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Почитал тут — сложилось одно мнение, почитал там — сложилось другое… Так и будешь чужие мнения всю жизнь изучать?
     
     
  • 5.75, Аноним (49), 10:58, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да не, просто тут аргументации ноль Тут популярно хейтить питон и облизывать пе... большой текст свёрнут, показать
     
  • 4.79, Cradle (?), 11:17, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > отставшее от реальности лет на 20

    вот в этом то и непонимание, перл силен как раз в той сфере где реальность не терпит радикальных изменений, 20 лет это как раз хороший срок что-бы его любить за это. По опыту, я например пишу порой скрипты на питоне, если требуется какую-то демонстрашку передать коллегам и забыть сразу. А если нужно для себя и чтобы работало без заморочек, пишу на перле, он из скриптовых языков для меня первый native tongue

     
     
  • 5.124, Аноним (123), 23:17, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > он из скриптовых языков для меня первый native tongue

    Это только в твоей surrounding wednesday.

     
  • 4.102, йо ж (?), 16:17, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    гражданин фрактал, залогиньтесь и вернитесь к старому субъекты для наездов.
     
  • 4.105, Аноним (105), 17:31, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это как раз одно из его преимуществ Второе - куча модулей в CPAN на все случаи ... большой текст свёрнут, показать
     
  • 2.120, Аноним (10), 21:38, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Опытные перловики горой за перл Дальше тред HN скатился что быстрее, телега на... большой текст свёрнут, показать
     
     
  • 3.122, Аноним (49), 23:08, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спасибо, я выбрал си, потому что плюсы слишком сложные и перегруженные Так вот,... большой текст свёрнут, показать
     
     
  • 4.130, Аноним (10), 08:38, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, то-то в ядре postfix нет регулярок все регулярки там выставлены наружу в в... большой текст свёрнут, показать
     
  • 3.183, YetAnotherOnanym (ok), 13:07, 28/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот, лично я за си. Ни в перл, ни в питоне, ни в руби никакой речи о скорости быть не может
    > Изучай си/плюсы

    https://twitter.com/joeerl/status/1115990630793207808
    <trollmode>Verilog пусть изучают, если нужна скорость :Ь</trollmode>

     

  • 1.59, Аноним (-), 08:48, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Те кто ноет не желает учится новому. И даже страшнее нежелает работать.
     
     
  • 2.80, Аноним (-), 11:26, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    попробуйте это сказать systemd-хейтерам
     
     
  • 3.84, Аноним (84), 11:47, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это другое !
     
  • 3.93, Аноним (93), 13:39, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А как это связано?
     
     
  • 4.121, Аноним (-), 22:45, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    действительно, это же ДРУГОЕ
     
  • 2.167, rvs2016 (ok), 16:58, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Те кто ноет желает учится новому

    Учиться новому - не проблема. Под новый-то язык скриптов народ наваяет на гора! Но вот править тонны старых скриптов под новый язык, чтобы они в нём смогли продолжить работать и дальше... - это не нытьё, а гнев праведный.

     

  • 1.72, йо ж (?), 10:25, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    шо, опять?
     
  • 1.76, Cradle (?), 11:00, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сравнение с питоном не совсем корректное, особо радикальных изменений в сам язык вроде не предлагается.
    Судя по анонсу, им будет довольно легко решить проблему совместимости на таком уровне, для /usr/bin/perl7 включать strict и все эти разумные опции, а для /usr/bin/perl выключать и вести себя как пятый.
     
  • 1.78, Анонимь (?), 11:16, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Взяли Perl 5, не внесли никаких изменений, назвали Perl 7. Свежо, новаторски, да...
     
     
  • 2.94, Аноним (93), 13:41, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Список изменений перечислен в новости, эти изменения меняют поведение по умолчанию и выпускать их под старой версией было бы верхом непрофессионализма, поэтому очевидно новый номер.
     
     
  • 3.108, Аноним (34), 18:20, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    меняют поведение?! переломать существующее - это заслуживает новой версии?
     
  • 3.157, Anonymoustus (ok), 10:41, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А перечисленное в новости точно было нужно? Так, чтоб вот жить без этого дальше никак. Точно-точно?
     
  • 2.168, rvs2016 (ok), 17:02, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Взяли Perl 5, не внесли никаких изменений,
    > назвали Perl 7. Свежо, новаторски,
    > да...

    Так если хотя бы не внесли, то тогда да...
    А то не только ж внесли, но и поломали старые скрипты!
    Уж лучше бы не внесли, а только номер сменили ну и всё остальное по мелочам типа БолгенОС.

     

  • 1.88, анонимно (?), 12:25, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    переход на такую мажорную версию был бы хорош если бы *рутины бы запилили  как в golang. Без нативной многопоточности в 21 веке делать нечего.
     
     
  • 2.95, Cradle (?), 13:54, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ага, вот только этого нам в однострочниках всегда не хватало
     
     
  • 3.154, анонимно (?), 09:57, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну, если перловка позиционируется как язык однострочников то у меня нет вопросов.
     
     
  • 4.175, Cradle (?), 18:19, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.nntp.perl.org/group/perl.perl6.language/2003/05/msg15354.html
     
  • 2.101, йо ж (?), 16:11, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > если бы *рутины бы запилили

    есть subs::parallel, Paraller::Subs, MCE. каждый со своими хохмами. не то?

    ваш покорный слуга больше склонен ко второму варианту. для простых случаев.

     

  • 1.89, Аноним (89), 12:28, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Раку повезло меньше.
     
  • 1.99, pVV (?), 15:20, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Рад, что Perl потихоньку развивается. Нормальный язык. Пишу на нем уже много лет. Есть определенные сложности, но они присутствуют везде. Узкие места решаются через XS включением когда на C. Всякие новомодные игрушки вида async/await тоже присутствуют (хотя подобное можно было реализовать еще лет 15 назад, но не из коробки в два клика). Нет такого обилия синтаксического сахара, как в современных языках. Переживем - сахар вреден в больших количествах.

    P.S.
    Если вы будете судить рыбу по её способности взбираться на дерево, она проживёт всю жизнь, считая себя дурой.

     
  • 1.100, Аноним (100), 15:46, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Короткие скрипты на перле писать очень удобно. Но вот в таком я так и не разобрался
    <code>map {  print "\t $_" if (1 x $_) !~ /^1?$|^(11+?)\1+$/ } 1..10001</code>
     
     
  • 2.106, ioshua (?), 18:04, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Короткие скрипты на перле писать очень удобно. Но вот в таком я
    > так и не разобрался
    > <code>map {  print "\t $_" if (1 x $_) !~ /^1?$|^(11+?)\1+$/
    > } 1..10001</code>

    Подозреваю, что самостоятельно в подобном вообще мало кто разобрался.

     
  • 2.109, Cradle (?), 18:21, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    вот ведь колдунство! конвертирует число в строку из числа единиц, потом выводит только те в которых
    - единица не одна
    - и строку нельзя разбить на равоное число груп по две и больше единиц в каждой.
    Простые числа выводит короче, доказывая попутно полноту pcre по тюрингу.

    Разобраться то можно, а вот кто такое придумал?

     
     
  • 3.158, Anonymoustus (ok), 10:51, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Действительно.

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

     
  • 2.155, анонимно (?), 10:01, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "Тому, кто это придумал, надо гвоздь в голову забить" (с) ДМБ
    А вообще конечно такие конструкции нужно снабжать комментариями.
    А ещё лучше если есть вероятность что это будет видеть хотя бы ещё один человек то не писать так вообще
     
     
  • 3.174, Cradle (?), 18:16, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    у этого перла ценность скорее академическая
     

  • 1.103, ixrws (??), 16:24, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Никогда не понимал этой тяги отключать то, что работает или менять логику просто потому что кому-то кажется, что это правильный подход. Одного аргумента, что есть старый код, должно быть достаточно, чтобы даже думать в эту сторону не сметь, вообще не пытаться даже.
    С другой стороны также не понятно, почему значительные улучшения нельзя делать в рамках одного проекта, тянув за собой весь багаж. Тот же perl6, по сути можно было просто сделать отдельным компилятором, но в тот же байткод, что у perl5 и чуть чуть добавить того, что не хватает. Грубо говоря получалось бы, что perl просто бы по расширению файла или по директиве внутри файла обрабатывал бы код как p5 или p6. При этом сохранялось бы полное взаимодействие кода на разных языках, вплоть до использования модулей одного в другом и наоборот.
    Многие возможности вообще можно было в рамках одного компилятора сделать, почему это не понятно? Почему разработчики linux могут в рамках одного проекта фигачить самые разные части, которые вместе то работать не всегда могут, нужно либо одно использовать либо другое, но при этом это один проект, а другие проекты, более мелкие, обязательно скатываются в раскол? Что за детский сад то? Никого же не удивляет, что одни люди используют одну fs, другие другую, но при этом юзерспейсный api доступа к файлам в Linux неизменен уже десятки лет.
     
     
  • 2.107, Аноним (34), 18:17, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Что за детский сад то?

    Потому что дети занимаются разработкой.

     
     
  • 3.111, Cradle (?), 18:43, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну да, в перле только дети :)

    Вздумалось как-то лет десять назад поискать работу в эту сторону, оказалось что даже есть очень серьезные вакансии. Сходил на пару собеседований, оба случая довольно похожие: первая компания выполняла аккаунтинг для крупного инет- провайдера с 20 миллионов клиентов, второе был ИТ отдел одного подминистерства в сфере больничного страхования (западная европа). В обоих случаях этот весь такой глобальный супер энтерпрайз работал конечно на яве, как же еще, во второй конторе даже везде только AIX. И вот эти супер ява энтерпрайзные конторы имеют по штату по 2-3 очень таких бородатых ребят примерно как Кен Томпсон и Деннис Ритчи, которые на перле парсят логи и генерируют отчеты для начальства. Пополнение им нужно было, даже ведь хотели взять в обеих местах, пришлось вежливо отказываться.

     
     
  • 4.113, Аноним (34), 19:16, 25/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    вот ты и рассказал про детский сад.
     
  • 2.159, Anonymoustus (ok), 11:29, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Одного аргумента, что есть старый код, должно быть достаточно, чтобы даже думать в эту сторону не сметь, вообще не пытаться даже.

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

     

  • 1.112, Аноним (112), 18:46, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Perl-5.10.1 32-bit нереально шустр под виндой на моём устаревшем железе.
    Дальше всё богаче и всё тяжелее.

    Возможно в последствии perl-7 станет for 64-bit systems only,
    как и многое в последнее время.
    ... Реальным наворотам нужно реально много памяти,
    реальные юзеры хотят только реально неслабое железо
    ... другая реальность

     
     
  • 2.153, Аноним (153), 08:53, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Перл шустр? Омг!
     

  • 1.116, Аноним (116), 19:35, 25/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Он всё такой же мееедленный???
     
     
  • 2.126, Аноним (34), 06:38, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нынешняя школота в разработке может только портить.
     

  • 1.133, Аноним (-), 11:19, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >> И можно пример юзкейса, где важна именно производительность интерпретатора

    интерпретатор JavaScript в браузере - подойдёт такой пример? а NodeJS? Я так понимаю ничего "экстра большого" (NodeJS) или "экстра важного" (как в браузере) просто на Perl не делали и нокогда? так он и остался "удобно для однострочников" - им то скорость интерпретатора нее так важна.

     
     
  • 2.134, Аноним (-), 11:24, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    т.е. получается что те кто кричит "он медленный" просто пытаются "накидать" ("накидать"! - именно "накидать" по быстрому) что-то и от этого чего-то сразу же ждут производительности. Производительности же нет, потому что она была НЕ ТАК УЖ ВАЖНА ибо 1) проблема решалась другими способами либо 2) не было таких задач БОЛЬШИХ ЗАДАЧ\ПРОЕКТОВ из-за которых ускорили бы Perl (как было приведено - NodeJS и браузерный код).
     
     
  • 3.137, Cradle (?), 12:43, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > т.е. получается что те кто кричит "он медленный" просто пытаются "накидать" ("накидать"! - именно "накидать" по быстрому) что-то и от этого чего-то сразу же ждут производительности

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

    А по поводу сравнений с NodeJS: сравнения не корректные потому что совсем другая парадигма, нода асинхронная и производительность там будет проседать на совсем других операциях чем в синхронном перле. И если уж сравнивать, то вот в начале 2000-х был популярным mod_perl под апач, и по произвидительности он рвал тогдашний php как тузик грелку. Зато имел порог вхождения недоступный для 90% тогдашних веб-разработчиков, не говоря уже о севременных. Короче, сравнения имеют смысл только в контексте применения, большой вопрос есть ли у ноды и перла сейчас где-то пересечения.

     
     
  • 4.148, Аноним2 (?), 22:09, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Спасиибо за ответ!

    >>> А по поводу сравнений с NodeJS: сравнения не корректные потому что совсем другая парадигма, нода асинхронная и

    Вот может это оно и есть - в Perl не было "асинхронности" и NodePerl не состоялся?

     
     
  • 5.149, Cradle (?), 22:59, 26/06/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    нет, тут история другая, перл был на волне популярности года около 2000-го, и уже к 2005 резко ее растерял и остался в тех нишах где и сейчас. В то время про асинхронность никто еще не думал, максимум в сторону мультитрединга поглядывали, и то в интерпретируемых языках довольно робко. Крупные проекты на нем вполне были, просто они уже давно умерли, Хотя вот, толстая imperia cms даже еще жива курилка, а midgard был мощный фреймворк такой, в него тогда redhat крепко денег вбухал, а сейчас он на php переписан.

    На самом деле от JS тогда тоже никто ничего хорошего не ожидал, там вообще очень все уныло выглядело, потому что с одной стороны браузерные войны, а с другой тормозил он у всех тогда нещадно. До тех пор пока пара гугловцев не устроили революцию тем что посмотрели внимательно на чем он тормозит и узрели дикий треш с организацией памяти. Помню их докторский тезис года около 2007-2008, нам тогда это открытие тоже немного шаблон порвало, что так тоже можно было. Главное, им тогда удалось радикально изменить модель памяти не сломав сам язык, и родился V8, а потом конечно остальные движки эти идеи тоже переняли. Без V8 нода была бы бессмысленна, а jquery бесполезен, так что можно сказать весь современный ландшафт JavaScript возник благодаря этому. Тогда, около 2008, в jquery вложился деньгами M$, и все завертелось.

    Применительно к перлу, возможно авторы по той же причине примерно в то  же время стали разбираться со своими тормозами и родили свою parrot vm, вот только совместимость потеряли. В PHP тогда тоже этим занималсь, чуть позже правда, с 5.2 на 5.3 радикально поменяли модель памяти и все вдруг залетало. 2010 это вроде уже был, помнится я в то время в порядке изучения Cи тогда активно их корку дебажил.

     
  • 4.170, rvs2016 (ok), 17:12, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > вот в начале 2000-х был популярным mod_perl под апач, и по
    > произвидительности он рвал тогдашний php как тузик грелку

    А CGI::Fast победил ли этого мод_перла?

     
     
  • 5.171, Cradle (?), 17:56, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    врядли, он работает через зокет, это наверняка будет узким местом в сравнении с mod_perl API доступа к обьектам самого апача. В то время о нем особо не было слышно; midgard например работал похожим образом, имел свой аппликационный сервер (на подобии томкэта) которому апач гнал запросы через прокси, но вот имменно этот модуль они не использовали. Хотя, давно это все было.

    Забавно, http://perl.apache.org/outstanding/sites.html пишет что сайт аdobe.cоm работает на mod_perl, хотя их rоbоts tхt намекает что не совсем:

    Disallow: /*Ljava.lang.Object*
    Disallow: /*.sql$

     

  • 1.136, Аноним (-), 12:27, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >> This morning at The Perl Conference in the Cloud, Sawyer X announced that Perl has a new plan moving forward.

    Вы поглядите - "moving forward"!!! А forward - это КУДА??? Какую проблему вы решаете этой новой веткой???

     
  • 1.147, Аноним2 (?), 22:04, 26/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>  Расскажите, а не просто кидайтесь какулями.

    Ой, Извините! Это Я не верно выразился -
    >> Я так понимаю ничего "экстра большого" (NodeJS)
    >> или "экстра важного" (как в браузере) просто на Perl не делали и нокогда?

    - я имел в виду - что ВООБЩЕ на Perl нет крупных проектов - ВООБЩЕ НЕТ! - поэтому (одна из главных причин) Perl и ***не развивается*** - Perl так, пускалка однострочников и толкала внешних тулов, поэтому "зачем ему производительность интерпретатора".
    Что такое крупные проекты? - Это MS Word, и это OpenOffice. Даже так - Крупные и Сложные! И таких много. А раз возникает "сложность" то возникает нужда её забороть. Как забороть? - А выработать "приёмы", может расширить язык для их ("приёмов")эффективной работы, оптимизировать что-то, улучшить и т.п. А на Perl просто не случилось этих огромных проектов которые бы подтолкнули к развитию язык\интерпретатор. Всё это моё IMHO конечно.

     
     
  • 2.181, Аноним (181), 22:16, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > - я имел в виду - что ВООБЩЕ на Perl нет крупных проектов - ВООБЩЕ НЕТ!

    Успокойся. Крупный -- это сколько? Считается https://github.com/Logitech/slimserver ?

     

  • 1.152, Аноним (153), 08:52, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Обнулили Перл 6?
     
  • 1.156, Anonymoustus (ok), 10:19, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    И сюда добрались модные молодёжные тенденции бессмысленной ИБД. Увы… :-(
     
  • 1.162, rvs2016 (ok), 15:34, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Наиболее заметным изменением в Perl 7
    > станет включение по умолчанию режима
    > "strict", подразумевающего строгую
    > проверку объявления переменных,
    > использования символьных указателей
    > и присвоения подпрограмм. Использование
    > "use strict" является хорошим тоном

    А для отключения этого хорошего (но теперь по умолчанию включаемого) тона теперь надо будет ручками приписывать no script и no warnings к своим скриптам?

    Тон-то может быть и хороший. Для новых скриптов.

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

     
  • 1.163, rvs2016 (ok), 15:46, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В более отдалённых планах по умолчанию рассчитывают
    > включить поддержку Unicode, что избавит разработчиков
    > от указания "use utf8"

    А разработчикам, которым utf8 может помешать, придётся тоже ручками дописывать что-то типа no utf8 к своим скриптам? (ну в качестве фразы "спасибо, не надо")

     
  • 1.164, rvs2016 (ok), 15:56, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Leon Timmermans молодец! Всё правильно сказал!

    От себя добавлю:

    Хотите наваять что-то новое без поломки старого? Ваяйте! Но старое не трогайте, если пытаетесь сохранить "совместимость с ранее разработанными приложениями".

    А то на тебе! Куча штук, которые могут поломать большое количество скриптов: strict, warning, utf8.

    А как вам CGI->new вместо new CGI? Да вебмастера как от чумы будут бежать от этой 7-й ветки перла. И никакими use compat::perl5 их туда с перла5 не переманишь!

    Новые скрипты под новые требования писать можно. Они не сильно плохие. Но старому коду в основном будет требоваться перл5 животворящий.

     
     
  • 2.166, Аноним (166), 16:17, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>>А как вам CGI->new вместо new CGI?

    Я тоже обратил внимание. Думаю что там (где эти решения принимают) нет спецов\ориентирующихся в других языках (в первую очередь C++\C\Java + скриптовые конечно). Для чего эти специалисты Perl-у? Ну что бы при разработке Perl не наступать на грабли где уже бахнуло в этих  других языках кончено. Вот к примеру доступ через "this->" (или self) это явно признак плохого кода(да, такое было "на заре", там ещё его на NULL проверяли!!! сейчас такое может разве что в диких "трюках" может быть)! А в Perl это похоже норма.

     
  • 2.172, Аноним (10), 18:02, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Давай я тебя успокою reg ru работал еще три года назад на 5 10 и я сомневаюсь, ... большой текст свёрнут, показать
     
     
  • 3.177, rvs2016 (ok), 18:36, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > 7я ветка это для нового кода, где нет new CGI.

    Против просто 7-й ветки ничего не имею. Для нового кода эта ветка, думаю, должна быть нормальной, т.к. ейные разработчики заявили о том, что они её считают развитием ветки пятой. Ну развитие так развитие - дело хорошое, похвальное. Но только они ж семёрку пророчат в такие разпреемники пятёрки, которая не ломает совместимость старого кода новым требованиям. А из описания семёрки мы видим, что совместимость там в некоторых местах уже поехала.

    Делаете новое - ну делайте, конечно, на здоровье. Новый код под новую ветвь народ с нуля-то наваяет. Но просто не заявляйте о совместимосью с ветвью пятой, если реально такой совместимости во многих местах нет. Тогда пользователи "пятого" кода хоть сразу не будут надеяться на то, что их "пятый" код будет гарантированно работать в семёрке и тогда сразу будут про это знать. Предупреждён же = вооружён? А то наобещали народу совместимость, а народ-то отчасти - доверчивый же. И посыпятся у народа системы из (как там выше говорили) скрипто-портянок на местных заводиках/телекомах...

     

  • 1.169, Аноним (169), 17:04, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надо было с 5.22 провозгласить Perl 7. С нее пошли изменения во внутренних API.
     
  • 1.178, rvs2016 (ok), 18:39, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати.

    А запланирован релиз 7-й ветки Перла - так же на Рождество?
    Или на этот раз - на Пасху? :-)

     
  • 1.180, Аноним (181), 22:07, 27/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо наоборот, включать новые дефолты, фичи и так далее по прагме <b>use v7;</b>
     
     
  • 2.182, Аноним (34), 22:32, 27/06/2020 [^] [^^] [^^^] [ответить]  
  • +/
    но тогда не получится сломать старые скрипты... цель же была - заставить всех переписывать существующее.
     

  • 1.187, Аноним (187), 06:17, 29/06/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    perl 7 устарел не родившись, уже есть perl11: http://perl11.org/

    И нахрена мне это надо? Мне как надо, я настрою perl5, обычно всегда common::sense залетает "на ура". Вот только не надо обо мне заботиться всякими use strict и прочей ерундной, пожалуйста! - Я прекрасно отдаю себе отчет что делаю и как.

    Вот же с#ки, лучше бы со smartmatch разобрались до конца или поддержали бы реентерабельность perl5 и pthreads - но это же сложно, а вот bump'ить номер версии - это легко! Нам тут, в perl, слабаков кто ищет легкие пути в perl на#ер не нужно - валите от нас в php, python, js..куда угодно валите!!

    PS: Звучит конечно странно, но меня perl спасает от стресса - после изучения и программирования на perl я могу выспаться. Так что с perl я похоже влип конкретно, и это..кайф! :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру