LINUX.ORG.RU

Облачная конференция по Perl и Raku

 , ,


1

2

COVID-19 разогнал всех по домам, но как бы то ни было, у сообщества накопилось много интересных мыслей по Perl и Raku, которыми хочется поделиться.

Присоединяйся к трёхдневному мероприятию насыщенному интересными выступлениями!

Конференция будет проходить с 24 по 26 июня. Купившие билет в 10$, смогут смотреть живые выступления и задавать вопросы докладчикам. Для всех остальных, видеоотчёт будет доступен на ютуб совершенно бесплатно.

Доклады традиционно читают волонтёры и желающие могут поддержать альтруистов рублём.

>>> Подробности

★★★

Проверено: alpha ()

А какая ниша есть сейчас у перл, в связи ростом популярности питона? Как перл по скорости по сравнению с тем же питоном? Не для холивара спрашиваю, а ради интереса. Просто мне перл больше питона нравится, но питон распространён больше. :(

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

Знаю только что была какая-то простенькая CMS для создания блогов. ЕМНИП на основе Dancer2. Больше не интересовался, но уверен что есть. Сам в основном писал на Mojo для проектов где уже была доморощенная CMS.

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

Веб-приложения по сложности от «выше среднего» и далее. Я вот OTRS дорабатываю много лет. Как писал в треде, был опыт написания/поддержки нескольких проектов на Mojolicious. Почти все проекты закрытые, но если ты живёшь в РФ, то скорей всего сталкивался с проектами в которых я участвовал, когда звонил в ТП провайдера или оператору банка.

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

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

Ниша та же, что у питона. Отличие в том, что перл входит в базовую поставку дистров, и значит есть везде в т.ч. во всяких докерах из коробки. Главное, что перл5 не объявили устаревшим и не выкинули на мороз вместе со всей нажитой непосильным трудом кодовой базой. В отличие от. Как ЯП общего назначения перл конечно никуда не годен, как впрочем и питон. Но для скриптов и вебни норм.

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

Про скорости не скажу - не интересовался.

В перле очень быстрые регулярки, это важно. Еще интерпретатор очень быстро стартует, раза так в 3 быстрее питона. Это тоже важно для скриптов. Остальные замеры это только для членомерок. Плюс-минус одинаково всё.

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

я тут пытался пересесть на meld, это пиздец. нахуй мне говно, которое вместо 2х секунд (аналогичная прога на нормальном яп) запускается (с холодного старта) 15.

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

Вы болеете.

Вы не пишете что такое meld. У меня есть meld, но он запускается сносно. Немного медленнее, чем kompare, но с практической точки зрения разница в две десятых секунды не заметна.

Вы не пишете в каких условиях вы его запускаете. Допускаю, что на спичечном коробке со смонтированным по сети / всё будет хуже. Или если памяти не хватает, и сначала нужно высвопить браузер. По сети, ага.

Вы не готовы разбираться, зато готовы фонтанировать говнами. Успехов, чё…

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

А че разбираться, лол? У меня помимо него 5 программ для диффа, два бесплатные и 2 платные. Запускаются все моментально. Так что ты свою голову лечи.

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

В раке макросы? Зачем? Это же динамика. Вызвал апи создания класса, функции или модуля, сгенерировал нужный код. Ну на крайняк всегда есть магический метод евал.

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

Perl 5 вроде как дикая помойка на сях, которую встроить тот еще гемор. Или я ошибаюсь. Ну есть конечно неофициальные реализации, может там чего встраивалось… Идеальная встраивалка должна уметь перехватывать стдлибный ИО чтоб кидать стдаут в гуёвый виджет консоли и запрещать доступ к файловой системе вне указанного каталога. Плюс с потоками какое-то решение должно быть, ну хотя бы по экземпляру интерпритатора на поток + возможность перекидывать данные между виртуальными машинами

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

Я встраивал интерпретатор Perl’а в mcabber как-то. Не то чтобы оно сложно было, но надо приличное к-во документации перечитать и желательно шарить за Си хотяб на уровне младшего инженера-программиста. Я страдал именно от того что Си забыть успел. На XS писать уже сложнее. Это встраивание в Perl Сишных вызовов для ускорения.

Встраивать куда-то Perl и пытаться многопоточно что-то делать не оч логично, на первый взгляд. А вот писать многопоток на чистом Perl’е - вполне себе удобно. Взял Mojo и вперёд! Напомню, что Mojolicious - пожалуй самый мощный веб-фреймворк на Perl, Mojo - пространство имён содержащее инструментарий из экосистемы веб-фреймворка. Разумеется Mojo::* можно шатать удобно и успешно и в отличных от веба областях. Конечно есть и другие вещи, просто мне Mojo::* нравится своей разноплановостью. Освоил фреймворк и как бонус получаешь горы инструментов для решения повседневных задач.

perl5_guy ★★★ ()

Глава СПЧ поддержал теорию режиссёра Никиты Михалкова о планах американского бизнесмена Билла Гейтса чипировать людей

https://echo.msk.ru/news/2661477-echo.html

Все интервью целиком:

https://govoritmoskva.ru/interviews/2756/

Ребят, особенно интересует мнение тех, кто типа «за власть, за Путина», но при этом адекват, типа @K50. Объясните, что за ….. #$$! происходит.

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

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

Интересно кто-нибудь сравнивал быстродействие perl5 vs nodejs на каких-нибудь определенных классах задач

Инициатива имеет инициатора (в извращённой форме). Ты знаешь, что ты хочешь, тебе осталось только сделать это.

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

Вызвал апи создания класса, функции или модуля, сгенерировал нужный код. Ну на крайняк всегда есть магический метод евал.

Апи, евал и отдельное подмножество языка на макросах, не отличающееся от builtin’ов визуально/код как данные — это немного разные вещи.

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

Я встраивал интерпретатор Perl’а в mcabber как-то. Не то чтобы оно сложно было, но надо приличное к-во документации перечитать и желательно шарить за Си хотяб на уровне младшего инженера-программиста. Я страдал именно от того что Си забыть успел. На XS писать уже сложнее. Это встраивание в Perl Сишных вызовов для ускорения.

А потом пришёл я, не знающий си и прикрутил функцию за пять минут на другом языке без прослоек.

Вообще, надо всем писать на swig. Всё остальное не нужно.

anonymous ()

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

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

Ещё можно perlbrew накатить. По-моему он игнорирует модули установленные глобально. Так что берешь perlbrew, ставишь нужную версию Perl’а и смотришь какие зависимости нужно доустановить чтоб всё взлетело.

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

Тёплое - нет!

Мягкое - форева!

Но учитывая распространённость последнего, оно так и так будет жить форева. Если даже КОБОЛ жыв ещё (нежить).

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

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

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

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

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

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

perl5_guy ★★★ ()
Ответ на: комментарий от q0tw4
#!/usr/bin/guile
!#

(import (srfi srfi-1))

(define-macro (sleepy time . body)
  (cons 'begin
	(fold-right (lambda (new rest)
		      `(,new (sleep ,time) ,@rest)) '() body)))

(sleepy 1
	(display "one\n")
	(display "two\n"))

Ты знаешь, что делать.

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

Это я знаю. Кстати, вчера весь вечер cperl ковырял и остался доволен. Достаточно интересная штука. И до какой-то версии он был компилируем в байткод, но автор устал поддерживать. cperl хорош тем, что у него есть поддержка типизации, синтаксический сахарок для сигнатур функций и ещё ряд оптимизаций которые прилично сокращают потребление памяти и практически весь стандартный перловый код взлетает на нём, так что возможно попробую эту няшу в своём домашнем проекте, который вот-вот планирую начать. В Perlbrew поставил себе cperl-5.28.2. Есть ещё rperl - компилируемый C++’ный Perl, но это уже другой язык и я хз как его подружить с Mojo, например. С другой стороны, он может быть более приятной альтернативой написания кода на Си и C++, для подключения к Perl’у через XSUB.

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

Кста на счет компилируемых. Есть такой язык crystall - компилируемый руби. Из-за этого в нем дикие ограничения по возможностям по сравнению с оригиналом. Писать на нем имеет смысл только когда нужно писать натив, но хочется легковесного синтаксиса (неявные шаблоны вообще бомба). Ну и макросы человеческие в отличии от сей. С компилируемым перлом та же история?

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

А что, rperl когда компилирует определение функции у которой типы аргументов не заданы автоматически делает нечто вроде шаблона с типовыми параметрами на каждый аргумент?

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

Есть такой язык crystall - компилируемый руби. Из-за этого в нем дикие ограничения по возможностям по сравнению с оригиналом

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

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

Ограничивает он разве что манкипатчинг

Он еще блоки инлайнит. Да и объявить локальный класс насколько помню не получается. Хотя давно я с ним парился (и репортил баги компилятора), с тех пор может многое добавлено было.

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

Это к сожалению правда я. И да, мне и здесь приходится писать куски на перле, по большей части в виде entrypoint к докеру если нужно скажем конфиг попарсить нормально

upcFrost ★★★★★ ()