LINUX.ORG.RU

(PragmaticPerl) Выпуск 26

 


1

4

Выпуск 26

В этом номере:

- От редактора, Вячеслав Тихановский

- Анонс конференции YAPC::Russia 2015, YAPC::Russia — ежегодная конференция, посвященная языку программирования Perl и его сообществу, которая проводится в Москве (под названием May Perl), Киеве (під назвою Perl Mova) и Санкт-Петербурге.

- Работа с WebSocket в Perl, Вячеслав Тихановский
Рассмотрены несколько подоходов при работе с технологией WebSocket из Perl

- Промисы в Perl 6, Андрей Шитов
Вторая часть обзора возможностей Perl 6 для параллельных и конкуррентных вычислений

- Грамматики в Perl 6, Андрей Шитов
В этой статье рассказано об одной из наиболее мощных возможностей Perl 6 — грамматиках

- Обзор CPAN за март 2015 г., Владимир Леттиев
Рубрика с обзором интересных новинок CPAN за прошедший месяц.

- Интервью с Виктором Турским, Вячеслав Тихановский
Виктор Турский (koorchik) — украинский Perl-программист, сооснователь компании WebbyLab

★★★★★

Проверено: Shaman007 ()
Ответ на: комментарий от grim

perl6 это не новый язык, это очередное нагромождение новых фич поверх имеющейся свалки созданной предыдущими нагромождениями. Впрочем, если сможете продемонстрировать преимущества динозаврика над ruby подумаю над его изучением.

mongo
()

Пишу на Perl. Не много, но хочется больше.. был бы GUI IDE для Винды, типа DevelStudio вообще бы все писал что ни попадя..

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

Попробуй Padre. Простенькая IDE для Перла написанная на Перле. Мне хватает :)

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

а нём можно какой-то современный веб писать прямо сейчас?

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

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

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

После года разработки на RoR с жёсткими сроками программистом и ещё полугода сопровождающим админом весь балаган Ruby попал в мой персональный список языков и технологий, с которыми я согласен работать только по двойной ставке и краткосрочным контрактам без последующего сопровождения, поэтому мнение рубиста относительно нужности языков программирования я готов слушать, но не готов принимать на веру. Мне уже порассказывали как «Go никому не надо». Так интересно рассказывали, что я из любопытства подписал трёхмесячный контракт на проект RESTful API backend на Go и PostgreSQL. Пару недель тому подписал полугодовое продление — оказалось, что «никому не нужны» только диванные теоретики. Поэтому вопрос про Perl6 остаётся открытым, и хотелось бы теперь услышать мнение тех, кто на Перле что-то пишет в прод за деньги.

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

Зачем мне вам, ворчливым старперам ругающим новые интересные ЯП, что то доказывать?

Сидите уж на завалинке и рассказывай какой Руби крутой.

Только под ногами не путайтесь

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

Я не пишу на Перл6 за деньги, попробую встрять.

Imho Perl6 еще не готов для продакшн, да и релиза еще не было.

Т.е. Если вам строго для нарубить бабла, то не учите.

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

Я не пишу на Перл6 за деньги, попробую встрять.
Imho Perl6 еще не готов для продакшн, да и релиза еще не было.

Да, судя по тому, что удалось нагуглить, много интересного будет, но толком ничего ещё нет. Хотя вот с Web::App::MVC вроде баловаться уже можно. Если у сообщества хватит сил родить хороший релиз, то, возможно, взлетит.

Т.е. Если вам строго для нарубить бабла, то не учите.

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

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

вопрос про Perl6 остаётся открытым

Долго стартует, медленный, не все тесты проходит, батарейка очень маленькая и нет своего CPAN'а.

Так что поиграться можно, но в продакшене Perl5 все еще незаменим.

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

есть и такие

небольшое подразделение человек на 5-7 пишет на Perl c использованием существующего фрамеворка. Но да, большинство новых проектов Python/Ruby. Стек не веб.

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

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

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

Легаси на перле иногда хорошо зарабатывает, поэтому перловоды еще какое-то время будут вполне востребованы, но в весьма ограниченном количестве. Причем речь строго о пятом перле. В таких проектах скорее всего такое... легаси, что даже сам интерпретатор устаревший, версия 10-летней давности, никаких тебе say, нормальных сигнатур и прочая. О миграции на другой язык и речи не идет. А уж если переписывать на чем-то, то явно не на экспериментально-мертворожденной шестерке. Питон постепенно вытеснил перл из ниши «the scripting language for anything where bash is not enough». Руби тоже где-то там. А Перл утратил актуальность для everyman из мира софтдева. Все нынешние шевеления — это либо ребята с ископаемым легаси (мотивация: денег и плюшек больше, чем на питоне, так что зажимаем нос и терпим); либо горстка ностальгирующих и/или застрявших в зоне комфорта (это лечится первым же основательным проектом на современном языке). Ну и есть третья группа: это Ларри и К° — все те ребята, кто слишком сильно вложился в язык, инфраструктуру и комьюнити, чтобы признать конец эпохи и отнести всё это на свалку истории. (Кстати, на свалку как раз не надо, лучше в бережно хранимый архив: обсуждалки 10- и 20-летней давности читать можно долго и с удовольствием, ибо в разработке перла/на перле почему-то принимало участие множество очень умных, интересных и творческих людей.)

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

Про «мертворожденную шестерку» я в целом согласен, но пятая ветка вовсю живёт и развивается.

И новые проекты вполне себе пилят. Из близкой мне области - App::Netdisco, HiD.

Так что выдавливайте из себя по капле подход «не модно/просто работает - сейчас же переписать».

P.S. Да что за пиздец с капчей?!

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

код на пёрле это всегда набор костылей всевозможных форм и размеров.

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

crutch_master ★★★★★
()

Здорово, один из языков который надо знать. использую для повседневной работы для всего... Для веба perl dancer, нужен хитрый модуль есть cpan. Не говоря конечно о совместимости версии, готовых модулей в любимом дебиан и наличие perl-a даже в базовой системе. Так что в независимости от мнения ламеров желторотых, перл есть и будет есть....

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

При наличии огромного количества современных технологий для веб

Это какие?

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

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

В Perl можно управлять совместимостью из кода. Поэтому нет таких проблем, как отваливание совместимости от версии к версии, как например в PHP. Код, написанный 10-15 лет назад продолжает работать без каких-либо затрат на поддержку. Но чтобы это понять, видимо нужно не раз столкнуться с этими проблемами. С python тоже непонятно, таки пилить проекты под 2.7 или под 3.0? И что будет с проектами под 2.7 когда его объявят устаревшими? А что делать с кривизной библиотек?

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

Уже про use написали. Как Вы работаете, если короткую справку про say до конца дочитать не можете? И эти люди не велят ковыряться в носу...

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

В любой книжке по Perl'у в разделе про переменную по умолчанию. Благодаря TMTOWTDI Perl всякими ништяками забит под завязку. Удивительный ЯП доступный каждому.

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

Код, написанный 10-15 лет назад продолжает работать без каких-либо затрат на поддержку. Но чтобы это понять, видимо нужно не раз столкнуться с этими проблемами.

Мягко говоря это не так. На CPAN много модулей, сломанных на всех архитектурах. Причем некоторые из-за сломанных разработчиками интерпретатора API. Например вот такой красавчик, сломанный с 2006 года: http://cpantesters.org/cpan/report/4f4ffccc-6c69-1014-baeb-551f25572501

Чем больше кода поддерживаешь, тем больше таких проблем.

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

Как накодишь, так и будет. Хочешь делать костыли - делай. Но можно ограничить себя и не делать.

А это типа не костыли:

use v5.10;

? И такого очень много. Вместо чётко продуманной структуры языка какая то помойка с хламом.

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

Это - фича для обратной совместимости. Где примеры кода, которые я просил?

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

Покажи как это будет на твоём haskelle и пистоне.

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

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

- Perl dancer - Mojolicous - Catalyst ...

- Turbo Pascal - Quick Basic - Delphi ... И что?

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

Код написанный 15 лет назад надо mantain'ить. Язык программирования должен быть продуман а не являться сборником версий.

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

Вывод первого вхождения regexp из stdin в stdout.

while s = gets
  puts s[/regexp/] if s[/regexp/]
end

Очевидно же!

Если тот говнокод для вас очевиден, сочуствую.

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

Благодаря TMTOWTDI Perl всяким ништяками забит под завязку. Удивительный ЯП доступный каждому.

Благодаря этому код на пёрле не читаем и изучить весь пёрл целиком совершенно не представляется возможным. Знает его полностью наверное только этот ларри со своим дружком который какие то там книжки писал, в которых сам же характеризовал скрипты на пёрле словом «dirty». Вобщем помойка кое как работающая хранящая в своих недрах различные версии протухших мамонтов запах от которых настраивается с помощью «use»...

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

backward-compatibility проблемы с pure perl модулями весьма редки

http://cpantesters.org/cpan/report/4f4ffccc-6c69-1014-baeb-551f25572501

в данном случае речь идёт о xs-обвязке вокруг libwbxml2 (которую надо установить вручную), при этом судя по результатам тестов модуль скорее работает, чем нет.

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

которую надо установить вручную

Так а зачем тогда средства CI и пакетные менеджеры? Чтобы руками что-то копировать?

модуль скорее работает

В моем случае он работает или нет, состояние «скорее работает» не предусмотрено.

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

opensource -> пофиксите/улучшите этот XS-модуль, если в нём нуждаетесь.

или используйте другой, как раз в документации к нему (https://metacpan.org/pod/XML::WBXML) указаны два pure-perl модуля: WAP::SAXDriver::wbxml, WAP::wbxml

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

Разделитель операторов - \n (перенос)? Из тебя слова вытягивать надо? 2 раза regexp нахрена?

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

Не нужно знать весь Perl, чтоб начать применять его в повседневности. Что касается нечитаемости, сейчас шатаю dancer2, документация замечательная, но неясные моменты уточняю глядя на исходники, более того, сами разработчики рекомендуют так делать.
З.Ы. я просто отвечаю на вопросы, ни к чему не призывю. Не нравится Perl? Не используй!

perl -e 'print pack("H*", "6d6e6520706f6875690a");'

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

Простите, но там используется XS. Какбы подразумевает дополнительные затраты на поддержку.

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

Мне не нравится такой подход. Называется «наляпать как получится из того что знаю». Если вам нравится - ваши проблемы. Считаю совершенно очевидным отсутствие в пёрле какой-либо структуры, вместо этого набор фич. И глядя на исходники пёрла не факт что там всё будет понятно как работает т.к. тыща способов закодить одно и тоже.

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