LINUX.ORG.RU
решено ФорумTalks

Выучить perl 6

 , ,


0

4

Привет! О себе: не знаю нормально ни одного языка программирования, но с грехом пополам кодил на c++, c#, bash, perl 5. Хочу выучить нормально perl 6. Как это сделать правильнее и эффективнее? Я вижу для себя такие варианты:

  1. Спокойно пройти путь «Learning Perl» -> «Intermediate Perl» -> «Programming Perl» и жить – не тужить, а потом воспользоваться «Migrating to Perl 6».
  2. Курить на инглише «Learning Perl 6», а инглиш я не люблю :(
  3. Курить «Think Perl 6». Похоже, это то, что мне нужно, и даже в свободном доступе.
  4. Бросить все эти книжки для нубов, изучить https://perl6intro.com/ru/ и заняться практикой.

@Lilly, посоветуешь? :) P.S. Не нашел книги по perl 6 от Ларри. Он отходит от дел?



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

Все эти обсуждения побудили меня полистать книгу Perl 6 Fundamentals. Главное, что я почерпнул для себя на первых страницах – оператор %% воспринимается совершенно естественно, как будто бы ты работал с ним всё время.

goto-vlad
()
Ответ на: комментарий от te111011010

Так поэтому и perl != perl 6. ;)

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

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

Какого, Perl или Perl 6? Для второго есть JVM-бекенд, но зачем он, когда есть moarvm с метамоделью и годной асинхронностью, про первый не в курсе.

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

Если ты храбрый и не боишься разбираться в подобных задачах, то можно. :)

https://www.reddit.com/r/perl6/comments/btij1g/perl6_on_jvm_how/ - вот недавний тред, может чем поможет. Есть какие-то ограничения по виртуалкам, отчего только jvm/net?

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

Именно так. Людей, которые его пилят, не так много, и сам он имеет сомнительное применение в настоящий момент: JVM славится JIT-ом и PEA, но сейчас ясно, что тоже самое можно догнать в moarvm, при этом moarvm изначально рассчитана на вещи вроде late binding-а, await без боли async-а и других интересностей, из-за чего работать с ней проще.

С JS-ом понятно, браузер, а вот jvm мне самому не ясен после многих лет, хотя экспериментальный он и экспериментальный.

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

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

Было бы удобно задействовать все это добро из DotNet.

Раньше ActivePerl вроде бы предоставлял какие-то интерфейсы для DotNet?

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

Воу, кажется, происходит недоразумение.

Хотя это порой звучит очень глупо и контр-интуитивно, но Perl 5 и Perl 6, несмотря на названия, это два разных, очень и очень несовместимых языка, поэтому насчёт Perl 5 нужно у кого-то другого спрашивать, я, увы, не в курсе.

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

Есть Inline::Perl, который позволяет их использовать, но там your mileage may vary. Я видел, как люди просто садятся и едут, т.е. бывает всё окей, но это прослойка и нужно это учитывать. Это не прямая совместимость, а сторонний инструмент. Помимо этого есть ещё Inline::Python, Inline::Go и плеяда таких штук, хех, разной степени допиленности.

CPAN поддерживает пакеты для Perl 6 в том смысле, что их туда можно загружать и они ищутся и пакетный менеджер Perl 6 их понимает. Не уверен, что в каком-то ещё другом смысле.

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

А по поводу аватара вспомнились прикол с англоязычного форума, там было написано Idiot Outside, это в контексте того, что Minix inside, никого обидеть не хотел, речь о закладках.

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

могли бы какой-нибудь автоматизированный транслятор сделать?

Учитывая различия между этими двумя языками, есть мнение, что проще, наверное, написать ИИ, который сам всё перепишет, чем написать такой транслятор.

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

Мне кажется, что люди переоценивают распространённость вакансий как критерий выбора ниши.

По-моему, если человеку в кайф писать какую-нибудь аналитику на хаскеле или железки программировать на ассемблере, то он найдёт именно такую вакансию (даже если их мало) и будет делать то, что ему плюс-минус нравится.

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

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

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

Чем меньше выбор вакансий, тем хуже. Это вроде очевидно. Потратив пять лет на пердолево хачкеля, и оказавшись на рынке в поиске вакансии, можно очень сильно удивиться, не найдя ни одной стоящей.

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

в питоне много косметического было типа print/print()

Там в батарейку очень много чего докинули.

канкаренси из коробки

В том числе, сие.

Вообще, это был ответ на то, что перевод на третий питон был совершенно бессмысленнен.
Будто бы с Perl 6 ситуация кардинально иная.
Может быть, больше причин для перехода с Perl 5, но и трудозатраты выше тоже.

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

Чем меньше выбор вакансий, тем хуже

Да, могу согласиться, хотя не уверен, что зависимость линейная. Хорошая попытка подмены моего тезиса, но я говорил лишь о том, что есть и другие критерии выбора ниши помимо популярности, не о том, что вакансии не нужны вообще. Сам-то пишешь на 1C только из-за того, что вакансий много? Если нет, то почему?

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

Легаси это легаси, трогать его это дорого и/или долго в любом случае. 6 не делает 5 deprecated, не предполагается, что сейчас возьмут весь софт на perl и ка-а-ак перепишут, тогда как в случае 2/3 это выполняется.

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

Тебе 17? Откуда столько максимализма?

Странно слышать это от человека, рекомендующего изучить минет. Хотя… нет, не странно.

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

Вообще, лор как обычно. Тред называется «Где купить яблок». Сразу появляется десять советующих, говорящих, что нужно купить не яблок, а апельсинов. Другие десять пытаются скучно флеймить, что им не нравятся яблоки, значит никто в мире не покупает яблоки и яблоки объективно ненужно. Большая часть говорящих никогда не ела яблоки, но уверена, что по звуку, который издаёт коробка с яблоками, если её потрясти, может точно определить, какие они на вкус.

Ладно, fingolfin, если чего - пиши, я отписываюсь.

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

А с Perl 5 на Perl 6 не придётся?

Не придется. В 2020 поддержка perl5 не заканчивается.

Или то, что он позиционируется как иной язык, всё меняет?

И это, и сказанное выше — тоже.

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

Ну, если смотреть с точки зрения поддержки легаси – то тогда да, Perl 5 будет жить дольше, чем Python 2 (наверное).

Могу поспорить, что он не только python2, но и тебя переживёт. Потому что язык развивается.

Но так можно и Python 2 форкнуть и обтираться им неопределённо долгое время, принципиально сие ситуацию с Perl 6 и Python 3 не поменяет.

Еще раз: python2 - EOL, perl5 - активная разработка, с LTS. Переписывать ничего не нужно.

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

Есть люди, и их немало, у которых фобия такая: оказаться невостребованными. Вот и учат что котируется на рынке, и пишут также.

Мне, к слову, на работе где все писали на руби, давали возможность писать на перле. Никому в голову не приходило запретить. Хочешь на перл - ради бога.

Так до сих пор. Сам выбираю на чем писать. А попытки зашугать новичков, вроде «гавно everywhere, потому обмазывайся им, иначе не найдешь работу» - совет старого раба, подсказывающего новичку как лучше подлизать хозяину.

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

Это программирование по-русски.

Если остаток от деления числа А на число 2 равняется нулю, то напечатать "Число А -  чётное", иначе "Число А - нечётное".

В прямом смысле.

Thetan ★★★
()
Ответ на: удаленный комментарий

Ну а как ты собрался сдавать ЕГЭ по информатике на 100 баллов, если не владеешь ни одним ЯП? Вот и придумали костыли, чтобы не обидеть таких.

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

Может человеку для души

«Для души» есть жизнь, в которой компов практически нет (ну если не считать смартфон таковым). Иначе это уже какое-то задротство.

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

И это правильно. С какого бодуна алгоритм должен быть записан на каком-то конкретном ЯП? Если человек не может записать алгоритм на естественном языке, а может только на конкретном ЯП - у него какие-то серьёзные проблемы с абстрактным мышлением. Таким дорога в Индию батрачить в аутсорсе.

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

Если человек не способен в алгоритмизацию, то он и на ЯП ничего толкового не напишет.

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

решать свои практические задачи: от однострочников до проектов на пару тысяч строк.

Perl 5. Зачем тебе сабжевая наркомания?

bread
()

Спокойно пройти путь «Learning Perl» -> «Intermediate Perl» -> «Programming Perl» и жить – не тужить

Только последний пункт, к тому же там относительно свежее издание, остальные книги уже слегка мхом покрылись. Еще стоит почитать Perl Best Practices и Higher-Order Perl. Всё, больше ниче не нужно, перл6 тем более.

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

Ты случайно забыл аргументированно указать в своём сообщении, какие именно части языка являются наркоманией, с примерами и сравнениями. А то может Ларри и компания не последних людей в дизайне языков, когда «чинили язык, а не пользователей», не были в курсе, что там всё ок, и зачем-то написали это, это, это, это, это, это и это, описывая неудобства дизайна, которые были починены в «наркомании».

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

Тут недавно за функциональщину хорошо пояснили
дает ссылку на какой-то субъективный вброс

Уровень подкованности участников дискусси пробивает дно за дном, не останавливаясь ни на секунду.

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

Питоны рождаются и умирают, а пёрл живёт и здравствует :)

Ну конечно. История с перлом 5/6 ничем кардинально от истории с питоном 2/3 не отличается - так же взяли и написали другой язык. Разница лишь в том что питон остаётся популярным, а перл никому не нужен ни 5-й, ни тем более 6-й.

Хочу выучить нормально perl 6. Как это сделать правильнее и эффективнее?

Идёшь на perl6.org, там ссылка get started, по ней ссылка на документацию.

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

История с перлом 5/6 ничем кардинально от истории с питоном 2/3 не отличается

А стоило всего лишь повнимательнее прочитать…

Питоны рождаются и умирают, а пёрл живёт и здравствует :)

fingolfin
() автор топика
Ответ на: комментарий от slovazap

Умер перл, а здравствует питон.

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

fingolfin
() автор топика
Ответ на: комментарий от slovazap

История с перлом 5/6 ничем кардинально от истории с питоном 2/3 не отличается

Чорт, ну почему они назвали это перлом, а не ракокотом каким. Все путаются.

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

6 не делает 5 deprecated, не предполагается, что сейчас возьмут весь софт на perl и ка-а-ак перепишут, тогда как в случае 2/3 это выполняется.

Или как с Mercurial.

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