LINUX.ORG.RU

Perl-Conf.Ru/25

 ,


3

4

Perl-Conf.Ru/25 — это ежегодная встреча Perl-разработчиков в России. В 2025 г. конференция пройдёт в субботу 27 сентября. Happy birthday to Larry!

Миссия Perl-Conf.Ru — поддерживать российское Perl-сообщество, способствовать обмену опытом и лучшими практиками, быть площадкой для общения коллег, аккумулировать экспертизу по Perl.

Конференция проходит в гибридном формате: оффлайн в Москве и онлайн трансляция для тех, кто не сможет присутствовать лично.

Программа
17:30 Сбор участников
18:00 Открытие конференции
18:10 Test2: жизнь после Test::More
18:40 Turbo Perl batteries debugger included
19:10 Перерыв
19:40 Описание typemap для передачи структур в XS
20:10 Perl & Postgres: трудный путь, потому что это проще
20:40 Закрытие конференции
21:00 Неофициальная часть в баре (место уточняется)

Стоимость участия
Мероприятие полностью подготовлено за собственные средства. Участие в событии бесплатно. При желании, можете поддержать организатора финансово. Разумная величина вашей поддержки: 0 — 2000 ₽.

>>> Подробности на perl-conf.ru

★★★★★

Проверено: Zhbert ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от Chiffchaff

Рили? )) у меня есть легаси, игра, на ней уже года так 3 нет разработчиков, просто в поддержке пока профит от нее есть. 3 сентября это день замены сертификатов на вебе для этой игры, мобилки через веб цепляются потом по сокетам ходят, ну не суть. У этого легаси есть своя админка которая делает усе…. бэкапит, мониторит, обновляет сертификаты и тд. (наследованно) В общем админка сломалась на недоступности одного из дев хостов и возникла необходимость поменять сертификаты руками…. ну гавно вопрос, там всего 8-10 машин ansible -m ping supergame пля…… версия интерпретатора питона не соответствует тому что должна быть… на машинах python3.6 у меня на ноуте python3.12

давно говоришь?

у меня паблишеры, ртбшники аналитики весьма любят питон… ну реп так под пару сотен, разные проекты плюс всякое внешнее типа airflow к которому нужно ml разных видов

это ГАВНО для инфраструктурных задач.

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

Там мало информации по ссылке, но я постоянно борюсь с тем что в новой версии то модуль удалят, то поведение изменят, и все разваливается.

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

Берём и смотрим кто зависит от dev-libs/libxslt. Либо без указания версии, либо >=1.1.26 либо вовсе >=1.0.0. При том, что текущая 1.1.43.

Точно так же берём и смотрим кто зависит от dev-lang/python. Половина установленного у меня софта поддерживает сейчас 3.11, 3.12, 3.13. Вторая половина уже научилась в 3.14. Но ставить 3.14 нельзя, потому как в него не умеет не какая-то мелочь, а вполне себе нужный мне софт типа ansible, syslog-ng, duplicity, libvirt, qemu и многое другое. Через некоторое время выведут из анстейбла 3.14 и дропнут поддержку 3.11, хотя формально я могу поставить себе какую угодно версию питона вплоть до 2.7. Но толку от этого примерно ноль, так как софт гвоздями прибит к конкретным последним минорным версиям.

shell-script ★★★★★
()
Последнее исправление: shell-script (всего исправлений: 1)
Ответ на: комментарий от MOPKOBKA

Там мало информации по ссылке, но я постоянно борюсь с тем что в новой версии то модуль удалят, то поведение изменят, и все разваливается.

Какое поведение изменили за последние 7 версий, что оно что-либо поломало?

Какие модули удалили, что оно могло что-то поломать?

Например, в 3.13 удалили модуль nntplib. Что, кто-то использовал его в последние 15 лет? Использует сейчас?

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

Incompatible changes On platforms other than macOS and Windows, the default start method for multiprocessing and ProcessPoolExecutor switches from fork to forkserver.

See (1) and (2) for details.

If you encounter NameErrors or pickling errors coming out of multiprocessing or concurrent.futures, see the forkserver restrictions.

The interpreter avoids some reference count modifications internally when it’s safe to do so. This can lead to different values returned from sys.getrefcount() and Py_REFCNT() compared to previous versions of Python. See below for details.

(c) https://docs.python.org/3.14/whatsnew/3.14.html

А ченджлог на 3.13 показывает, что там два десятка библиотек удалили помимо nntplib. Не знаю, использует их кто или нет. Плюс удалили кучу сишных биндингов, а так же поменяли повведение API. Подробно вчитываться не стал.

shell-script ★★★★★
()
Ответ на: комментарий от Chiffchaff

Какое поведение изменили за последние 7 версий, что оно что-либо поломало?

Недавно обновлялся на python3.12, удалили distutils, pkgutil.ImpImporter, какую то функцию на определение папки с пакетами (не могу найти в истории браузера), было явно еще что я не запомнил. Многие сторонние пакеты не работают на 3.12, почему именно не разбирался, чего то им тоже не хватает, ну и пусть в /dev/null отправляются, вредно привыкать к python программам.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от Chiffchaff

7 - это patch version. Почитай хоть документацию на язык, который рекламируешь.

This refers to the different releases of the Python interpreter itself, such as Python 2.x and Python 3.x, and within Python 3, specific versions like 3.9, 3.10, 3.11, 3.12, and 3.13. Each major version (e.g., 3.x) introduces new features, syntax changes, and sometimes breaks backward compatibility with previous major versions. Minor versions (e.g., 3.12 to 3.13) typically add new features and improvements while maintaining a high degree of backward compatibility. Patch versions (e.g., 3.13.1 to 3.13.2) are primarily for bug fixes and security updates.

shell-script ★★★★★
()
Последнее исправление: shell-script (всего исправлений: 1)
Ответ на: комментарий от gns

А что могли поломать в DBI, который в данном случае есть интерфейс между двумя FOSS-проектами? Плюс, всякие тесты при сборке проходят. Просто интересный вопрос.

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

awk это вещь, тут соглашусь. Но для молодежи это как для меня клинопись из междуречья…. Свое предназначение выполняет, но нифига не понятно ))

Ну, молодёжи стоит усвоить один из базовых навыков — «RTFM»...;) :)

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

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

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

Полагаю, потому что зачем превращать awk в язык общего назначения, если уже есть множество других языков?.. Допустим, меня устраивает awk для скриптов из 1-3 строк, а если мне требуется что-то большее, сразу беру другой язык. И остальные, полагаю, тоже.

Ту же историю perl толком не знаю, не помню, но на мой взгляд, perl именно выглядит как awk на стероидах, и, полагаю, неспроста.

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

Давай начнём разбираться с самого начала.

Вот я пользуюсь Arch последние лет 10. До этого пользовался Ubuntu.

Я разработчик на Python (и немного на Go), но это не относится к дистрибутиву, потому что разработку я веду в изолированных от системы venv, часто используя даже отдельный интерпретатор (раньше использовал pyenv, потом mise, теперь uv для установки локальных интерпретаторов для разработки), или docker.

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

Также я использую несколько программ на Python, которые явно входят в дистрибутив. Это meld, anki, buku и какие-нибудь ещё, которые забыл. Просто эти три использую ежедневно.

Вот они, написаны на Python, используют зависимости на Python. И работают у меня годами и не ломаются. Если бы сломались, я бы сразу заметил. Без anki и buku мне жить стало бы некомфортно, а без meld я бы и работу делать не смог.

Если у меня в дистрибутиве обновляется версия Python, то почему-то meld, buku и anki продолжают работать. Если бы они переставали работать, это бы означало плохую работу мейнтейнеров дистрибутива.

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

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

Как там устроено в Gentoo, я не знаю. Видимо, там нет явно выписанных зависимостей. Мне сейчас лень и некогда разбираться. Но тогда в нём не только Python будет регулярно ломаться.

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

Чтобы аккуратно покрыть какой-нибудь очередной малюсенький частный случай.

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

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

Скажи тогда, если не сложно (беглым взглядом), задача номер два с этой страницы, которая mp3sorter, решаема на awk?

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

P.S. Правда, там ещё и CPAN-модуль был задействован, наверное, я действительно не самый простой пример взял. Это уже не просто строкодробилка, а строкодробилка с элементами байтодробилки получается… o_O

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Perl это язык для тех кто понимает системное программирвоание в UNIX. Он от начала и до конца заточен под взаимодействие с абстракцияи UNIX без лишних слов.

Когда открываешь Programming Perl после Kerrisk, Love, Stevenson&Rago, Столярова. Первая реакция «А-а-а-а вот оно что, как классно придумано!».

На Perl надо смотреть не со стороны синтаксиса - тогда это набор бессмысленных амперсантов и скобочек висящих в воздухе. А со стороны процесса ОС с его дескрипторами и потоками - тогда Perl это набор осмысленных и очень удобных сокращений.

Perl не отделим от архитектуры и философии UNIX. Изучать абстрактный Perl в вакууме - тратить время в пустую, сначала надо изучить устройство UNIX, тогда все встанет на свои места.

lbvf50txt
()

Коллеги, а тут кто-то из организаторов есть?

Я в этом году не попадаю. А в следующем, если мероприятие повторится, я бы хотел своевременно получить анонс на e-mail. Это можно организовать?

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

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

Да, это то что мне не нравится.

Но то же самое будет с любым другим языком или библиотеками.

Ну я выше для примера gtk привел, я сразу после обновления Python стал его обновлять, до самой новой версии, и мне пришлось из за этого пересобрать 0 приложений. C/C++ компиляторы я часто обновляю, таких проблем как в Python я никогда не замечал.

Все пакеты, установленные через менеджер пакетов apt, dnf, pacman или что-либо ещё, совместимы только до тех пор, пока пользователь не лезет в эту систему и не пытается оверрайдить зависимости вручную.

Я использую Slackware, так что поломка системы из за зависимостей у меня исключена. Тема с поломкой ПМ отдельно, тема с поломкой пакетов из за обновления Python отдельно. То что есть мейнтеры и зависимости из за которых ломается система это хорошо, но я хочу на своем компьютере использовать свое ПО, и свои версии этого ПО.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)

И еще, коллеги, прошу обратить внимание: зарегистрироваться на конференцию можно только имея аккаунт в gmail.

По-моему это очень сильный перебор и подлежит срочному исправлению.

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

Ой, да ладно!.. ;D ;P ;))

Python и Lua — абстрактные языки, которые существуют сами по себе. Perl же намертво связан с архитектурой UNIX: системные понятия в нём буквально встроены в синтаксис. Без понимания этой архитектуры смысла в изучении Perl «сам по себе» почти нет.

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

Вот и узнаем, если такая тема доклада заявлена.

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

Можно в наш tg-канал зайти. Там анонсы и обсуждения. Из организаторов на ЛОР, насколько я знаю, никого нет. Но если в следующем году новости никто не запостит, я сделаю.

E-mail-рассылки, насколько я знаю нет и не планируется. Но опять же, лучше это напрямую с организаторами в tg обсудить, чтобы я не был испорченным телефоном.

shell-script ★★★★★
()
Последнее исправление: shell-script (всего исправлений: 1)
Ответ на: комментарий от lbvf50txt

Как-то в 90х я спросил нашего системного администратора, чем он администрит большой конторский кластер из двух альф под WindowsNT (тянул наш домен компов на 300). Так он ответил — перлом :)

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

Козырь Perl - это встроенная в синтаксис работа с объектами UNIX:

  • операторы прав доступа -f,-w, -x
  • прямой доступ к переменным окружения %ENV
  • прямой доступ к аргументам cli @ARGV
  • ошибки, коды завершения, ID процессов $!, $?, $$
  • работа с сигналами $SIG{...}
  • чтение из потоков с фильтрацией while (<STDIN>) { print if /error/;}
  • перенаправленние потоков open STDOUT, '>>', '/tmp/app.log'
  • работа с процессами fork, exec, backticks

Для хоть сколько-то осмысленной работы с Perl необходимо знать архитектуру UNIX.

Какую идею пытается выразить своими смайлами и фейспалмами @Somebody? - не ясно.

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

Perl позволяет писать подобные конструкции:

while (<*.c>) {
    chmod 0644, $_;
}

Которые густо замешаны на доскональном понимании принципов работы в CLI.

Вывод из всего выше сказанного: Perl не возможно учить/понимать по лекалам классического языка программирования общего назначения. Потому, что Perl не просто язык, а неотъемлемая часть UNIX в которой примитивы из оболочки и ядра вшиты в синтаксис языка.

Perl удобен для опытных системных администраторов и абсолютно непонятен для новичков. В отличии, например, от Python где синтаксис не изобилует таким колличеством аллюзий к системному программированию и работе в Bash.

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

В 2000 мне нужно было сделать учет трафика на заводе… роутеры на linux, под офис контроллер домена и все такое, администрация около 400 человек(рабочих 6000) на перле сваял скрипт строк на 800 привязка ip к учетке в домене забор лимита с какого то поля учетки и блокирование при превышении трафика… Следующий заход на програмирование был с erlang, потом haskell после haskell по большому счету все равно на чем писать.

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

по большому счету все равно на чем писать

Вот именно. Пишут люди обычно руками и — опосредованно, не буквально, разумеется — головой. А уж какой инструмент при этом используют эти руки (и эта голова) для реализации своих знаний, умений и идей — дело десятое. Это вопрос имеющихся у данного конкретного «писателя» знаний, опыта и его личных предпочтений, всего лишь.

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

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

Какую идею пытается выразить своими смайлами и фейспалмами Somebody? - не ясно.

Что ж, раз уж даже это «не ясно», специально для вас поясню элементарные (для меня) вещи: в сети, при общении посредством письменного текста, смайлами выражают эмоции, а вовсе не «идеи». Они (смайлы) именно для этого и придуманы — для приближения текста по выразительности к устной речи с её интонациями и прочими интонационными оттенками... :)

Somebody ★★★★
()
Ответ на: комментарий от shell-script

Можно в наш tg-канал зайти.

Так понимаете, tg – не свободное ПО, и его у меня как следствие нету. Поэтому и прошу про e-mail.

В tg по вышеописанным причинам спросить не могу.

shaplov ★★★
()
Ответ на: комментарий от shell-script

Таблица для регистрации доступна без авторизации в гугле. Перепроверили.

Странно. У меня первой строкой идет:

«Чтобы сохранить изменения, войдите в аккаунт Google. Подробнее… *Обязательный вопрос»

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

Периодически вспоминаю и молодым рассказываю

Садисты! Не жалеете вы молодую, ранимую психику!.. ;P ;))

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

Исправил: «и молодым даю попробовать» :)

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

Для регистрации учётная запись Google НЕ ТРЕБУЕТСЯ

А «обязательный вопрос» - это пояснение, что далее вопросы, помеченные звёздочкой - обязательны.

Изменения должны сохраниться без авторизации в гугле.

shell-script ★★★★★
()
Ответ на: комментарий от shaplov

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

shell-script ★★★★★
()
Ответ на: комментарий от pineapple

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

Как пишут в Wikipedia Perl 1987 года а Python 1991.

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

Работы на Perl нет точно так же, как нет работы на Bash, Zsh, Ksh, Fish, Nushell. Это вспомогательный инструмент системного скриптинга, в нём нет развитых абстракций языков общего назначения. Зато в него встроены операторы для работы с примитивами UNIX.

Сложные приложения пишут на языках, специально заточенных под создание крупных приложений. Perl заточен под создание утилит в стиле классической философии UNIX: Do one thing, but do it good.

Perl рассчитан на маленькие скрипты (20–30 строк), которые запускают процессы, общающиеся между собой через потоки текстовых данных

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

Не смотря на это, Perl выглядит как магия, а Рутноп нет.

Знаете, русский мат тоже не понятен иностранцам изучающим русский язык по учебникам. Но за то интуитивно понятен тому кто живет в России продолжительное время.

Также и Perl абсолютно не понятен новичкам, но интуитивно понятен бывалым админам. Perl собран из абстракций Shell и сокращений к системным вызовам.

Много пишете на Python/Ruby, изучаете системное программирование, постоянно работаете с консолью и Perl вам учить не надо, там и так все понятно. Простой лаконичный язык.

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

Меня Perl подкупил своими операторами проверки прав доступа и функцией open. Как язык Ruby гораздо изящней и продуманней - но в определенных условиях это изящность сферического коня в вакууме.

Каждый раз когда мне надо что-то перерешурудить в файловой системе я иду либо в гости к LLM или на StackOveflow. Вспоминать где там File где FileUtils, и всегда это ощущение неловкости.

Perl же все операции с файлами предельно просто встроены в сам язык. Ничего запоминать не надо. Perl это лучшее из Ruby и Bash в одном флаконе.

  • Bash - это не «язык программирования», там какая-то своя логика.
  • Ruby - это язык программирования, где за файлами надо идти в библиотеку.
  • Perl - лучшее взятое из двух миров Shell и General Purpose Programming Language. Полноценные строки, числа, словари, массивы от ЯП. Прямая интеграция с объектами ОС от Оболочки.
lbvf50txt
()
Последнее исправление: lbvf50txt (всего исправлений: 2)
Ответ на: комментарий от pineapple

И к чему вы это написали?

К тому что Perl создан лингвистом по принципам жаргона, не понятного со стороны, но удобного для сообщества. Самый ближайший пример русский мат, где 2-3 слова в зависимости от формы и контекста имеют разные значения.

В этом смысл Perl - быть разговорным языком удобным для системных администраторов. Смысл Python другой - быть академическим языком понятным всем.

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

Чтобы аккуратно покрыть какой-нибудь очередной малюсенький частный случай.

Это известный феномен. Те функции которые одним кажутся незначительными, для других основа использования инструмента. Эта причина по которой не удается написать замену Microsoft Office.

Во всех клонах чего-то да не хватает и опытные пользователи офиса возвращается обратно к Microsoft.

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

@hobbit, можешь проверить статью?

Perl: язык для тех, кто слышит UNIX

В ChatGPT я передал свое небольшое эссе о Perl, он мне предложил переписать в стиле Лари Уолла. Мне понравилось, получилось живо и лампово. Еще и Qwen красивую картинку сгенерировал.

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

К тому что Perl создан лингвистом по принципам жаргона, не понятного со стороны, но удобного для сообщества.

Если он понятный и удобный, то почему же умер?

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

А Perl, если не пытаться выдавать желаемое за действительное, мёртв.

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

Если он понятный и удобный, то почему же умер?

По индексу TIOBE Perl занимает 9 место и усиленно растет, опережая PHP, Rust, Kotlin и Ассемблер. И в других индексах входит в 20 самых популярных языков.

А Perl, если не пытаться выдавать желаемое за действительное, мёртв.

Дак не выдавайте.

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