The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Релиз языка программирования Perl 5.22.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от opennews (??) on 03-Июн-15, 07:54 
После года разработки представлена (http://www.nntp.perl.org/group/perl.perl5.porters/2015/06/ms...) новая стабильная ветка языка программирования Perl - 5.22 (https://metacpan.org/pod/release/RJBS/perl-5.22.0/). При подготовке нового выпуска было изменено около 590 тыс. строк кода, изменения затронули 2400 файлов, в разработке приняли участие 94 разработчика.

Ветка 5.22 выпущена в соответствии с утверждённым четыре года назад фиксированным графиком разработки, подразумевающим выпуск новых стабильных веток раз в год и корректирующих релизов - раз в три месяца. Примерно через месяц планируется выпустить первый корректирующий релиз Perl 5.22.1, в котором будут исправлены наиболее значительные ошибки, выявленные в процессе внедрения Perl 5.22.0. Одновременно с выходом Perl 5.22 прекращена поддержка ветки 5.18, для которой в будущем могут быть выпущены обновления только в случае выявления критических проблем с безопасностью. Также начался процесс разработки экспериментальной ветки 5.23, на базе которой в мае 2016 года будет сформирован стабильный релиз Perl 5.24.

Ключевые (http://perltricks.com/article/165/2015/4/10/A-preview-of-Per...) улучшения (https://metacpan.org/pod/release/RJBS/perl-5.22.0/pod/perlde...), добавленные в Perl 5.22:

-  Модули CGI и Module::Build исключены из стандартной поставки и более не поставляются вместе с интерпретатором perl в базовой стандартной сборке. Они могут быть установлены из CPAN в случае необходимости.-  Новый двойной ромбовидный оператор: "<<>>", работает как "<>" с той лишь разницей, что использует трёхаргументный вызов функции open() для открытия файлов из массива @ARGV, т.е. не обрабатывает спецсимволы в именах файлов. Новый оператор позволят блокировать возможные атаки, связанные с обработкой спецсимволов в именах файлах, например, указание "|foo" не приведёт к открытию неименованного потока и запуску программы "foo";

-  Новая экспериментальная возможность задания алиасов для переменных и подпрограмм через указатели указателей: \$c = \$d и \&x = \&y. В том числе можно сразу создать алиас в цикле foreach, например, после указания "foreach \%hash (@array_of_hash_refs){"  хэши можно перебирать через "foreach my $key ( keys %hash )". Варианты использования и детали в perlref, секция "Assigning to References (https://metacpan.org/pod/perlref#Assigning-to-References)".
-  Новый модификатор регулярного выражения "/n" отключает переопределение и заполнение позиционных скаляров $1, $2 и т.п., но при этом сохраняет возможность отрицания на групповой оператор, и сохраняется именованное заполнение. Например, указание "/(hi|hello)/n" не приведёт к заполнению $1. Детали о модификаторе "/n" в perlre (https://metacpan.org/pod/perlre#n).

-  Введен обсуждаемый ранее новый атрибут ":const", который может быть применен к анонимным функциям, что приведёт к немедленному выполнению подпрограммы в месте её определения с последующей подстановкой сохранённого результата в моменты обращений к ней в коде. Атрибут имеет экспериментальный статус. Детали perlsub, секция "Constant Functions (https://metacpan.org/pod/perlsub#Constant-Functions)".
-   Схема с оператором повторения "x" ("(...) x ...") может быть использована в присвоениях к списку. Например, конструкция "(undef,undef,$foo) = that_function()" теперь может быть задана в форме "((undef)x2, $foo) = that_function()". Особенно полезно использование данной возможности при заполнении переменныз оператором split, например, вместо серии undef можно написать "my(undef, $card_num, (undef)x3, $count) = split /:/;"

-  Новые экспериментальные битовые операторы для работы со строками по аналогии работы с числами: "&."  "|."  "^."  "~."  "&="  "|="  "^="  "&.="  "|.="  "^.=". Детали доступны в документации perlop секции "Bitwise String Operators (https://metacpan.org/pod/perlop#Bitwise-String-Operators)";

-  Новые операторы "\b" регулярных выражений: "qr/\b{gcb}/" , "qr/\b{wb}/" , "qr/\b{sb}/",  определяющие границу между последовательностями символов (которые выглядят как один символ), словами (например, содержащими апостроф) и предложениями. Детали доступны в описании регулярных масок "\b{}", "\b", "\B{}", "\B" в perlrebackslash (https://metacpan.org/pod/perlrebackslash#b-b-B-B).


-  Новая директива "use re 'strict' (https://metacpan.org/pod/re#strict-mode)", которая применяет более строгие правила для компиляции регулярного выражения в текущей области видимости.

-   Поддержка Unicode 7.0.-  Директиве "use locale" теперь можно передать параметр для выборочного задания категорий локализации, на которые будут отражаться свойства локали. Детали в perllocale (https://metacpan.org/pod/perllocale#The-use-locale-pragma).

-  В возвращаемых значениях вызова  POSIX::localeconv() появились новые поля int_p_cs_precedes, int_p_sep_by_space, int_n_cs_precedes, int_n_sep_by_space, int_p_sign_posn, int_n_sign_posn, реализованные в соответствии с POSIX.1-2008;
-  Улучшен эвристический анализатор для обнаружения UTF-8 в текущей локали. Эвристика работает на платформах, которые не реализуют ни один из стандартов (С99 и/или POSIX 2001).
-  Закрыта проблема, связанная с вызовом prototype() без параметра. Теперь используется скалаяр $_;

-  Вызов fileno() теперь работает с дескрипторами директорий. Поведение filen на дескрипторе директории зависит от операционной системы. Детали доступны в описании вызова по perldoc -f fileno.
-  Для платформы Win32 завершена реализация формы организации неименованного канала через вызовы open my $fh, "-|", "program", @arguments'.

-  Дробные числа теперь могут хранить специальные значения неопределенностей: бесконечность, отрицательную бесконечность и значение "не число" NaN. Детали в perldata.-  Доработаны вывод и разбор дробных чисел. Добавлена поддержка hex-форм в виде "0x1.23p-4" и введен формат "%a" для printf. Подробности в perldata, секция "Scalar value constructors (https://metacpan.org/pod/perldata#Scalar-value-constructors)".-  Упаковка беконечностей (Inf) и "не чисел" (NaN) в символ (вызовами pack, "chr" и printf "%c") теперь завершается ошибкой.-  Появилась новая опция сборки usecbacktrace (./Configure -Dusecbacktrace) которая позволяет из perl-кода  выполнить трассировку стека и получить си-фреймы из perl-кода, путем использования API уровня Си-кода. Работает на платформах Linux и OS X, возможна работа на *BSD. Детали в perlhacktips, секция "C backtrace (https://metacpan.org/pod/perlhacktips#C-backtrace)".-  Безопасность:

-  Perl по умолчанию  собирается с -fstack-protector-strong если это возможно.-  Модуль Safe обновлен до  версии 2.38, которая закрывает критическую уязвимость, позволяющую заменить внешнее пространство имен.-  Perl по умолчанию собирается с -D_FORTIFY_SOURCE=2  если это возможно.


-  Несовместимые изменения:

-  Изменен позиционный порядок введенной в v5.20 экспериментальной возможности определения сигнатуры подпрограммы. Теперь сигнатура может быть задана до атрибутов (в v5.20 сигнатуры можно определить лишь после атрибутов).-  Прототипы "&" и "\&" теперь принимают только анонимные функции (sub {...}).-  По уровню действия директива "use encoding" теперь является лексической.-  Срез списка теперь может вернуть пустой список только в случае если исходный список был пустым;-  Ранее объявленная устаревшей (в v5.18) форма записи "\N{}" с последовательностью из множества пробелов теперь приводит к ошибке: "\N{TOO MANY SPACES}" or "\N{TRAILING SPACE}.-  Ранее объявленная устаревшей (в v5.12) возможность импорта функции через use UNIVERSAL '...' теперь приводит к ошибке. Форма поведения "use UNIVERSAL" без аргументов осталась неизменной.-  Символы "X" в двойных кавычках в форме "\cX" теперь должны быть печатными ASCII-символами (printable ASCII character). Ранее допускались непечатаемые символы, но с выводом предупреждения.-  Ранее объявленная устаревшей (в v5.18) возможность разделения управляющих конструкции "(?" и "(*" регулярного выраж...

URL: http://perlnews.org/2015/06/perl-5-22-0-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=42349

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


4. "Релиз языка программирования Perl 5.22.0 "  +10 +/
Сообщение от Аноним (??) on 03-Июн-15, 09:42 
Респект за такое подробное описание.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Релиз языка программирования Perl 5.22.0 "  +8 +/
Сообщение от Аноним (??) on 03-Июн-15, 09:50 
>  Респект за такое подробное описание.

Не за что, мне и самому было очень интересно узнать о perl 5.22. Разбирая не знакомые мне ранее конструкции я узнал немало интересного и нового.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Релиз языка программирования Perl 5.22.0 "  +8 +/
Сообщение от Аноним (??) on 03-Июн-15, 10:00 
> Не за что, мне и самому было очень интересно узнать о perl 5.22. Разбирая не знакомые мне ранее конструкции я узнал немало интересного и нового.

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Релиз языка программирования Perl 5.22.0 "  +10 +/
Сообщение от S. on 03-Июн-15, 10:22 
вчера весь вечер разбирал ужасный перл код какого-то то ли индуса, то ли китайца

матерился адски: ничего не понятно

потом выяснилось, что код написан мной, месяц назад

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Релиз языка программирования Perl 5.22.0 "  +15 +/
Сообщение от Филимон Утренний on 03-Июн-15, 10:27 
> потом выяснилось, что код написан мной, месяц назад

И не на Perl ?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

15. "Релиз языка программирования Perl 5.22.0 "  +7 +/
Сообщение от annualslayer (ok) on 03-Июн-15, 10:55 
да и не код вовсе, а ридми
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

32. "Релиз языка программирования Perl 5.22.0 "  +2 +/
Сообщение от Kodir (ok) on 03-Июн-15, 13:31 
причём на суахили.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

13. "Релиз языка программирования Perl 5.22.0 "  +11 +/
Сообщение от Аноним (??) on 03-Июн-15, 10:32 
Вот-вот, накодят задницей, а потом им perl виноват.
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

14. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Аноним (??) on 03-Июн-15, 10:32 
> вчера весь вечер разбирал ужасный перл код какого-то то ли индуса, то ли китайца
> матерился адски: ничего не понятно
> потом выяснилось, что код написан мной, месяц назад

Я думаю вам не стоило "рекламировать" свой уровень навыков. По ситуации определенно можно сказать что вы не умеете писать качественный и понятный код (на perl или вообще?).

Вот, я к примеру, недавно дорабатывал несколько своих проектов написанных в 2009 - 2012 годах и буквально неделю назад занимался разбором кода Mojolicious и еще нескольких сопряженных с ним модулей (в том числе и XS-код). Я не помню чтобы у меня возникали проблемы как у вас, да и в целом, что-то я не помню чтобы у меня возникали проблемы с пониманием perl-кода (я встречал малограмотный и низкокачественный код, но проблем с пониманием все же не было).

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

16. "Релиз языка программирования Perl 5.22.0 "  +4 +/
Сообщение от Moomintroll (ok) on 03-Июн-15, 10:55 
> потом выяснилось, что код написан мной, месяц назад

http://lurkmore.to/%D0%92%D1%8B%D1&...

«Perl: Вы стреляете себе в ногу, и никто не может понять, как вы сделали это. Через шесть месяцев не можете и вы.»

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

19. "Релиз языка программирования Perl 5.22.0 "  +4 +/
Сообщение от Аноним (??) on 03-Июн-15, 11:31 
>вчера весь вечер разбирал ужасный перл код какого-то то ли индуса, то ли китайца
>
>матерился адски: ничего не понятно
>
>потом выяснилось, что код написан мной, месяц назад

Я так и не понял. Ты индус или китаец?

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

36. "Релиз языка программирования Perl 5.22.0 "  –3 +/
Сообщение от Аноним (??) on 03-Июн-15, 17:18 
Он перловщик. Тех хотя бы можно простить ...
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

48. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Аноним (??) on 04-Июн-15, 12:56 
> Он перловщик. Тех хотя бы можно простить ...

Нет, он - кретин. Вы похоже никогда сталкивались с настоящими perl-программистами.

Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

17. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 03-Июн-15, 11:09 
Лично я давно ожидал:
- оператор "<<>>" в perl, очень удобно для всяких однострочников и для написания фильтров обработки потоковых данных когда нужно на входе забирать список файлов
- алиасы через указатели
- работу с константами другого пакета через его полное имя

Еще очень интересно развитие возможности задания сигнатуру функции и атрибута ':const'.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Релиз языка программирования Perl 5.22.0 "  –4 +/
Сообщение от Ydro on 03-Июн-15, 11:15 
Новый релиз Perl(a) всё равно, что новость о успешной реализации криогенной заморозки человека.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

70. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 05-Июн-15, 16:01 
Очередное достижение в науке и технике? Да, что похожее есть.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "Релиз языка программирования Perl 5.22.0 "  +3 +/
Сообщение от the joker (ok) on 03-Июн-15, 11:44 
Надо бы его, наконец, выучить...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

23. "Релиз языка программирования Perl 5.22.0 "  +4 +/
Сообщение от Аноним (??) on 03-Июн-15, 12:01 
Не учить его нужно, а понять его. Если вы разберетесь в нем то поймете что он на самом деле он очень прост, логичен и лаконичен. Попытка выучить perl влоб без желания понять (это как выучить физику, а не понять ее) обычно заканчивается очень плачевно..
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

25. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Andrey Mitrofanov on 03-Июн-15, 12:27 
> Надо бы его, наконец, выучить...

"Завещать детям выучить язык." [Пусть мучаются.]

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

29. "Релиз языка программирования Perl 5.22.0 "  +2 +/
Сообщение от Аноним (??) on 03-Июн-15, 13:21 
Чтение 2х man'ов perlfunc/perldata - и забудешь написание башевых портянок как страшный сон. Ещё до кучи: https://metacpan.org/pod/Shell
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

31. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Аноним (??) on 03-Июн-15, 13:30 
> Ещё до кучи: https://metacpan.org/pod/Shell

Про shell не знал, но знаком с этим: https://metacpan.org/pod/PerlPowerTools

Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

42. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Crazy Alex (ok) on 03-Июн-15, 20:13 
Истинная правда. Для писания самопальных скриптов он великолепен, и осваивается быстро. А больше от скриптового языка, в общем, и не требуется.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

43. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от chinarulezzz (ok) on 03-Июн-15, 20:28 
И тем не менее, для написания сложных программ всё в perl/cpan имеется. Например, есть ли в каком скриптовом языке профайлер уровня NYTProf, или доступ к компилятору кода, или синтаксическому дереву?
Ответить | Правка | ^ к родителю #42 | Наверх | Cообщить модератору

44. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Crazy Alex (ok) on 03-Июн-15, 22:40 
Да я, в общем-то, на перле писал несколько лет full time, так что в курсе и с плюсами/минусами знаком хорошо. Именно поэтому что-то большое на нём делать не рвусь. Кстати, B почти весь выкинули по причине устаревания, насколько я помню. И поверьте - в большом проекте очень нежелательно извращаться с генерацией кода на ходу или модификацией ST - это ж потом ещё и поддерживать надо будет.

В общем, не то чтобы для больших проектов перл подходил хуже, чем, скажем, JS или питон, но всё же для этого есть более подходящие языки - хотя бы плюсы те же, или Си на худой конец (на котором я пишу сейчас, если что - так что насчёт "худого конца" - из личного опыта). В перле либо надо брать какой-нибудь Moose, тормозной до неприличия, либо самому что-то колхозить и потом очень жестко следить за стилем, обвешиваться тестами как новогодняя ёлка - игрушками... В общем, много совсем лишней мороки, от которой компилируемый (и статически типизированный) язык избавляет.

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

46. "Релиз языка программирования Perl 5.22.0 "  +3 +/
Сообщение от Аноним (??) on 04-Июн-15, 02:39 
> В перле либо надо брать какой-нибудь Moose

зачем?

> либо самому что-то колхозить

зачем?

> потом очень жестко следить за стилем
> обвешиваться тестами

Это хорошая идея безотносительно языка.

> В общем, много совсем лишней мороки, от которой компилируемый (и статически типизированный) язык избавляет.

и что же это за идеальный язык со сравнимой скоростью разработки? Имя, сестра! (вобщем-то я за статическую типизацию, но это не серебряная пуля)

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

50. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 18:30 
Затем, что сам по себе перл допускает очень много свободы и соблазнов. Для скрипта или для гения-одиночки - это хорошо. Для команды, в которой люди время от времени меняются и должны понимать и поддерживать код предшественников - плохо. Поэтому берётся некий стандарт, чтобы не гадать, каким из восьмидесяти путей сделано что-то тривальное вроде наследования - изобретательность лучше использовать там, где она нужна.

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

Идеальных языков как-то не встречал. А вот более пригодных для продакшна - валом. Сравнимую скорость разработки можно хоть на джаве (гадость-то какая) получить, хоть на плюсах (которые я и предпочитаю), это если о мейнстриме говорить. C# тот же хорош как язык, если отвлечься от того, что он MS-овская поделка. Что в скорости изначальной писанины потеряете - то на отладке и поддержке десятикратно вернёте. Ну или модный Go или менее модный D - там уже и изначально пишется быстро.

Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

51. "Релиз языка программирования Perl 5.22.0 "  +6 +/
Сообщение от rob pike on 04-Июн-15, 19:04 
Ну вот и что у вас в результате получается, если переформулировать - Perl плохо пойдет там, где (кратко):
  - большая текучка низкоквалифицированных кадров
  - при этом отсутствует и менеджмент, способный энфорсить внутренние стандарты, в том числе и кодирования
  - отсутствует культура тестирования
  - на всём будут писать как на Фортране (только так можно обеспечить сравнимые скорости разработки на Java, C++ и Perl)
  - с QA всё плохо

Картина удручающая, мягко говоря. Тем не менее искать проблему предлагается именно в ЯП.

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

Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

54. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 19:34 
Вот честно - вы сами на нём писали что-то большое?

Текучка есть всегда, если у вас проект не на пол-года. И никто в здравом уме не будте набирать команду из гениев, как из идиотов. Всегда есть некий стандарт "обычного разработчика". И любому новичку надо потратить время и силы, чтобы "въехать". Чем меньше экзотики в проекте - тем быстрее это произойдёт и тем лучше он будет понимать логику тех, кто был до него. разница в квалификации даст разницу в скорости освоения - но и только.

Вы понимаете, что  каждое "энфорсить" - это чьё-то время и чьи-то деньги? А когда это делается в языке - это даром. Энгфорсить приходится везде - но лучше, чтобы не приходилось докатываться до деталей вроде "в каждой функции первое, что делаем - это разворачиваем @_ в список именованных параметров".

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

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

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

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

56. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 04-Июн-15, 20:27 
> И когда сам язык избавляет от необходимости проверки того, что в целочисленную переменную запихнули объект - это избавляет от совершенно бестолковой писанины.

Очень плохой пример.
1. Ошибку в ДНК программиста не должен компенсировать ЯП
2. Тесты все равно делать нужно на алгоритм работы модуля, функции или всего проекта, даже если вы надеетесь на ЯП. Ну подобные ошибки вы поймаете еще задолго до выполнения теста.

PS: Я вообще балдею от таких примеров. Неужели люди действительно организуют выполнение кода так что могут запихать объект в целочисленную переменную. Это ж какой ветер в голове нужен. Ни разу не сталкивался с подобным.

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

57. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 21:18 
Ошибаются все. Отвлёкся, задумался о чём-то - и готова тупая ошибка.

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

А насчёт примеров....

Думаете, сильно сложно написать
$counter = $myArray->[0];
вместо
$counter = $myArray->[0][0];
и получить в $counter ссылку на массив(возможно, blessed, то есть объект)?

Ответить | Правка | ^ к родителю #56 | Наверх | Cообщить модератору

59. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 04-Июн-15, 22:45 
> Ошибаются все. Отвлёкся, задумался о чём-то - и готова тупая ошибка.

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

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

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

> А была бы сишная структура - не надо было бы это проверять.

И привет обращение по нулевому указателю, ну или привет очередной heartbleed или CVE CVE-2011-2013 ? Нет, вам все равно нужно будет проверять так как вы все равно можете получить невалидные данные, нравится это вам или нет.

> А потом эти лишние тесты надо поддерживать и гонять, что тоже время занимает.

Вообще говоря с тестами как с деньгами - они лишними не бывают. Насчет поддерживать и гонять я не очень пойму ваш метод разработки. Я, к примеру, разрабатываю модульно, и тесты пишу под юниты. Соответственно, "поддерживать и гонять" тесты по этот юнит мне нужно только тогда когда юнит модифицируется так что изменения влияют на функционал. Кстати, эта техника разработки очень хорошо зарекомендовала себя и я не знаю лучше языка чем perl под эту технику разработки. Кроме того, программируя на си я тоже использую вышеупомянутую технику модульной разработки с верификацией через тесты на perl.


> А насчёт примеров....
> Думаете, сильно сложно написать
> $counter = $myArray->[0];
> вместо
> $counter = $myArray->[0][0];
> и получить в $counter ссылку на массив(возможно, blessed, то есть объект)?

Пример на самом деле плохой:
1) подобную ошибку можно сделать и на других языках программирования, так что претензии все равно к программисту или к себе
2) пример синтетичный и тут даже может быть простая проблема плохой организации структуры хранения данных, а может и не быть

Ответить | Правка | ^ к родителю #57 | Наверх | Cообщить модератору

64. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от rob pike on 04-Июн-15, 23:44 
> Вот честно - вы сами на нём писали что-то большое?

Ну что вы, тут ведь все чисто потрещать вышли, а писали только маленькое, на dBase III, и не затягиваясь.

> Текучка есть всегда, если у вас проект не на пол-года.

Нет, не всегда. Кстати, кроме черного и белого есть множество оттенков. С текучкой то же самое.

> И никто в здравом уме не будте набирать команду из гениев, как из идиотов.

С гениями и идиотами тоже.

> Всегда есть некий стандарт "обычного разработчика".

За пределами Luxoft, Infosys и Tata Consultancy Services - нету. Внутри них, впрочем, тоже нету, но это типа коммерческий секрет.

> И любому новичку надо потратить время и силы, чтобы "въехать".

Разумеется.

> Чем меньше экзотики в проекте - тем быстрее это произойдёт и тем лучше он будет понимать логику тех, кто был до него. разница в квалификации даст разницу в скорости освоения - но и только.

Ну вот, теперь мы пришли к "экзотике". И экзотика, крайне осложняющая въезжание новичка в проект - это, конечно и исключительно то что именно принято блессить в перловом коде в этой конкретной лавке. И это совершенно невозможно понять, освоить за разумное время и объяснить кому бы то ни было. Совсем другое дело, если мы используем Spring, WebsphereMQ и еще с десяток декларативных IoC-фреймворков, которые каждый индус знает наизусть уже в четвертом классе </sarcasm>

Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

72. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Ярослав email(??) on 11-Июн-15, 15:36 
А у вас открывающий тег потерялся ;)
Ответить | Правка | ^ к родителю #64 | Наверх | Cообщить модератору

63. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Добрый Дохтур on 04-Июн-15, 23:37 
> Ну вот и что у вас в результате получается, если переформулировать -
> Perl плохо пойдет там, где (кратко):
> Картина удручающая, мягко говоря. Тем не менее искать проблему предлагается именно в
> ЯП.

знаете, есть языки где люди спокойно могут ковырять код в продакшен без серьёзного риска всё сломать. let it crash, все дела.

Ответить | Правка | ^ к родителю #51 | Наверх | Cообщить модератору

47. "Релиз языка программирования Perl 5.22.0 "  +2 +/
Сообщение от rob pike on 04-Июн-15, 03:55 
> Да я, в общем-то, на перле писал несколько лет full time, так
> что в курсе и с плюсами/минусами знаком хорошо.

А что такое скриптовый язык? И чем он отличается от нескриптового?
Вот Java и C# - скриптовые? Нет? А почему? Компилируются в байткод, выполняются JVM и .NET, ничем в этом смысле от Perl не отличаются, кроме названия VM.

> проекте очень нежелательно извращаться с генерацией кода на ходу или модификацией
> ST - это ж потом ещё и поддерживать надо будет.

Да, средства метапрограммирования через кодогенерацию в Perl традиционно неразвиты, а те что есть - лучше без _крайней_ необходимости не трогать. Но и необходимости в них особой нет.

> В общем, не то чтобы для больших проектов перл подходил хуже, чем,
> скажем, JS или питон, но всё же для этого есть более
> подходящие языки - хотя бы плюсы те же, или Си на
> худой конец (на котором я пишу сейчас, если что - так
> что насчёт "худого конца" - из личного опыта).

И чем они более подходящие?

> В перле либо
> надо брать какой-нибудь Moose,

Или Mouse. Или Moo. Или не брать вообще.

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

А в Си этого делать не надо?

> В общем, много совсем лишней мороки, от которой
> компилируемый (и статически типизированный) язык избавляет.

И Си, конечно, отличный пример такого языка. С развитой системой type inference.

> А вот чтобы быстро наваять пришедшее в голову извращение - CPAN -
> идеален, наверняка все кубики найдутся и можно будет их сравнительно просто
> слепить в кучу.

И это, вероятно, чем-то плохо. Тем, видимо, что в кучу они будут слеплены, видимо, криво. А вот если сишные библиотеки неделю по сети искать, и в кучу собирать, то выйдет, видимо, не криво. Магические свойства Си, видимо, тому причиной.

> Для продакшна же разговор совсем другой - качество
> кода очень варьирует, смотреть надо. В половине там такое легаси... чуть
> ли не из четвертой версии, вешаться можно.

В других-то языках всё не так, очевидно. Там ведь есть общепринятые средства проверки покрытия кода тестами, всегда можно посмотреть на каких платформах и компиляторах тесты прошли. И только Perl не повезло.

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

52. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 19:13 
В общем случае - скриптовые языки - это те, которые создавались в расчёте на быстрое написание скриптов - небольших программ, не рассчитанных на долговременную поддежку. Соответственно, в них мало или нет фич, рассчитанных на формализацию и поддержание структуры кода, но замедляющих написание - статической типизации, явного преобразования типов, модулей, интерфейсов и так далее.

>Да, средства метапрограммирования через кодогенерацию в Perl традиционно неразвиты, а те что есть - лучше без _крайней_ необходимости не трогать. Но и необходимости в них особой нет.

Ну вот и я о том. К таким штукам надо вообще относиться с осторожностью.

>И чем они более подходящие?

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

>Или Mouse. Или Moo. Или не брать вообще.

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

>А в Си этого делать не надо?
>И Си, конечно, отличный пример такого языка. С развитой системой type inference.

В си своих граблей хватает, и больше чем хотелось бы - но нет, в нём нельзя присвоить указателю на массив указатель на инт, к примеру. По сравнению с перлом в плане типизации он великолепен. А что лучше те же плюсы - я ж сказал. Или Java/C#. Или Go/Rust/D.

>И это, вероятно, чем-то плохо. Тем, видимо, что в кучу они будут слеплены, видимо, криво. А вот если сишные библиотеки неделю по сети искать, и в кучу собирать, то выйдет, видимо, не криво. Магические свойства Си, видимо, тому причиной.

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

>В других-то языках всё не так, очевидно. Там ведь есть общепринятые средства проверки покрытия кода тестами, всегда можно посмотреть на каких платформах и компиляторах тесты прошли. И только Perl не повезло.

А в других языках обычно имеется какой-то набор билиотек с репутацией, как boost или Qt  в плюсах, плюс обычно есть возможность глянуть, что использутеся в мастодонтах вроде какого-нибудь libreoffice или apache. На перле готовых больших ропетов меньше - меньше мест, где можно глянуть. заодно такие проекты, как правило, имеют приличную документацию.

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

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

49. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 04-Июн-15, 13:01 
> Для продакшна же разговор совсем другой - качество кода очень варьирует, смотреть надо.

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

Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

53. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 19:20 
Язык имеет значение. На перле очень легко написать что-то, что будет кое-как работать, из-за этого он многим казался лёгким, и они именно кое-как и писали. И отправляли в CPAN. А чтобы на нём хорошо писать надо знать довольно много, а иногда - ещё и следить за развитием, как было, скажем, с реализацией уникода.
Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

55. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 04-Июн-15, 19:55 
> Язык имеет значение. На перле очень легко написать что-то, что будет кое-как работать, из-за этого он многим казался лёгким, и они именно кое-как и писали.

Это безответственный подход к делу низкоквалифицированных программистов. Кто вам сказал что эти программисты будут качественно писать на С++ или Java ? Я видел уже код таких программистов.

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

Надо следить с любым ЯП или средой которая развивается и может меняться. Не хотите следить - пишите все на С89 используя лишь стандартные библиотеки.

Вцелом же, чтобы быть грамотным и высококвалифицированным надо владеть хорошо своим инструментом с которым работаешь. Perl или Java - тут вопрос другой. Но да, perl дает гораздо больше свободы, а свобода подразумевает ответственность. Не все могут в руках удержать perl, не всем это дано.

Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

58. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Crazy Alex (ok) on 04-Июн-15, 21:25 
>Это безответственный подход к делу низкоквалифицированных программистов. Кто вам сказал что эти программисты будут качественно писать на С++ или Java ? Я видел уже код таких программистов.

А кто спорит? Я говорил о том, откуда в CPAN взялась гора кривого кода. Его часто вообще не-программисты писали. Или писали, не рассчитывая, что оно будет использоваться в каких-то отличающихся условиях.

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

Ответить | Правка | ^ к родителю #55 | Наверх | Cообщить модератору

60. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Аноним (??) on 04-Июн-15, 23:06 
> А кто спорит? Я говорил о том, откуда в CPAN взялась гора кривого кода. Его часто вообще не-программисты писали. Или писали, не рассчитывая, что оно будет использоваться в каких-то отличающихся условиях.

Сложно сказать. Я не думаю что мне добавит чести выступать в роли судьи в случае когда человек пишет код для своих задач и публикует его безвозмездно. Думаю что лучше хоть что-то иметь чем вообще ничего, и в таком случае если модуль станет востребованным, то возможно найдется тот кто его поддержит (пример: http://habrahabr.ru/post/258549/).

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

Легкость в perl позволяет не фокусировать внимание на том как написать код и позволяет больше времени уделить прикладной сути задачи и структуре проекта. В "бюрократичных" языках вроде С++ кроме того что нужно заниматься прикладной сутью и структурой проекта, нужно удовлетворить всем требования бюрократ^\W компилятора чтобы код наконец-то скомпилировался. В Java, С++ (хотя в С++ можно при большом желании) и других "бюрократичных" языках нельзя просто взять и решить задачу, надо возиться, возиться и еще раз возиться. А если вдруг изменится у вас тип или схема организации с нарушением наследования - так это уже настоящий ад на пустом месте. Не знаю как вы, но меня сильно раздражает тратить свое время на возню с типами (вроде ошибок компиляции из-за того что в 100-м уровне наследования в boost где-то сломалось приведение типов), и классами когда надо решать прикладную задачу. Хоть я и пишу на Java и С++, мне все равно сильно больше нравятся perl и си.

Ответить | Правка | ^ к родителю #58 | Наверх | Cообщить модератору

62. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Добрый Дохтур on 04-Июн-15, 23:34 
> И тем не менее, для написания сложных программ всё в perl/cpan имеется.
> Например, есть ли в каком скриптовом языке профайлер уровня NYTProf, или
> доступ к компилятору кода, или синтаксическому дереву?

python. а вот давайте вы покажете как в perl в рантайме можно добавлять новые синтаксические конструкции в язык. например, goto.

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

65. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от chinarulezzz (ok) on 04-Июн-15, 23:46 
>> И тем не менее, для написания сложных программ всё в perl/cpan имеется.
>> Например, есть ли в каком скриптовом языке профайлер уровня NYTProf, или
>> доступ к компилятору кода, или синтаксическому дереву?
> python.

профайлер назови, хотя б :)

> а вот давайте вы покажете как в perl в рантайме можно добавлять новые синтаксические конструкции в язык. например, goto.

в perl, в отличие от того же python, goto уже есть :D Так что покажи как это можно сделать в питоне, раз уж взялся безапелляционно отвечать.

Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

67. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Добрый Дохтур on 05-Июн-15, 12:53 
>профайлер назови, хотя б :)

Тысячи их! (с)

cProfile, line_profiler, plop.
на linux еще пробы для systemtap, а в pypy - только появившийся vmprof.

> Так что покажи как это можно сделать в питоне, раз уж взялся безапелляционно отвечать.

http://habrahabr.ru/post/140356/

Ответить | Правка | ^ к родителю #65 | Наверх | Cообщить модератору

69. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от chinarulezzz (ok) on 05-Июн-15, 13:45 
>Тысячи их! (с)

и все они - гавно)

> cProfile, line_profiler, plop.

plop так вообще не для питона, а все остальные - таки мелочи.

>http://habrahabr.ru/post/140356/

Оттуда:
>Так как питон имеет ряд ограничений по синтаксису, то команды вида
>a:
>goto a
> сделать не удастся.

fail, бессмысленный и беспощадный)
В perl можно не залезая в байткод легко и просто добавлять новые инструкции: http://sprunge.us/RMLC?pl

Ответить | Правка | ^ к родителю #67 | Наверх | Cообщить модератору

66. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от rob pike on 04-Июн-15, 23:49 
Простите, а можно не добавлять в рантайме новых синтаксических конструкций в язык, если этот язык не Lisp?
Спасибо.
Ответить | Правка | ^ к родителю #62 | Наверх | Cообщить модератору

68. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от Добрый Дохтур on 05-Июн-15, 13:00 
> Простите, а можно не добавлять в рантайме новых синтаксических конструкций в язык,
> если этот язык не Lisp?
> Спасибо.

можно. патчить байткод или ковырять AST.

Ответить | Правка | ^ к родителю #66 | Наверх | Cообщить модератору

21. "Релиз языка программирования Perl 5.22.0 "  –2 +/
Сообщение от Зенитарка on 03-Июн-15, 11:46 
Перл мертв.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 03-Июн-15, 11:57 
> Перл мертв.

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

> После года разработки представлена новая стабильная ветка языка программирования Perl - 5.22. При подготовке нового выпуска было изменено около 590 тыс. строк кода, изменения затронули 2400 файлов, в разработке приняли участие 94 разработчика.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от ... on 03-Июн-15, 12:26 
Точной умственной деятельностью?

https://github.com/Perl/perl5

vs

https://github.com/rust-lang/rust
https://golang.org/CONTRIBUTORS

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

26. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 03-Июн-15, 12:32 
Ты что-то хотел сказать?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

37. "Релиз языка программирования Perl 5.22.0 "  –4 +/
Сообщение от Аноним (??) on 03-Июн-15, 17:21 
> Ты что-то хотел сказать?

То что пёрл - мёртвЪ! (С)

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

27. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от oops (ok) on 03-Июн-15, 12:33 
О да, это, конечно, очень показательно.
https://github.com/python/cpython ваще мертвее даже perl'а получается?
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

34. "Релиз языка программирования Perl 5.22.0 "  +4 +/
Сообщение от Crazy Alex (ok) on 03-Июн-15, 13:52 
Угу. Правда, живого работающего кода на перле роаз в тысячу больше, чем на этих двух вместе взятых, но это мелочи, конечно. Главное - количество коммитов, что же ещё.
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

35. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Аноним (??) on 03-Июн-15, 13:57 
...тем более на гитхабе, который младше *пятой* ветки в 2 раза.
Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

38. "Релиз языка программирования Perl 5.22.0 "  –2 +/
Сообщение от Аноним (??) on 03-Июн-15, 17:36 
> Угу. Правда, живого работающего кода на перле роаз в тысячу больше,

Где? Из мира во FreeBSD - выкинули, в Линуксах тоже - везде питон.

Посмотрел на версии перла (я олдскул - у меня он на всех юниках всегда есть!):
В продакшене и под нагрузкой: от 5.10.1 до 5.14.2 (и даже v5.8.4 built for i86pc-solaris-64int :)
В продакшене second line, присматриваюсь: 5.16.3(Centos) и v5.20.2(FreeBSD 10)
И только в джесси к которой тоже присматриваюсь - тоже v5.20.2

>Главное - количество коммитов, что же ещё.

Скорее - количество новых проектов начатых с использованием языка. Но тогда - перл мёртв. :(

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

41. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Crazy Alex (ok) on 03-Июн-15, 20:11 
Насчёт BSD не знаю и знать не хочу. В дебиане и генте перл в дефолтной поставке. Хотя суть не в дефолтах, а в количестве софта, который на нём написани  работает. Наерное, одного SpamAssassin больше копий крутится, чем копий всего софта на Go и Rust.

Кстати, в дебиане куча служебки на нём - начиная с кусков dpkg и debconf и заканчивая tasksel. В генте тоже служебных скриптов хватает.

А новые... я всякими поветриями не особо интересуюсь. Вон, пару лет назад все на Ruby кинулись - и где тот Ruby?

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

61. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Добрый Дохтур on 04-Июн-15, 23:32 
> Насчёт BSD не знаю и знать не хочу. В дебиане и генте
> перл в дефолтной поставке. Хотя суть не в дефолтах, а в
> количестве софта, который на нём написани  работает. Наерное, одного SpamAssassin
> больше копий крутится, чем копий всего софта на Go и Rust.

Зачем этот тормоз и поглотитель ресурсов, если есть rspamd?

Ну и если вы упомянули Go: сколько времени у вас займет написание простенького http-сервиса, который умеет раскладываться по ядрам и может держать сотни тысяч запросов в секунду?


Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

45. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Аноним (??) on 04-Июн-15, 01:30 
> Где? Из мира во FreeBSD - выкинули

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

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

73. "Релиз языка программирования Perl 5.22.0 "  +/
Сообщение от Ярослав email(??) on 11-Июн-15, 16:00 
>> Угу. Правда, живого работающего кода на перле роаз в тысячу больше,
> Где? Из мира во FreeBSD - выкинули, в Линуксах тоже - везде
> питон.

Расскажите пожалуйста подробнее про питон в base FreeBSD :)

А если машина хотя бы чуть серьёзнее роутера, Perl по любому будет установлен из портов. Вот поизучайте, какой софт от перла зависит: http://www.freshports.org/lang/perl5.20/

git, vim, qemu, gcc5... да вы сами посмотрите, там интересно.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

28. "Релиз языка программирования Perl 5.22.0 "  –2 +/
Сообщение от Аноним email(??) on 03-Июн-15, 13:09 
Когда уже будет Perl7?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Аноним (??) on 03-Июн-15, 13:22 
Тебе циферки или работать?
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

33. "Релиз языка программирования Perl 5.22.0 "  +3 +/
Сообщение от Pilat (ok) on 03-Июн-15, 13:33 
> Когда уже будет Perl7?

ln -s /usr/bin/perl /usr/bin/perl7

Проблемы у людей бывают очень разные, некоторые решить очень легко :)

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

39. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от тигар (ok) on 03-Июн-15, 19:53 
а пегл6 когда уже родят?;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

40. "Релиз языка программирования Perl 5.22.0 "  +1 +/
Сообщение от Andrey Mitrofanov on 03-Июн-15, 20:04 
> а пегл6 когда уже родят?;)

Нудк, новость-то кто за тебя читать будет??! (6.00-5.22) / ( 0.01 / 3 месяца ) = ...

Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

71. "Релиз языка программирования Perl 5.22.0 "  –1 +/
Сообщение от max (??) on 06-Июн-15, 17:31 
Думаю, большинство перл программистов знают и С, Java много чего другое. Из тех кого я встречал - это обычно это скромные и самодостаточные программисты или админы (так сказать старой закалки ребята!). Большинство их ненавидят за их любовь к перл, но уважают их, это однозначно. Сам я, скорее любитель перл, не профессионал, но пару раз он здорово выручал когда надо было быстро и качественно сделать сервисы по сборке, разборке, фильтрации и рапределению почты и данных с базы. Наверное это можно было бы сделать и на питоне, но это лично мой опыт, отсюда и лично мое мнение о перл. В случае перл, как языка программирования, конечно он не для новичков, что бы ее изучить нужно, как минимум, терпение, а любовь к нему, в моем случае, пришла с годами! ;-)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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