LINUX.ORG.RU

Perl Weekly Challenge

 , , , ,


2

3

Весёлые старты для любителей Perl'а и всех кто хочет попробовать силы в чёрной магии.

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

Упор сделан на TIMTOWTDI. Организатор просит избегать гольфа и JAPH, в остальном: «Пусть расцветают сто цветов».

По итогам пишут отчёт с наиболее интересными решениями.

Цель: популяризация Perl, обмен опытом и веселье!

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

Ответ на: комментарий от pru-mike

Я тоже с точки зрения пользователя OTRS не ковырял. Могу с тех. стороны сказать. Это отличный конструктор. Я не видел чтоб кто-то чистую OTRS использовал, она очень сильно допиливается и каждый заказчик её под себя нагибает насколько фантазии хватает. В идеале, задачи по развитию должны ставить сведущие в ITIL люди. Большая проблема OTRS это малое количество перловиков, отсюда часто народ в 2-3 рыла за пятерых работает со всеми вытекающими. Тем не менее, даже в подобном хаосе удаётся существовать, что ещё раз говорит о достаточно грамотном изначальном проектировании и опровергает миф о ro коде на Perl.

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

Говнокод вполне может впоследствии получиться (см. пункт про 2-3 рыла). В OTRS много костылей для обратной совместимости, это да. Плюс js немодный, не самые изящные обёртки над CGI. Но в 7й версии должны запилить vue.js, как минимум для клиентского интерфейса (В OTRS есть интерфейс для службы тех. поддержки (агентов) и для клиентов.), и даже Mojolicious в зависимостях есть. Не думаю что немцы резко на моджо мигрируют, тем не менее - процесс идёт. Правда исходный код семёрки хз когда опубликуют.

Как примеры сложного (плохого) кода, могу привести вот эти фалы: контроллер и шаблон.

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

Можно. Для этого я ссылку на FAQ разместил и тег perl6 добавил среди прочих. Правда организатор Perl6 не знает и ему требуется волонтёр на обзор решений 6ки. Пока обзираются только версии на Perl5

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

Правда организатор Perl6 не знает и ему требуется волонтёр на обзор решений 6ки.

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

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

если не считать брейнфаков всяких

брейнфак не сложный. Всего 6 инструкций + 1 цикл. Самое то для обучения написания трансляторов/компиляторов/интерпретаторов. Хотя, вот для чтения — да, сложный.

P.S. Мне в 6-ке не хватает зрелой инфраструктуры, такой как у perl5. Недостаток либ даёт о себе знать.

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

Не, сказать что пишу — эт громко сказано. Так, иногда пробую что-то автоматизировать, да вечно упираюсь в отсутствие модулей или их сырость и недоделанность, по сравнению с perl5.

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

Самый сложный в мире язык как никак шестерка (если не считать брейнфаков всяких)

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

особенно в условиях недостатка манов, устаревшей литературы и отсутствия видеоуроков

К счастью, сейчас есть все эти perl6intro.com, официальная документация на docs.perl6.org, а также целая пачка свежих опубликованных книг по последнему стандарту - https://perl6book.com/, бери не хочу, что называется.

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

Недостаток либ даёт о себе знать

Так пишем вроде. ;) Чего не хватает-то? Можно в https://github.com/perl6/perl6-most-wanted/blob/master/most-wanted/modules.md PR выслать, рассмотрим все варианты. Ну и желающих помочь с написанием батареек никто не прогоняет, а даже наоборот.

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

Проблема в том, что два очень разных языка, прям очень-очень. Тут не прокатит как в питоне поставить скобки вокруг print-а(утрирую). :|

Вот как конвертить такой вот ужос(с моей точки зрения практически не знающего Perl 5) - https://metacpan.org/source/Net::LDAP::Filter в мягкий и шелковистый https://github.com/Altai-man/cro-ldap/blob/master/lib/Cro/LDAP/Search.pm6#L4-L30 ? Только руками разумного компилятора, то есть человека.

Появилось много фич и много полезных фич, при написании можно с нуля их использовать, а если писать глупенький polyglot-код, то будет из разряда шутки про «На любом языке программирования можно написать программу на фортране» - как бы и можно, но зачем, если вся польза от нивелируется?

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

Проблема в том, что два очень разных языка, прям очень-очень.

Ага, в шестёрке даже регулярные выражения переделали. Не могу сказать насколько радикально - не разбирался. Тем не менее, многие фишки из 6ки залетают в Perl5. В сообществе происходит много интересного. Я не просто так упоминал выше Perl11

perl5_guy ()