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 ()
Ответ на: комментарий от anonymous

Вы болеете.

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

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

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

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

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

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

Если что, у него в пятой версии REPL не прикрутили.

У питона, впрочем, REPL намного корявее любого лиспового.

anonymous ()

перл отстой и не нужен.

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

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

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

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

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

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

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

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

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

Pm7vLB ()

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

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 ()

Чем раку лучше питона3? есть сравнение?

anonymous ()

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

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

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

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

Тёплое - нет!

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

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

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

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

Pm7vLB ()
Ответ на: Тёплое - нет! от anonymous

Но учитывая распространённость последнего, оно так и так будет жить форева.

Именно так.

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

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

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

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

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

Таки как защитить перл скрипт от тыринга?

Дайте зенд обфускатор хотябы.

anonymous ()
Ответ на: комментарий от 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 ()
Ответ на: комментарий от perl5_guy

Походу я соврал. cperl не компилируемый, rperl компилируемый, но это другой язык. Был ещё какой-то компилируемый, но я забыл

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

Есть целый зоопарк реализаций. И движуха perl11, типа собрать 5 и 6 версии в одно русло.

q0tw4 ★★★★ ()
Ответ на: комментарий от 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 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.