The OpenNET Project / Index page

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



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

"Доступен язык программирования Perl 5.42"  +/
Сообщение от opennews (ok), 03-Июл-25, 22:34 
После года разработки опубликован релиз новой стабильной ветки языка программирования Perl - 5.42. При подготовке нового выпуска было изменено около 280 тысяч строк кода (без документации и автоматически сгенерированного кода - 93 тысячи), изменения затронули 1500 файлов, в разработке приняли участие 64  разработчика...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=63519

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

Оглавление

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

13. Сообщение от wd (?), 04-Июл-25, 01:05   +7 +/
где-то в обломках 20+летней давности:

sub all{@_==grep$_,@_}
sub one{1==grep$_,@_}
sub none{!grep$_,@_}
sub any{!&none}

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #29, #38, #118

16. Сообщение от Аноним (16), 04-Июл-25, 01:17   –3 +/
Год 2025й от рождества христова, кодеры всё ещё не определились с кодировками файлов. Когда определятся, там уже и о строках подумать можно будет.

Впрочем, booking.com наглядно показал, что язык реализации — десятое дело для любого коммерчески успешного проекта. Жаль, до кодеров это дойдёт приблизительно никогда.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #47, #120

21. Сообщение от Самый Лучший Гусь (?), 04-Июл-25, 01:30   –3 +/
Интересный язык с сомобытными идеями который к сожалению уже уходит в разряд ретро

Сейчас его место занимает python 3

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #32, #48, #113, #121, #127

23. Сообщение от Аноним (23), 04-Июл-25, 06:11    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору

24. Сообщение от user90 (?), 04-Июл-25, 07:03   +3 +/
Господа забывают, что такое Perl. А это Practical Extraction and Report Language, и в этой области он по прежнему лучший!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #26, #28, #123

26. Сообщение от Аноним (26), 04-Июл-25, 07:19   –1 +/
А это уже область ИИ-агентов. Попробуй скормить данные Grok'у, тебе понравится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #30, #36

28. Сообщение от Аноним (28), 04-Июл-25, 08:15   –1 +/
Поэтому, ненужно его пихать в другие области.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #31

29. Сообщение от Аноним (29), 04-Июл-25, 08:17   +/
WhiteDragon,ты? Нашёл твой qxp.pm недавно. ;)

Ты где сейчас работаешь?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #42

30. Сообщение от Аноним (29), 04-Июл-25, 08:18   +/
Гроку 10гб не скормить. Ему не понравится.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #43, #143

31. Сообщение от user90 (?), 04-Июл-25, 08:24   +1 +/
Но "все — текст" ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #74

32. Сообщение от Аноним (32), 04-Июл-25, 08:31   –1 +/
Nim
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #44, #152

36. Сообщение от Жироватт (ok), 04-Июл-25, 08:54   +2 +/
Который настолько ЭТИЧЕН, что откажется обрабатывать любые, не утверждённые генеральной линии штатовских партий, данные?
Или который, в отличие от тупого скрипта, любит, умеет и практикует галлюцинации?

Не, пасиб.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #132

38. Сообщение от Жироватт (ok), 04-Июл-25, 08:56   +/
Ну таки да. Почему бы и не засунуть на уровень языка действительно полезные макросы? (Да знаю я, что это процедуры, но фактически такие однострочники можно считать другой формой записи макросов, если это не обёртка)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #45

42. Сообщение от wd (?), 04-Июл-25, 10:00   +4 +/
миац местный админю
а с кем имею честь?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #29 Ответы: #116

43. Сообщение от _kp (ok), 04-Июл-25, 10:02   +/
Когда то и компы были гигантские, выделенную подстанцию требовали. И с 640кб были.
Будет подобное и локально.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

44. Сообщение от Кошкажена (?), 04-Июл-25, 10:04   +/
Ну да, они новую версию пилят, снова все ломая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32

45. Сообщение от wd (?), 04-Июл-25, 10:05   +1 +/
если мне склероз не изменяет, я их себе слепил увидев их в perl6, когда он только только
и вроде бы я ниразу ими не воспользовался :)
но то, что это засунут прямо в язык - это хорошо
засунули бы еще бы чтото в духе:

sub find(&@){no strict 'refs';local(*{(caller).'::a'})=\(my$a=$_[1]);&{$_[0]}||($a=$_)for(@_[2..$#_]);$a}
sub first(&@){$_[0]->()&&return$_ for@_[1..$#_]}

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38 Ответы: #72, #73, #88, #122, #128

46. Сообщение от Кошкажена (?), 04-Июл-25, 10:05   +/
class Point {
       field $x :reader :writer :param;
       field $y :reader :writer :param;
   }
   my $p = Point->new( x => 20, y => 40 );

А с каких пор в перле классы были? Мне с пеной у рта доказывали местные экперты, что "не нужно", есть bless!!

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #60, #71, #175

47. Сообщение от Соль земли2 (?), 04-Июл-25, 10:11   +/
Может я хочу файл с кодом сразу в нескольких кодировках CP1251/KOI8-R/UTF-8. Технически это возможно. Но нужно научить интерпретатор определять их на ходу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #70, #129, #170

48. Сообщение от Аноним (48), 04-Июл-25, 10:17   +1 +/
Могу ошибаться, то Питон занял место не своё и фронтенд и бекенд. Везде один Питон.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #50, #107

49. Сообщение от Аноним (48), 04-Июл-25, 10:23   +/
Сабж сложен в изучении?
Много вакансий на сабже?
Сколько платят за знание сабжа?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #51, #52, #58, #83, #84

50. Сообщение от Аноним (50), 04-Июл-25, 10:39    Скрыто ботом-модератором–1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #54

51. Сообщение от Аноним (50), 04-Июл-25, 10:41   +1 +/
В Перле сложно примерно ВСЁ. :) Но при этом это по-прежнему язык, кратно лучший похапэхи.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #62, #75, #103

52. Сообщение от Аноним (52), 04-Июл-25, 10:43   –2 +/
Обычно при выборе ЯП я оплату ставил на последнее место.
Например, мне тошнит php и нравится rust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #53

53. Сообщение от Аноним (48), 04-Июл-25, 10:58   +3 +/
Ну я вообще мало знаю любителей PHP. Но Rust не фанат, мне всё что содержит в названии C нравится: СИ, С++, С#, 1C.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52 Ответы: #63, #147, #177

54. Сообщение от Аноним (48), 04-Июл-25, 10:59   –1 +/
Ну при этом я столкнулся с софтом которое на питоне, знакомый также в питонисты подался. Вакансий питонистов больше чем плюсовиков, зарплаты выше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

58. Сообщение от аролп5 (?), 04-Июл-25, 11:14   +1 +/
Идём на hh и смотрим. 80+ вакансий и ЗП 200к+. Поэтому пока лучше учить java/kotlin
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #78, #82

60. Сообщение от 1 (??), 04-Июл-25, 11:33   +2 +/
> А с каких пор в перле классы были?

Дык с 5ки и начались ...
Посмотри на любой модуль - можно как класс использовать, можно вызовом функций.

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

62. Сообщение от 1 (??), 04-Июл-25, 11:37    Скрыто ботом-модератором+2 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

63. Сообщение от 1 (??), 04-Июл-25, 11:39   +1 +/
> не всё что содержит в названии C нравится: СИ, С++, С#, 1C.

Поржал, спасибо ! Только COBOL забыл :-).

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #68, #69

68. Сообщение от Аноним (48), 04-Июл-25, 11:53   +1 +/
Не, ну если первые два учил во времена учёбы, потом решил, вот недавно начал интересоваться 1С.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

69. Сообщение от Аноним (48), 04-Июл-25, 11:55   +/
Слышал про Соболь, но никогда не интересовался, видимо не очень распространённый.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

70. Сообщение от Аноним (-), 04-Июл-25, 12:14   +/
> Технически это возможно.

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

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

71. Сообщение от wd (?), 04-Июл-25, 12:22   +3 +/
прямо вот class завезли относительно недавно
нафига он нужен - я не понимаю
bless же есть
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #115

72. Сообщение от Аноним (-), 04-Июл-25, 12:40   +7 +/
Шикарный синтаксис!
Прям все просто, понятно и совсем нет лишних закорючек.
И эти люди гонят на другие языки...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #112, #165

73. Сообщение от Аноним (73), 04-Июл-25, 12:41   +2 +/
> sub find(&@){no strict 'refs';local(*{(caller).'::a'})=\(my$a=$_[1]);&{$_[0]}||>>($a=$_)for(@_[2..$#_]);$a}
> sub first(&@){$_[0]->()&&return$_ for@_[1..$#_]}

У кого более забористый синтаксис: Rust или Perl?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #76, #81, #105, #119

74. Сообщение от Аноним (73), 04-Июл-25, 12:44   –1 +/
Регекспы уже давно есть во всех языках.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

75. Сообщение от Аноним (73), 04-Июл-25, 12:48   +2 +/
При том, что, как и в Похапехе, в глазах пестрит от этих $.
Вот если бы з/п перлопргера так пестрела этими значками, то тогда можно было бы мириться.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51

76. Сообщение от Аноним (-), 04-Июл-25, 12:56   +2 +/
> У кого более забористый синтаксис: Rust или Perl?

Перл побеждает с большим отрывом.
Синтаксису раста до него еще деградировать и деградировать...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #80

78. Сообщение от Аноним (78), 04-Июл-25, 13:02   +/
А что лучше, Java или 1с?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

80. Сообщение от АнонимЯ (?), 04-Июл-25, 13:11   +1 +/
Это лаконичнов. Вам не понять.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #76 Ответы: #85

81. Сообщение от wd (?), 04-Июл-25, 13:15   +/
у APL
у перла же TMTOWTDI
perlstyle гласит Just because you CAN do something a particular way doesn't mean that you SHOULD do it that way. Perl is designed to give you several ways to do anything, so consider picking the most readable one.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

82. Сообщение от wd (?), 04-Июл-25, 13:22   +3 +/
а вы не задумывались, почему их так много и висят они годами?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #162, #176

83. Сообщение от wd (?), 04-Июл-25, 13:24   +2 +/
его нельзя изучать, перлом нужно проникнуться, нужно научиться думать на перле, разговаривать на перле
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #111, #164

84. Сообщение от ptr (ok), 04-Июл-25, 13:31   +/
> Сабж сложен в изучении?

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

> Много вакансий на сабже?

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

> Сколько платят за знание сабжа?

В среденем, явно больше чем за Python или js. Что, собственно говоря, объясняет, почему для новых разработок он не востребован. Стоимость разработки на Perl получается выше, чем на Python или js. А производительность у Perl ниже.

В некотором смысле, сейчас ситуация с Perl напоминает ситуацию с COBOL и RPG всего лет 20 назад.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49 Ответы: #89

85. Сообщение от Аноним (85), 04-Июл-25, 13:32   +/
А, что тут непонятного?... Лаконичность ценой доп.рисков ошибок и нечитабельности другими, плохой читабельности другими хорошо знающими язык, как и ухудшением своей вычитки. Зато код чуть лаконичней...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80 Ответы: #101, #117

88. Сообщение от Аноним (88), 04-Июл-25, 13:37    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45

89. Сообщение от Аноним (48), 04-Июл-25, 13:38   +1 +/
RPG для меня это role play game, ЯП  с таким названием впервые слышу.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #84 Ответы: #172

101. Сообщение от АнонимЯ (?), 04-Июл-25, 13:53   +/
> доп.рисков ошибок и нечитабельности другими, плохой читабельности

Как это доказать в логике или цифрах?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

103. Сообщение от Аноним (103), 04-Июл-25, 13:55   +2 +/
Не сложнее, чем делать сайты на ассемблере.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #171

105. Сообщение от Аноним (105), 04-Июл-25, 13:57   –2 +/
Самое забавное, что это как раз логичный и читаемый синтаксис, в отличие от раста.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #106

106. Сообщение от Аноним (-), 04-Июл-25, 14:14   +/
> Самое забавное, что это как раз логичный и читаемый синтаксис, в отличие от раста.

Да-да, $#_ очень логично и очень читабельно)) Прям совсем не writeonly йезычог.
Не зря попурность перла настолько упала.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #105 Ответы: #114, #124, #163

107. Сообщение от anonymos (?), 04-Июл-25, 14:15   +1 +/
class Test:
    x = 0

    def clsx(self):
        Test.x += 1

    def objx(self):
        self.x += 2

ax = Test()
bx = Test()

ax.clsx()
ax.objx()

print("ax.x =", ax.x, "<= значение явно не корректное")
print("bx.x =", bx.x)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48

111. Сообщение от Аноним (-), 04-Июл-25, 14:18   +/
> перлом нужно проникнуться, нужно научиться думать на перле, разговаривать на перле

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

112. Сообщение от Аноним (112), 04-Июл-25, 14:23   +2 +/
>Шикарный синтаксис!

Как всегда, местные ыксперыды ничего кроме синтаксиса не видят. А я скажу, что самое плохое тут не синтаксис, а семантика. Хотя я не знаю перла, но определённые места выглядят явно подозрительно.
>no strict 'refs';

Тормоза придумали трусы.
>local(*{(caller).'::a'})=

Удачи в IDE воспользоваться поиском по коду.
>$_[1]

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #134

113. Сообщение от Аноним (112), 04-Июл-25, 14:26   +/
>который к сожалению уже уходит в разряд ретро

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

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

114. Сообщение от Аноним (105), 04-Июл-25, 14:28   +1 +/
$#_ максимально читаемо, кроме шуток. В расте ты бросив один взгляд на код, не сможешь понять, что он делает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106

115. Сообщение от Кошкажена (?), 04-Июл-25, 14:30   +/
> прямо вот class завезли относительно недавно
> нафига он нужен - я не понимаю
> bless же есть

Ну видмо все устали делать вид и завезли привычный синтаксис?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #71 Ответы: #173

116. Сообщение от Аноним (116), 04-Июл-25, 15:08   +/
Да так, аноним обычный :), просто вспомнил тебя из IRC.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #42 Ответы: #138

117. Сообщение от Аноним (117), 04-Июл-25, 15:33   +/
Вы с другой стороны посмотрите, что бы наделать ошибок надо сперва хорошо по граблям походить. А далее снижение кол-во ошибок до минимума. Если, конечно же, человек не бросил.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85 Ответы: #135

118. Сообщение от Аноним (119), 04-Июл-25, 15:45   +2 +/
Какой же всё-таки выразительный, и при этом отвратный язык. Я очень рад что прошел в юности (в нулевых) через коммерческую разработку на нём, это много дало в понимании того как не надо делать. Единственная моя ошибка с этим связанная после - я потом (в десятых, уже в нормальной компании) вызвался переписывать легаси с перла (потому что был один из немногих в компании кто этот перл ещё помнил). Вот это конечно был ад, израиль и выгорание. Надо было сказать что никакого перла я уже не помню, и ищите любых оставшихся в конторе причастных к тому что это было допущено в прод, и пусть они сами переписывают как хотят.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #166

119. Сообщение от Аноним (119), 04-Июл-25, 15:48   +1 +/
> У кого более забористый синтаксис: Rust или Perl?

Ты шутишь что-ли, или не видел кода на Rust в глаза? У Rust синтаксис аналогичный плюсам, даже чуть проще.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

120. Сообщение от Аноним (119), 04-Июл-25, 16:00   +/
> Впрочем, booking.com наглядно показал, что язык реализации — десятое дело для любого коммерчески успешного проекта.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #16 Ответы: #131

121. Сообщение от Аноним (119), 04-Июл-25, 16:01   +1 +/
> Интересный язык с сомобытными идеями который к сожалению уже уходит в разряд ретро

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

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

122. Сообщение от Аноним (-), 04-Июл-25, 16:01   +/
>sub find(&@){no strict 'refs';local(*{(caller).'::a'})=\(my$a=$_[1]);&{$_[0]}||>($a=$_)for(@_[2..$#_]);$a}
>sub first(&@){$_[0]->()&&return$_ for@_[1..$#_]}

Хитрожопый ты наш, ты же специально написал однострочники. Такие примеры ради лулзов прведены на Лурке. На самом деле, по-читаемости, синтаксис Перла намного лучше чем у Раста.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #125, #136

123. Сообщение от Аноним (119), 04-Июл-25, 16:02   +1 +/
Да нет конечно. Нет в нём ничего специфического ни про extraction, ни про report. Регулярки  и принты есть в любом ЯП, и пользоваться ими проще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

124. Сообщение от freehck (ok), 04-Июл-25, 16:11   +/
>> Самое забавное, что это как раз логичный и читаемый синтаксис, в отличие от раста.
> Да-да, $#_ очень логично и очень читабельно))

Ну вообще-то да, читабельно. Нужно только мыслить в логике Perl.

Смотри, значит, как это работает:
- всё, что начинается на @ -- это массив
- всё, что начинается на $ -- это скаляр
- @_ -- это массив, который содержит все переданные в функцию аргументы
- $#_ -- это скаляр, который содержит индекс последнего элемента массива @_
- $_[$i] -- это скаляр, который возвращает $i-й элемент массива @_

Таким образом, получаем вполне читаемый синтаксис:


sub print_args {
  for (my $i = 0; $i <= $#_ ; $i++) {
    print "$_[$i]\n";
  }
}

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #126, #146

125. Сообщение от Анонусс (-), 04-Июл-25, 16:22   +/
> На самом деле, по-читаемости, синтаксис Перла намного лучше чем у Раста.

Ахаха. Ну да, ну да.
И это раст ругают за закорючки. Хоть в перловке почти весь код закорючки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122

126. Сообщение от Анонусс (-), 04-Июл-25, 16:24   +1 +/
> всё, что начинается на @ -- это массив
> всё, что начинается на $ -- это скаляр

Допустим логично.

> $#_ -- это скаляр, который содержит индекс последнего элемента массива @_

Как это следует из предыдущих утверждений?))

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124 Ответы: #130, #139

127. Сообщение от Анонусс (-), 04-Июл-25, 16:27   +/
> сомобытные идеи

это уже что-то из сленга рыбаков?

> который к сожалению уже уходит в разряд ретро

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

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

128. Сообщение от Аноним (128), 04-Июл-25, 16:42   +/
Мне на собеседовании подсунули похожую мутатень, типа, где ошибка?
С просил:
- Это у вас так пишут?
- Да. Это наш код. (С гордостью)
- Прощайте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #45 Ответы: #137

129. Сообщение от Аноним (16), 04-Июл-25, 17:00   +/
> Может я хочу файл с кодом сразу в нескольких кодировках

Я про продакшен, а не про локалхост очередного Тэрри Дэвиса.

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

130. Сообщение от Аноним (112), 04-Июл-25, 17:11   +1 +/
>Как это следует из предыдущих утверждений?))

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

Сигил перменных - это $
Сигил массивов - это @
Если у переменной поменять сигил, то интерпретатор будет иначе обрабатывать код. Например,

$size = @array;

Это получить размер массива. Запись

$#имя_переменной

это ещё один способ получить тот же результат. Есть много разных способов сделать это.

Есть специальное имя переменной - подчёркивание. Это некая специальная перменная по умолчанию, в данном случае - аргумент функции. Если мы хотим обратится к ней, то пишем @_

$#_ - это размер этой самой переменной по умолчанию.

$_[индекс] - это обращение к элементу массива переменной по умолчанию.

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

Ну и куча разных подобных условностей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #133

131. Сообщение от Аноним (16), 04-Июл-25, 17:13   +/
Именно так. Главное, что проект коммерчески успешен, благодаря чему у компании есть деньги для любых переписываний на любых языках. В отличие от всего того, что не взлетело, хоть и было написано на самом правильном языке с самой правильной архитектурой. А секрет прост: людям надо решение их проблем, такое, чтобы было дешевле заплатить за него, чем мучаться самому. Как ни крути, язык программирования на успех если и влияет, то весьма опосредованно.

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

Начал с хорошего понимания сути проблемы…

> только такое Perl для прода и могло выбрать)

Но не удержался и скатился до ad hominem. Почему? Ну про это классики психологии много писали, повторяться не буду.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #120 Ответы: #151

132. Сообщение от Аноним (16), 04-Июл-25, 17:16   +1 +/
Ну пользуйся гомоморфным шифрованием, если боишься что тебе за данные Обама в подъезде лампочки снова бить начнёт.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #140, #144

133. Сообщение от Сталин (?), 04-Июл-25, 17:20   +/
C 5.36 параметрам функций можно давать человеческие имена, а не распаковывать их из @_
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #130

134. Сообщение от wd (?), 04-Июл-25, 17:27   +/
>[оверквотинг удален]
> что самое плохое тут не синтаксис, а семантика. Хотя я не
> знаю перла, но определённые места выглядят явно подозрительно.
>>no strict 'refs';
> Тормоза придумали трусы.
>>local(*{(caller).'::a'})=
> Удачи в IDE воспользоваться поиском по коду.
>>$_[1]
> Экономия на аргументах в ущерб читаемости. Опять же, удачи в статическом анализе.
> Анонимных кортежей крайне желательно избегать, особенно если у элементов одинаковый тип.
> Иначе понять, что где лежит - не получится.

если видишь no strict 'refs' значит до закрывающей блок скобки лучше ничего не трогать - это будет внутренняя магия
вся эта кухня с выключением стрикта и дерганьем a из коллера - это вполне себе нормально для внутренних модулей
ну у меня это тоже внутренний модуль
в боевой код такое не идет, само собой

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #112

135. Сообщение от wd (?), 04-Июл-25, 17:28   +/
> Вы с другой стороны посмотрите, что бы наделать ошибок надо сперва хорошо
> по граблям походить. А далее снижение кол-во ошибок до минимума. Если,
> конечно же, человек не бросил.

я? не, я не бросил, для меня перл - основной инструмент

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

136. Сообщение от wd (?), 04-Июл-25, 17:37   +/
>>sub find(&@){no strict 'refs';local(*{(caller).'::a'})=\(my$a=$_[1]);&{$_[0]}||>($a=$_)for(@_[2..$#_]);$a}
>>sub first(&@){$_[0]->()&&return$_ for@_[1..$#_]}
> Хитрожопый ты наш, ты же специально написал однострочники. Такие примеры ради лулзов
> прведены на Лурке. На самом деле, по-читаемости, синтаксис Перла намного лучше
> чем у Раста.

не, я это для себя писал - просто перочинный ножик, это было задолго до того патча бармина на лоре, который я, кстати, мгновенно разобрал (гуглите старые логи #perl руснета)
погугли qxp.pm, там есть даже дичь, которая все операторы функциями делает, например после use qxp; можно сказать '*'->(\@a,\@b,\@c) и на выходе получить массив произведений $a[0]*$b[0]*$c[0] и так до конца самого жирного массива
собственно там есть функция zip, которую я также подсмотрел в p6 на этапе его вылупления, однако же тамже автоматом есть и функция &,
тобишь zip(\@a,\@b) это тоже самое, что и ','->(\@a,@b) ну или, если вдруг так больше нравится: &,(\@a,\@b)
там даже есть функа с именем # которую как sub # не объявить, зато как *#=sub{} очень даже

ну и до кучи предлагаю понять что за хрень и нафига функа yuki

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #122

137. Сообщение от wd (?), 04-Июл-25, 17:40   +/
> Мне на собеседовании подсунули похожую мутатень, типа, где ошибка?
> С просил:
> - Это у вас так пишут?
> - Да. Это наш код. (С гордостью)
> - Прощайте.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #128 Ответы: #154

138. Сообщение от wd (?), 04-Июл-25, 17:40   +2 +/
ну на #perl я по прежнему болтаюсь
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #116

139. Сообщение от Аноним (105), 04-Июл-25, 17:48   +/
В баше что-то похожее, вроде ни разу проблем не возникало. Ты просто знаешь, как это сделать и что оно означает. Вот регулярные выражения, особенно жадные и с группировками, могут быть неочевидными.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126

140. Сообщение от Аноним (112), 04-Июл-25, 18:36   +/
Это не поможет. Нужна модель без цензуры, а не просто канал для передачи данных.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

142. Сообщение от Аноним (-), 04-Июл-25, 19:40   +/
> При подготовке нового выпуска было изменено около 280 тысяч
> строк кода (без документации и автоматически сгенерированного
> кода - 93 тысячи)

Нет бы написать "При подготовке нового выпуска было изменено около 93 тысяч строк кода (с документацией и бойлерплейтом - 280 тысяч)"

Но... сам себя не похвалишь - никто не похвалит.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #174

143. Сообщение от Аноним (26), 04-Июл-25, 19:42   +/
Лоh и в африке лоh. Вместо того чтобы использовать возможность, вечно ищет оправдания для ничего неделания.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

144. Сообщение от Dzen Python (ok), 04-Июл-25, 19:49   –1 +/
Что поделать - *правильно* обученный, на *правильном* датасете *правильных* данных ИИ-агент в отличие от мифического "Обама-в-парадной" уже существует и уже *правильно* толкует индусам в этих ваших твиттерах новости
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132

146. Сообщение от Someone (??), 04-Июл-25, 19:52   –1 +/
И как мне теперь ЭТО развидеть?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #124

147. Сообщение от Илья (??), 04-Июл-25, 19:54   –2 +/
>С#

Лучшее, что сейчас есть на рынке

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

151. Сообщение от Аноним (119), 04-Июл-25, 20:22   +/
> Именно так. Главное, что проект коммерчески успешен, благодаря чему у компании есть деньги для любых переписываний на любых языках

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #131

152. Сообщение от Аноним (119), 04-Июл-25, 20:26   +/
Nim (zig, hare и т.д.) это игрульки отдельных разработчиков, без библиотек, сообщества и цели. Прод на них не будут писать никогда.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #167

154. Сообщение от Аноним (119), 04-Июл-25, 20:35   +/
> но как тест на скиловость, почему бы и да

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

> лезть в которую не стоит - ну и хрен бы с ней

Ха-ха, это прям определение любого кода не перле.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137 Ответы: #169

162. Сообщение от 12yoexpert (ok), 04-Июл-25, 23:04   +/
рожай уже свою глубокую мысль
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

163. Сообщение от вымя (?), 04-Июл-25, 23:07   +/
$#_ как раз самое простое. А вот что такое ||>>? Как это вообще гуглить? У хаскелистов это хотя бы функцией было бы, которую можно в Hoogle поискать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106 Ответы: #168

164. Сообщение от вымя (?), 04-Июл-25, 23:23   +/
> разговаривать на перле

Напомнило историю про мальчика, который научился ПЮГЦНБЮПХБЮРЭ МЮ KOI-8

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

165. Сообщение от Кошкажена (?), 04-Июл-25, 23:48   +/
> Шикарный синтаксис!
> Прям все просто, понятно и совсем нет лишних закорючек.
> И эти люди гонят на другие языки...

Автор не зря побеждал в конкурсах по запутанному программированию на си.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72

166. Сообщение от Кошкажена (?), 04-Июл-25, 23:50   +/
> Вот это конечно был ад, израиль и выгорание.

Сейчас тебе любой ИИ это сделает без проблем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #118

167. Сообщение от Кошкажена (?), 04-Июл-25, 23:51   +/
> Прод на них не будут писать никогда

Ну на zig есть bun и tigerbeetle, притом второй вроде как в проде.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #152

168. Сообщение от Аноним (105), 05-Июл-25, 00:51   +/
Чатгпт уже придумали, не тормози.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #163

169. Сообщение от wd (?), 05-Июл-25, 01:04   +/
ну не знаю, меня такой код не пугает
я могу писать как обслуживаемый код, так и не обслуживаемый
в частности я могу лютую дичь писать просто для себя, как художник
на полном серьезе у меня есть проэкты в которых всеравно никого никогда не будет и я просто отвожу душу: я пишу так, как писать ненадо
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #154

170. Сообщение от wd (?), 05-Июл-25, 01:06   +/
use Encoding ?
не пробовал на лету менять ничего конечно, я, если за пределы ascii выхожу, то это utf8, соответсвенно у меня только use utf8 и все
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #47

171. Сообщение от Аноним (171), 05-Июл-25, 01:06   +/
У сайтов на ассемблере, кстати, есть одно преимущество - их пишут под одну архитектуру(целевая у сервера), в отличии от всякого прикладного, где несколько ос, и кроме х86 могут быть армы какие нибудь.
Ну и про производительность не стоит забывать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

172. Сообщение от Аноним (171), 05-Июл-25, 01:10    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #89

173. Сообщение от wd (?), 05-Июл-25, 01:12   +1 +/
которым никто не пользуется всеравно :)
откровенно говоря, я досихпор пишу так, что большая часть кода будет работать и на 5.6
хотя use v5.12 или use v5.14 у меня давно в порядке вещей
в первую очередь оно включает стрикт, во вторую - дает say, который я всеравно кроме как в perl -E не пользую, ну и наверное силу земли
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

174. Сообщение от Аноним (171), 05-Июл-25, 01:12   +/
Если это делали мясные мешки - уважение, в наш век ии агентов это уже подвиг.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #142

175. Сообщение от wd (?), 05-Июл-25, 05:28    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46

176. Сообщение от woof (?), 05-Июл-25, 05:53   +/
"Почему долго висят" - потому что в нашей стране очень мало сильных специалистов
"Почему их так много" - потому что они востребованы
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

177. Сообщение от wd (?), 05-Июл-25, 06:01   +/
про 1с это хорошо... вспомнил и нарыл пару зарисовок:

#!/usr/bin/perl
use feature 'say';
use utf8;
sub один(){1}
sub два(){2}
sub сказать{say @_}
sub если(&@){my %if=(if=>@_);if($if{if}->()){$if{then}->()}else{$if{else} && $if{else}->()}}
sub то(&@){then=>@_}
sub иначе(&){else=>@_}

#сказать "1с ничто - перл все";

если { один == 2 } то { сказать ага } иначе { сказать неа };
если { один == 1 } то { сказать угу };
если { два == 1 } то { сказать ога };

------------
#!/usr/bin/perl
use utf8;
sub функа(&$){*{$_[1]}=$_[0]}
sub называется($){$_[0]}


функа {print @_} называется тест;

тест(123);

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


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

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




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

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