The OpenNET Project / Index page

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

Доступен язык программирования Perl 5.36.0

29.05.2022 09:35

После года разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.36. При подготовке нового выпуска было изменено около 250 тыс. строк кода, изменения затронули 2000 файлов, в разработке приняли участие 82 разработчика.

Ветка 5.36 выпущена в соответствии с утверждённым девять лет назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.36.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.36.0. Одновременно с выходом Perl 5.36 прекращена поддержка ветки 5.32, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.37, на базе которой в мае или июне 2023 года будет сформирован стабильный релиз Perl 5.38, если не будет принято решение перейти к нумерации 7.x.

Ключевые изменения:

  • Стабилизирована и теперь доступна при указании прагмы "use v5.36" поддержка сигнатур функций, позволяющих явно определить перечень переменных, используемых в функции и автоматизировать операции проверки и присвоения значений из массива входящих параметров. Например, ранее используемый код:
    
        sub foo {
            die "Too many arguments for subroutine" unless @_ >= 2;
            die "Too few arguments for subroutine" unless @_ <= 2;
            my($left, $right) = @_;
            return $left + $right;
        }
    

    при использовании сигнатур может быть заменён на:

    
        sub foo ($left, $right) {
            return $left + $right;
        }
    

    При вызове foo с числом аргументов, отличным от двух, интерпретатор выведет ошибку. В списке также поддерживается специальная переменная "$", которая позволяет игнорировать часть аргументов, например, "sub foo ($left, $, $right)" позволит выполнить копирование в переменные только первого и третьего аргумента, при этом в функцию необходимо передать ровно три аргумента.

    Синтаксис сигнатур также позволяет указывать необязательные аргументы и задавать значения, используемые по умолчанию в случае отсутствия аргумента. Например, указав "sub foo ($left, $right = 0)" второй аргумент становится необязательным и при его отсутствии передаётся значение 0. В операции присваивания можно указать произвольное выражения, в том числе с использованием других переменных из списка или глобальных переменных. Указание вместо переменной хэша или массива (например, "sub foo ($left, @right)") приведёт к возможности передачи одного и более аргументов.

  • В функциях, объявленных с использованием сигнатур, поддержка дополнительного присвоения параметров из массива "@_" объявлена экспериментальной и будет приводить к выводу предупреждения (предупреждение выводится только если @_ используется в функциях, объявленных при помощи нового синтаксиса). Например, предупреждение будет выведено для функции:
    
       use v5.36;
     
       sub f ($x, $y = 123) {
         say "The first argument is $_[0]";
       }
    
  • Стабилизирован и доступен при указании прагмы "use v5.36" инфиксный оператор "isa" для проверки того, является ли объект экземпляром указанного класса или классом, производным от него. Например:
    
       if( $obj isa Package::Name ) { ... }
    
  • При указании прагмы "use v5.36" включена обработка предупреждений (активирован режим "use warnings").
  • При указании прагмы "use v5.36" отключена поддержка косвенной нотации вызова объектов ("feature indirect") - устаревшего способа вызова объектов, при котором вместо "->" используется пробел ("method $object @param" вместо "$object->$method(@param)"). Например, вместо "my $cgi = new CGI" нужно использовать "my $cgi = CGI->new".
  • При указании прагмы "use v5.36" отключена поддержка эмуляции многомерных массивов и хэшей в стиле Perl 4 ("feature multidimensional"), позволяющих транслировать указание нескольких ключей в промежуточный массив (например, "$hash{1, 2}") преобразовывалось в "$hash{join($;, 1, 2)}").
  • При указании прагмы "use v5.36" отключена поддержка экспериментального механизма ветвления ("feature switch"), аналогичного операторам switch и case (в Perl применяются ключевые слова given и when). Для использования данной возможности начиная с Perl 5.36 нужно явно указывать 'use feature "switch"', а при указании "use версия" она больше автоматически включаться не будет.
  • Стабилизирована и доступна по умолчанию поддержка дополнительных классов символов в квадратных скобках внутри регулярных выражений. Возможность позволяет осуществлять сопоставления с использованием расширенных правил пересечения, исключения и объединения множеств символов. Например, '[A-Z - W]' - символы от A до Z за исключением W.
  • Частично стабилизирована и доступна по умолчанию поддержка операций "(?lookbehind). Для выражений со скобками, таких как '"aaz"=~/(?=z)(?<=(a|aa))/', пока оставлен экспериментальный статус, так как разработчики не уверены в сохранении нынешнего поведения ($1 ссылается на "aa", а не "a").


  • Добавлен экспериментальный синтаксис для перебора списков с единовременным извлечением сразу нескольких значений в одной итерации цикла - "for my (VAR, VAR) (LIST)" и "foreach my (VAR, VAR) (LIST)". Например, теперь можно указывать:
    
       foreach my ($key, $value) (%hash) { ... }
       for my ($left, $right, $gripping) (@moties) { ... }
    
  • Обеспечено сохранение состояния булевых значений "true" и "false" при их присвоении переменным. Для проверки является ли переменная булевой предложена встроенная функция is_bool().
  • Добавлена экспериментальная поддержка функций, встроенных в интерпретатор и всегда доступных. Предложенный набор встроенных функций документирован в модуле builtin. По умолчанию встроенные функции должны вызываться с использованием префикса "builtin::" (например, "builtin::reftype([])"), а для использования коротких имён ("reftype([])") следует использовать прагму "use" (например, "use builtin 'reftype'").

    Среди добавленных в Perl 5.36 встроенных функций: builtin::trim (чистка граничных пробелов), builtin::indexed (нумерация элементов списка), builtin::true, builtin::false, builtin::is_bool, builtin::weaken, builtin::unweaken, builtin::is_weak , builtin::blessed, builtin::refaddr, builtin::reftype, builtin::ceil и builtin::floor.

  • Добавлена экспериментальная поддержка блоков отложенного выполнения, определяемых пои помощи нового ключевого слова defer. Указанные блоки выполняются в самом конце выполнения. Если блок defer встретился во время выполнения, он пропускается и вызывается только на стадии выхода. Например:
    
       use feature 'defer';
       {
          say "Первый";
          defer { say "Последний"; }
          say "Второй";
       }
    
  • Для обработчиков исключений, определяемых при помощи ключевых слов try и catch, предложена экспериментальная поддержка третьего ключевого слова "finally", позволяющего определить блок с кодом, выполняемым в самом конце конструкции try/catch, даже если обработчик будет прерван исключением или оператором перехода (по аналогии с "defer").
    
       try {
           attempt();
           print "Success\n";
       }
       catch ($e) {
           print "Failure\n";
       }
       finally {
           print "This happens regardless\n";
       }
    
  • В операторах экранирования текста, таких как "qr", предоставлена экспериментальная возможность использования не-ASCII символов в качестве парных разделителей (feature extra_paired_delimiters). Например, вместо "< >", "( )", "{ }" и "[ ]" можно использовать символы "« »", "“ ”" и т.п. Например, "qr«pat»".
  • Запрещён вызов функции sort без аргументов, который теперь будет приводить к выводу ошибки.
    
       @a = sort @empty; # продолжит работу
       @a = sort;        # будет выведена ошибка
       @a = sort ();     # будет выведена ошибка
    
  • Предложен новый флаг командной строки "-g", включающий режим загрузки всего файла целиком, а не построчно. Действие флага аналогично указанию "-0777".
  • Поддержка спецификации Unicode обновлена до версии 14.0.
  • Обеспечена мгновенная обработка исключений, связанных с вычислениями с плавающей запятой (SIGFPE), аналогичная обработке других аварийных сигналов, таких как SIGSEGV, что позволяет привязывать собственные обработчики для сигнала SIGFPE через $SIG{FPE}, например, выводящие номер строки в которой возникла проблема.
  • Обновлены версии модулей, входящих в базовую поставку.
  • Добавлены оптимизации производительности. Предоставлена возможность более эффективного хранения ключей больших хэшей, без использования разделяемых таблиц строк. Значительно повышена производительность создания новых скалярных значений, например, следующий код теперь выполняется на 30% быстрее:
    
       $str = "A" x 64;
       for (0..1_000_000) {
           @svs = split //, $str
       }
    
  • В коде интерпретатора началось использование некоторых конструкций, определённых в стандарте C99. Для сборки Perl теперь требуется компилятор, поддерживающий C99. Прекращена поддержка сборки в старых версиях MSVC++ (до VC12). Добавлена поддержка сборки в Microsoft Visual Studio 2022 (MSVC++ 14.3).
  • Прекращена поддержка платформ AT&T UWIN, DOS/DJGPP и Novell NetWare.


  1. Главная ссылка к новости (https://www.nntp.perl.org/grou...)
  2. OpenNews: Perl 7 плавно продолжит развитие Perl 5 без нарушения обратной совместимости
  3. OpenNews: Релиз компилятора Rakudo 2022.02 для языка программирования Raku (бывший Perl 6)
  4. OpenNews: Релиз языка программирования Perl 5.34.0
  5. OpenNews: Опубликован разбор инцидента с потерей контроля над доменом perl.com
  6. OpenNews: Perl переходит на новую модель управления
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/57268-perl
Ключевые слова: perl
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (111) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:56, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Тот самый момент, когда скриптопоклонники изобретают велосипед, тобиш тащат в свой скриптоязык все то, что уже давно есть в нормальных языках программирования. Т.е. явное указание переменных, явную типизацию и т.д. А все потому, что и ослу было изначально ясно, что код без явных указаний будет небезопасным и на добавление обратно этой безопасности придется тратить время, которое, как известно, деньги.
     
     
  • 2.4, Аноним (4), 10:12, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +16 +/
    >>> было изначально понятно <<<

    Вы посмотрите на год выпуска Перла. Тогда цели и задачи были вообще никак не связаны с безопасностью! Так что ваши притензии вообще не обоснованы! Тоже самое касается например языка Си, что он типа весь такой и сякой! Язык развивается и это нормально!

     
     
  • 3.25, Аноним (25), 10:51, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Си развивается? Компиляторы сейчас ощутимо лучше чем даже 15 лет назад, но вот язык ровно тот же остался (не серьёзно обсуждать то, нормальной поддержки чего ни в одном компиляторе не появилось). Да, ту же либц развивают, но это ведь не язык.
     
     
  • 4.32, Аноним (4), 11:40, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> Си развивается? <<<

    Во первых, под развивается имелся ввиду только Перл!
    Но даже несмотря на это, да язык Си развивается, - развивается ровно на столько, на сколько это необходимо в мире Си, (если интересно можете посмотреть стандарт C2x будущий С23). Уже давно было сказано, что Си, оставляет право быть огромным языком за С++.

     
  • 2.15, funny.falcon (?), 10:37, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Перл не задумывался как язык для написания больших приложений. Это был язык для быстрых текстовых отчётов по анализу текстовых файлов.

    Он был заменой bash+sed+awk, потому унаследовал многие их черты. И с ролью их замены Perl справляется довольно хорошо.

    Во времена perl (и для целей его использования) ценность строгости не очевидна.

    Другой дело, что большие приложения на Perl начали писать очень давно. Тот же Booking.com до сих пор на Perl. А значит, вносить строгость нужно было тоже давно.

    Причиной заморозки и полу-гибели Perl послужил Perl6. Проект без чётких целей и плана становления отобрал у Perl5 фокус и время разработчиков. Если бы не Perl6, у нас сейчас был бы совсем другой Perl5. И кто знает, может быть “Perl мёртв” не был бы такой популярной фразой.

     
     
  • 3.19, Аноним (25), 10:47, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Perl6 когда придумали сделать, в 2000? Почему тогда perl5 до сих пор остался в 1994, куда делись 6 лет?
     
     
  • 4.23, ыы (?), 10:50, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Совершенству трудно чтото добавить...
     
     
  • 5.28, Аноним (25), 10:59, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тут сложно поспорить. Кобол сейчас примерно в том же положении, требования изменились, а язык не эволюционировал под запросы и потребности. Сегодня есть достаточно большой спрос на фортран, в основном из-за кучи готового кода и хорошо оптимизированных библиотек. Было время, когда компиляторы си генерировали заметно менее эффективный код, а вычисления сегодня в большом тренде. Однако, применимость фортрана довольно ограниченная, но им не пытаются затыкать все щели, для чего он явно и не приспособлен.
     
  • 3.43, Аноним (43), 12:28, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Фантастическая чушь. Во-первых, перл5 развивался. Между 5.10 и 5.20 произошло очень серьезное развитие, и к 5.30 наверно даже большее. Много экспериментальных фич было за это время. Что-то прижилось, что-то нет.
    Перл6 изначально был в стороне от перл5, его разработкой занимались в основном другие люди.
    Если вы не в теме перла, не пишете на нем и не разбираетесь в его специфике - зачем пишете посты космической глупости?
     
     
  • 4.90, funny.falcon (?), 04:32, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Perl 5.6 вышел в 2000 году, 5.8 - в 2002, 5.10 - в 2007.

    Сравните со скоростью выхода версий после 5.10.

    Практически 7 лет перл развивался ооочень медленно.

     
     
  • 5.123, Аноним (-), 15:30, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тупой Ларри тормозил его развитие.
     
  • 3.75, Аноним (75), 20:10, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тот самый момент, когда скриптопоклонники изобретают велосипед, и используют язык там, где он вообще ни разу не предполагался использоваться и из-за этого огребают кучу проблем. Вот и приходится к молотку колёсики приделывать.
     
  • 2.18, Аноним84701 (ok), 10:46, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Тот самый момент, когда скриптопоклонники изобретают велосипед, тобиш тащат в свой скриптоязык

    Тот самый неловкий момент, когда скриптонепоклонники высказывают свое фи благодаря этим самым скриптам (да, опеннет -- на перле).

    > А все потому, что и ослу было изначально ясно, что код без явных указаний будет

    Классический эффект послезнания.

     
     
  • 3.62, Аноним (62), 16:31, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > да, опеннет -- на перле

    И это сразу видно по убогости UX. Вызвать chomp на имя комментатора не осилили. Вместо этого будем выводить ошибку про пробел в конце. Типичная перловка.

     
     
  • 4.130, rex (??), 12:12, 15/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хороший тут UX. И с пробелом тоже логично.
     
  • 2.128, www2 (??), 08:01, 08/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    В Perl явная типизация с самого начала - скалярная переменная, - массив, ... большой текст свёрнут, показать
     

  • 1.3, Аноним (3), 10:12, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    Любые обновления – зло. Программы как и языки программирования должны быть как здания – построены и сданы в эксплуатацию, а не вечной стройкой.
     
     
  • 2.5, Аноним (4), 10:17, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –7 +/
    без обид, но такое может сказать только наивный ребенок оторванный от реальности, в реальном мире всё по-другому! Как говорится все течет - всё меняется будь то hardware or software!
     
  • 2.7, Аноним (7), 10:18, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Это допустимо только в тех вселенных, где требования пользователей языка и программ не меняются.
     
     
  • 3.30, Аноним (3), 11:32, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Они и не должны меняться. Я сижу на 2 пне, нужные мне программы пишу сам, часто вообще с нуля на ассемблере и си, или дописываю под себя уже имеющиеся. Вот сейчас пишу этот комментарий с почти полностью переписанного под свои нужды dillo. И именно такими должны быть все компьютерщики, а не идиотами с тиктоками и айфонами не умеющими отличить шину данных от шины адреса.
     
     
  • 4.41, Аноним (41), 12:23, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Набором патчей не поделитесь?
     
     
  • 5.89, anonfhjvxd (?), 02:48, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, конечно. Вот тут все репозитории.
    https://github.com/mozilla/
     
  • 4.120, Аноним (120), 21:54, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >> и программ не меняются.
    > Они и не должны меняться.

    Толсто... Жирно... Но, подыгрывая "шютьке юмора": Вы себе можете что угодно писАть для себя на QuickBASIC'е по придуманным Вами 35 лет назад требованиям (ну в 13 лет придумали себе требования к самопальному редактору под DOS), но у бизнесов, которые напрямую или через "невидимую руку рынка" постоянно меняют требования к софту из-за меняющегося мира и оплачивают IT-прогресс (даже если он Вам кажется регрессом), другие принципы.

     
     
  • 5.129, www2 (??), 08:06, 08/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вам мама в детстве не говорила: "А если все с обрыва прыгнут, то ты тоже прыгнешь?"

    Подчинишься бизнесу, проживёшь жизнь по схеме: родился, посуетился, умер.

     
  • 2.20, Аноним (20), 10:47, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Самая лучшая шутка про Кобол за сегодня.
     
  • 2.27, Аноним (27), 10:53, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    После написания ПО обслуживается, исправляются недочёты и т.д. Как и здания. Без обслуживания оно начнёт трещать по швам и разрушится в итоге.
     
  • 2.37, gvf (??), 12:04, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Вы хотите лишиться работы?
    Огромная часть программистов кормится именно с написания нафиг никому не нужных дополнительных фич, не говоря уже про банальные исправления ошибок.
     
  • 2.94, Аноним (94), 08:24, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Чушь. Как постоянно говорят, все аналогии - зло, но, подыгрывая вам - после сдачи в эксплуатацию зданиям постоянно какие-то ремонты устраивают - то капитальные, то косметические, а иногда и перепланировки. Там штукатурка посыпалась, тут окна разбили или меняют на пластиковые, здесь стену снесли, а тут возвели... Изредка даже фундамент плывет. Древние, старинные здания тоже реставрируют, а если бы ими продолжали пользоваться на бытовом уровне - то тоже были бы нескончаемые ремонты. Так что считайте обновления программ ремонтами зданий/помещений - обычная необходимая рутина.
     

  • 1.8, Аноним (8), 10:20, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Perl? Вы серьезно в 2022. Он не умер и еще будет 7.х?
     
     
  • 2.10, Аноним (4), 10:24, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы не в курсе но когда-то на Перле писали очень многие и очень много! Поэтому тут как с Си, язык никогда не умрёт!
     
     
  • 3.11, Аноним (8), 10:29, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Хм, С и Perl сложно сравнить, разные задачи. Вместо Perl вышел Python, я был Perl программист, но ушел когда еще был 5.24
     
     
  • 4.13, Аноним (4), 10:32, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Python никогда не разрабатывался как замена Перлу!
     
     
  • 5.17, Аноним (25), 10:43, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Руби замена перлу, он перепутал просто.
     
     
  • 6.21, ыы (?), 10:48, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Все эти замены- примерно как резиновая женщина на замену настоящей... да, найдутся любители...
     
     
  • 7.35, Аноним (-), 12:02, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > как резиновая ... на замену настоящей

    В эпоху форсирования "безопасности" (кто сказал раст?) исполнения супружеских и не только обязанностей, ты контактируешь с резиной. Для полной замены не хватает только искусственного интеллекта для вербального сопровождения процесса.

     
     
  • 8.69, ыы (?), 18:33, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не занимайтесь беспорядочными связями, и не придется форсировать безопасность ... текст свёрнут, показать
     
  • 8.121, 1 (??), 09:14, 31/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Если добавить ИИ, то и резиноая женщина ему просто не даст ... текст свёрнут, показать
     
  • 5.26, funny.falcon (?), 10:53, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ruby разрабатывался как замена Перлу и Питону Но не заменил Матц любил Лисп, и... большой текст свёрнут, показать
     
     
  • 6.31, Ан (??), 11:39, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Руби сейчас уже третий. Ну, и Питон наконец начали допиливать в сторону большей скорости, первые результаты будут уже в 3.11.

    https://speed.python.org/

     
     
  • 7.42, Аноним (43), 12:24, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Главное верить! Даже если получится выдавить единицы процентов, перл быстрее в разы. Пхп еще быстрее, при том, что  там уже ООП как в джаве.
     
     
  • 8.78, Аноним (78), 20:38, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    У ПХП есть фатальный недостаток 8212 легаси-программисты ... текст свёрнут, показать
     
     
  • 9.97, Аноним (97), 11:08, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Да что это такое ваше легаси и легаси-программирование Написание кода без ООП ... текст свёрнут, показать
     
  • 8.91, funny.falcon (?), 04:34, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Perl быстрее в самых примитивных задачах парсинга текста Как только требуются р... текст свёрнут, показать
     
     
  • 9.103, Аноним (43), 12:50, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Никуда он не сливается Просто когда надо писать развесистые структуры, типичный... текст свёрнут, показать
     
  • 8.96, Ан (??), 09:43, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Покажи на кукле, где именно Перл быстрее, да ещё и в разы https benchmarksga... текст свёрнут, показать
     
     
  • 9.102, Аноним (43), 12:41, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Главное верить Да, джита не будет, потому что если даже примитивный язык типа л... текст свёрнут, показать
     
     
  • 10.112, Ан (??), 16:59, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Угадай, кому я поверю, тебе, деревенскому дурачку, или разработчикам Питона Обт... текст свёрнут, показать
     
  • 10.114, Ан (??), 17:40, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ой, смотри-ка, маня, это что же, Питон с джитом УЖЕ делает почти 5x Да нет, быт... текст свёрнут, показать
     
     
  • 11.116, Аноним (116), 20:58, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не питон, а подмножество Когда будет весь питон, тогда и приходите ... текст свёрнут, показать
     
     
  • 12.117, Ан (??), 21:39, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Читай ссылку выше, ванильный Питон будет с 3 12 с джитом https www theregiste... текст свёрнут, показать
     
  • 8.131, rex (??), 12:20, 15/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ООП как-в-джаве без проверки типов как-в-джаве смотрится карго культом... текст свёрнут, показать
     
  • 6.79, Аноним (-), 20:41, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Ruby разрабатывался как замена Перлу и Питону.

    Врёшь. Японец создавший Ruby просто хотел чисто объектно-ориентированный язык, без всякой процедурщины. Вот и всё.

    >Но язык долго мариновался в пределах Японии,

    Естественно, что в этом плохого?

    >и долго его реализация была ощутимо медленнее Perl. Потому он вытеснить Perl на его поприще не смог. А жаль.

    Опять свои выдумки выдаёшь за правду. Ruby всегда развивался сам по себе, рубисты никто не желали вытеснить Perl. Зачем? Та же исторяи с Питоном, Гвидо, с его точки зрения просто создал простой и идуальный язык.

     
  • 3.12, Аноним (12), 10:31, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это верно, но объективно Перл безнадёжно устарел. Сейчас все те же задачи намного веселее делать на Rust.
     
     
  • 4.14, Аноним (4), 10:34, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    тоже самое можно сказать и про Си, что он безнадежно устарел и что? люди как писали на Си так и будут писать на нём дальше!
     
     
  • 5.29, Аноним (29), 11:32, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На Си пишут, потому что аналогов до сих пор нет. Rust не аналог Си, как и C++. А вот Perl ушел в прошлое из-за Python.
     
  • 4.22, Аноним (20), 10:49, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это только для любителей плохого синтаксиса. А так для плохой архитектуры приложения есть еще Хаскель.
     
     
  • 5.60, Аноним (62), 16:25, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > для плохой архитектуры приложения есть еще Хаскель

    Такие дела, ребятки: язык имплементации определяет архитектуру приложения, а телегу ставят впереди лошади. Опеннетная икспердиза во всей её красе.

     
  • 5.85, Аноним (12), 22:03, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ты, кстати, угадал. Следующая моя работа будет на Хаскеле. Просто мне интереснее изучать всё время новое, чем пилить несколько лет одно и то же (что совсем не плохо, есть любители и такого).
     
  • 4.40, Аноним (43), 12:22, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перл устарел? Он до сих пор сильно опережает свое время.
    Задачи перла на раст? Да в своем ли ты уме. Хотя, что я спрашиваю. Клинический идиот.
     
     
  • 5.83, Аноним (12), 21:45, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Клинический идиот

    Приятно познакомиться :). Я же сказал, что Perl устарел объективно. Ну куда сейчас эти смешные префиксы вместо нормальной системы типов.

     
     
  • 6.101, Аноним (43), 12:30, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Перл устарел, потому что в нем нет типов, правильно? И кто ты после этого высказывания?
    В скриптовом языке нет строгих типов, ужас-ужас.
     
     
  • 7.105, Аноним (12), 13:24, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так скриптовые языки для больших проектов действительно не нужны. Мы ведь об относительно больших проектах говорим, хорошо ли их писать на Perl (Ruby, Python и т.д.). Я говорю — нет, не хорошо, язык для больших проектов должен быть с развитой системой типов, то есть Haskell или Rust.
     
     
  • 8.106, Аноним (43), 13:40, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Дались вам эти типы Посмотри среднестатистический проект на TS, говнокод он и в... текст свёрнут, показать
     
  • 2.39, Аноним (43), 12:20, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перл еще твой питончик переживет, и джаву с плюсцами возможно тоже (их может заменить раст или нечто подобное). В 2012 пистушки орали хором, что перл умер то, перл умер сё. 10 лет прошло. Питон уже потихонечку выносят на помойку, переходя с него на голанг. Джуны на питоне, прошедшие курсы, уже стали мемом, над вами тупо ржут. Перл как использовался, так и используется. Люди продолжают его учить.
     
     
  • 3.47, Аноним (4), 13:14, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Перл, не умрет точно также как не умрет Питон, Джава и уж тем более С и С++.
     
     
  • 4.57, Аноним (43), 13:42, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Перл не умирает, хотя за ним нет компаний типа гугла, бесконечного пиара, использования его в качестве языка программирования, которому обучают на курсах и в институтах, на перле не пишут под андроид и так далее. Его хейтят, рассказывают сказки какие-то (ИТТ можно почитать), а перлу хоть бы хны.
    Убрать питон из программ обучения, перестать его пиарить как самый лучший язык для всего - за год или два схлопнется до уровня рубей. Плюсцы и джава в перспективе заменяются растом, потому что раст внезапно вносит в мир компилируемых языков инновацию. В вебе джаву уже заменил пхп, в котором ООП как раз столько, сколько нужно.
     
     
  • 5.71, Наноним (?), 19:20, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Видимо ты вообще не в курсе того что происходит в энтерпрайзе. Никто не пишет серьёзные вещи на PHP, везде - Java.
    Просто объём библиотек и инерция корпоративной среды таковы что как замена Java ещё пока ничего нет.
     
     
  • 6.100, Аноним (43), 12:29, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ОК, джава не заменяется, потому что другого языка с таким хорошим ООП нет и не будет. Заодно с плюсцами джаву помянул не подумав.
     
  • 5.107, Аноним (107), 14:27, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Плюсцы и джава в перспективе заменяются растом

    бгг

     
  • 3.76, Аноним (76), 20:16, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Питон уже потихонечку выносят на помойку

    Ах если бы.

     
     
  • 4.84, Аноним (12), 21:48, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >Ах если бы.

    Да. Я устраивался в блокчейн-проект на Солане в надежде пописать на Rust. И на чём приходится писать? Ты угадал :). Потому что растовое ядро (программа Соланы) довольно маленькое, а всякие  обвязки, написанные почему-то на скриптовых языках, в десятки раз больше по объёму кода.

     

  • 1.24, Аноним (24), 10:51, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ассемблер наш выбор!
     
     
  • 2.45, Sw00p aka Jerom (?), 12:44, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    долой всякие макросы из асм, даешь максимально приближенный к архитектуре. Почему нет  новостей про всякие HDL или Verilog? Давно пора уже переходить к хардвейрным реализациям алгоритмов и т. д. Всякие машинлернинги в этом нуждаются.
     
     
  • 3.49, Аноним (24), 13:15, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    с низкоуровневым лишнее написать будет гораздо сложнее, чем высоким языком.. а со вторым получаем очень и очень много не оптимизированного софта.. т.е. берут количеством.
     
  • 3.53, Аноним (-), 13:22, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    ну реализуешь ты один алгоритм ну два и что даьше ? чтоб связать это все в кучу всеравно тебе нужен перл
     

  • 1.33, Аноним (33), 11:45, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Что нельзя написать на перле из того, что пишут на пистоне⁉️💩Только вот не надо про всякие там смузи библиотеки и фреймворки – они не нужны нормальному программисту с инженерным образованием‼️
     
     
  • 2.36, Аноним (25), 12:04, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Хм, ну раз уж перл подходит только для работы с текстом, вот, допустим. нлп вписывается в определение. У меня есть задача: мне нужны токенизер, морфологизер и леммализер, я перу питон и выбираю из десятка альтернатив наиболее подходящие задаче. Скажем, мне надо с поддержкой японского языка, что уже сокращает количество доступных вариантов до полутора. Покажите мне мастер-класс по решению примитивной задачи строки текста без смузи-библиотек и фреймворков на питоне.
     
     
  • 3.50, Аноним (-), 13:16, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    он говорил о программистах с инженерным образованием, ты то куда лезешь
     
     
  • 4.55, Аноним (25), 13:27, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > он говорил о программистах с инженерным образованием, ты то куда лезешь

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

     
  • 2.38, Аноним (43), 12:13, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На питоне пишут то, что на перле писать в общем случае тоже не надо.
     
  • 2.46, Аноним (46), 12:45, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего
     
     
  • 3.54, Аноним (54), 13:22, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нужного.
     
  • 2.61, freehck (ok), 16:30, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Только вот не надо про всякие там смузи библиотеки и фреймворки – они не нужны нормальному программисту с инженерным образованием

    Никто не позорит фанбоев больше, чем они сами, чесслово. Смотрите-ка, фреймворки не нужны. =)

     
  • 2.70, ыы (?), 18:40, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вы будете неприятно удивлены когда всерьез зададитесь этим вопросом.
    Есть довольно банальные вещи которые будучи реализованы на перле  - нет. проблема не в написании, тут как раз все будет четко и изящно :) а именно в сути реализации - работать или совсем не будут или будут постоянно падать.
    И поэтому эти вещи пишут на питоне. Да, увы, но... питон занял свою нишу оправданно.
    Кстати смузи- вкусный, полезный и питательный продукт :) Подумайте об этом :)
     
     
  • 3.72, Наноним (?), 19:22, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфы. Утверждение что написанное на Perl "будет постоянно падать" и "не работать" - это даже не балабольство, а высказанная вслух глупость.
     
     
  • 4.87, анон_тот самый (?), 23:35, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    не ну например можно писать проги расчета на си, но чаще удобней наклепать скриптик на питоне. по крайней мере инженерка оч удобно пишется. да и вообще научные расчеты сейчас оч хорошо на питоне считают(nympy). так что уверен у питона есть ниша(фортран то ушел со сцены). а перл всегда был языком обработки данных, при чем чаще текстовых данных. а то что сейчас его пытаются воткнуть во все вредит самому перлу, как впрочем и всем другим языкам.
     
     
  • 5.99, Аноним (43), 12:28, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Эксель освойте, он гораздо удобнее для инженерных расчетов.
    Да, басик или какой-нибудь паскаль для них тоже лучше.

    На перле можно писать всё, что не требует большой производительности. Вместо шелла он тупо лучший, но сетевое программирование на нем тоже ничего. Лишь бы не было больших объемов логики со сложными абстракциями или числодробления (не в XS, а на самом перле).
    На самом деле всё, что питонист знает или думает о перле - полная херня. Выучи язык, напиши что-нибудь насущное, что обычно на питоне пишешь, и будет реальный опыт и свое мнение. Так сложно что ли?

     
     
  • 6.109, freehck (ok), 14:47, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > На перле можно писать всё, что не требует большой производительности. Вместо шелла
    > он тупо лучший, но сетевое программирование на нем тоже ничего.

    Знаешь, при всём уважении к perl -- когда мне нужен скриптик для автоматизации чего-либо, мне в 95% случаев хватает шелла.

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

    Так что аргументы-то так себе. У Python есть ниша на самом деле. Если ты например занимаешься Machine Learning-ом, то сорян, но все фреймворки в питоне, и тебе придётся иметь с ним дело скорее всего. Для Data Scientist-ов тоже там фреймворки есть.

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

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

    PS: вообще забавно, что являясь python-хейтером, я вполне могу заступиться за python куда лучше его фанов. =)

     
     
  • 7.110, Аноним (43), 16:22, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так и мне хватает шелла Его перестает хватать, когда нужны хотя бы простые стру... большой текст свёрнут, показать
     
     
  • 8.111, freehck (ok), 16:45, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Обычно эти структуры суть json, реже yaml Так что вполне хватает jq и иногда yq... текст свёрнут, показать
     
  • 3.77, Аноним (76), 20:25, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати смузи - вкусный, полезный и питательный продукт :)

    Во-первых, на любителя, во-вторых, консультировать по зожу тут вроде никто не просил.

     
  • 2.93, Аноним (93), 04:49, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Конечно можно написать. Вот прочесть потом не получится.
     

  • 1.44, Аноним (46), 12:44, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    На какой версии перла работает опеннет?
     
     
  • 2.51, Аноним (-), 13:18, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    на любой
     
     
  • 3.52, Аноним (54), 13:22, 29/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    И это хорошо.
     

  • 1.48, Аноним (-), 13:15, 29/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    finally()
     
  • 1.59, Аноним (59), 15:48, 29/05/2022 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • –1 +/
     
     
  • 2.64, Аноним (43), 16:40, 29/05/2022 Скрыто модератором
  • –1 +/
     
  • 2.65, АнонимГоним (?), 17:07, 29/05/2022 Скрыто модератором
  • +/
     

     ....ответы скрыты модератором (2)

  • 1.92, Аноним (93), 04:48, 30/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Написать на перле можно много чего, и это будет прекрасно работать, вот только разобраться в исходном коде далеко не все смогут.
     
     
  • 2.95, Anonymoustus (ok), 09:16, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > вот только разобраться в исходном коде далеко не все смогут

    https://perldoc.perl.org/perlstyle

    https://perltidy.github.io/perltidy

     
     
  • 3.119, Анонимчик (?), 21:42, 30/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Дело не только в стилевом оформлении
     

  • 1.98, Аноним (-), 12:26, 30/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    О, finally завезли! А как меня тут за это минусовали в прошлых перл-новостях.
     
  • 1.108, Простоник (ok), 14:34, 30/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Поразительно насколько перл оказался жизнеспособен.
    Собственно все что можно писать на perl, можно написать на ruby или на python. Что касается стиля , то perl не мешает писать программы внятно и выразительно, но и не слишком помогает.
     
  • 1.113, Nmn (?), 17:33, 30/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    webmin , пользуюсь на удаленном локалхосте. Удобно.
     
  • 1.118, Анонимчик (?), 21:41, 30/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Когда введут опциональную типизацию а-ля typescript?
     
  • 1.122, lockywolf (ok), 15:23, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    perl устарел, сейчас используется raku
     
  • 1.124, Аноним (124), 22:28, 31/05/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Здорово, конечно, но зачем они переизобретают perl6^W raku?
     
     
  • 2.125, Аноним (-), 10:16, 01/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Тут один чувак говорит, что над Раку и Перлом изначально работали разный состав людей.
     

  • 1.126, iZEN (ok), 09:21, 02/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Закрыт ещё один гештальт на FreeBSD 13.1-STABLE:
    % pkg info -r perl5
    perl5-5.36.0:
    llvm12-12.0.1_9
    mousepad-0.5.9_1
    mysql57-client-5.7.38
    groff-1.22.4_4
    texinfo-6.8_3,1
    help2man-1.49.2
    p5-Locale-gettext-1.07
    glibmm-2.66.2,1
    zenity-3.32.0
    colordiff-1.0.20
    mythes-1.2.4_7
    hunspell-1.7.0_2
    hyphen-2.8.8
    libwpg03-0.3.3_1
    icon-naming-utils-0.8.90_1
    thunar-4.16.11
    xfce4-panel-4.16.4
    libexo-4.16.3
    libxfce4util-4.16.0
    mate-terminal-1.26.0
    autoconf2.13-2.13
    xscreensaver-6.02_1
    netpbm-10.91.01_1
    intltool-0.51.0_1
    automake-1.16.5
    autoconf-2.69_4
    p5-Locale-libintl-1.32
    p5-Text-Unidecode-1.30
    p5-Unicode-EastAsianWidth-12.0
    p5-XML-Simple-2.25
    p5-XML-SAX-Expat-0.51_1
    p5-XML-SAX-1.02
    p5-XML-SAX-Base-1.09
    p5-XML-NamespaceSupport-1.12
    p5-XML-Parser-2.44
    p5-libwww-6.66
    p5-WWW-RobotRules-6.02_1
    p5-HTTP-Negotiate-6.01_1
    p5-HTTP-Cookies-6.10
    p5-HTML-Parser-3.78
    p5-HTTP-Message-6.36
    p5-LWP-MediaTypes-6.04
    p5-IO-HTML-1.004
    p5-Clone-0.45
    p5-HTML-Tagset-3.20_1
    p5-File-Listing-6.15
    p5-HTTP-Date-6.05
    p5-TimeDate-2.33,1
    p5-Authen-NTLM-1.09_1
    p5-Digest-HMAC-1.04
    p5-Net-HTTP-6.22
    p5-IO-Socket-SSL-2.074
    p5-Mozilla-CA-20211001
    p5-Net-SSLeay-1.92
    p5-URI-5.10
    p5-Try-Tiny-0.31
    p5-Encode-Locale-1.05
    llvm14-14.0.4
    llvm13-13.0.1_2
     
  • 1.127, Аноним (127), 18:40, 05/06/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Надмозгово и с синтаксическими ошибками, но спасибо за новость.
     

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



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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