Подготовлен (https://rakudo.org/post/announce-rakudo-star-release-2018-10) релиз пакета Rakudo Star 2018.10 (http://rakudo.org/), включающего компилятор Rakudo, виртуальную машину MoarVM, документацию, модули и инструменты, необходимые для разработки на языке Perl 6. Компилятор соответствует спецификации Perl v6.c, за исключением поддержки расширенных макросов, неблокирующего ввода/вывода и ряда мелких особенностей, которые планируется довести до рабочего состояния в будущих выпусках. В качестве виртуальной машины для исполнения байткода предлагается MoarVM (http://moarvm.org/), которая проходит все тесты (альтернативный бэкенд на базе JVM пока не обладает всей необходимой функциональностью).В новой версии обновлены модули openssl 0.1.21 и tap-harness6 0.0.4. До версии 0.5.3 обновлён инструментарий для управления установкой модулей zef 0.5.3. Объявлен устаревшим модуль "LWP::Simple" вместо которого рекомендовано использовать "HTTP::UserAgent". Удалён модуль panda-sub, вместо которого сейчас применяется zef.
URL: https://rakudo.org/post/announce-rakudo-star-release-2018-10
Новость: https://www.opennet.me/opennews/art.shtml?num=49599
Опоздали лет на 15 с perl6. Сейчас уже ненужно. )))
Perl 6 хоть кто-то использует?https://perl6.org/camelia-logo.png
Сколько требуется выкурить и выпить для понимания этого ЯП?
Ну что ж, приступим к изучению перспективного языка для светлого будущего:https://learnxinyminutes.com/docs/perl6/
Я попробую выучить его за час. А вы за сколько?
Но зачем? Оно хуже рубей по производительности, переусложнённое и сырое относительно пятой ветки.Народ или сидит на perl5 или валит на го, несмотря на его фашистский синтаксис и некоторую хипстанутость инфраструктуры.
Нет. Народ МАССОВО валит на диалекты лиспа (Racket, GNU Guile).
Go похож по синтаксису на Perl5.
И даже префиксами к именам переменных?
>Go похож по синтаксису на Perl5.Че? Блин, аж котлетой поперхнулся.
Обпределение класса в perl5:
package A;
use strict;
use warnings;sub new {
my ($class, $name) = @_;
my $self = {
name => $name
};
bless $self, $class;
return $self;
}sub name {
my ($self, $name) = @_;
return $self->{'name'} unless $name;
$self->{'name'} = $name;
$self;
}1;
Вся похожесть в латинским алфавите.
Уже Rust вырывается вперёд.
Подскажите мне то волшебное слово, которое кастует всех скорбных на голову? У одного лисп куда-то там вырывается (уже сорок лет подряд всё вырывается и вырывается) у этого - раст...
Мне кажется, что этот индивид имел в виду то, что раст становится популярнее чем пёрл. Ни более того
Перловам работу предлагают. Растишкам ... :)
Думается, что ЯП от такого автора и с таким логотипом не может быть плох. :)
> Народ или сидит на perl5 или валит на гоНарод свалил уже лет эдак 5 как, на питон.
>> Народ или сидит на perl5 или валит на го
> Народ свалил уже лет эдак 5 как, на питон.Ой, ну не надо. Любой, кто хоть немного в курсе культурной подоплёки, знает, что уважающий себя перл-программист никогда, ни за что не станет писать на питоне.
В что за подоплека?
Кардинально разные идеологии. Питон это поделие для СС, а Perl язык светлого коммунистического будущего. Почитай про основные принципы программирования на этих двух языках в википедии и сразу поймешь о чём я. Но новички вы этом не разбираются. Они в основном зигуют не задумываясь, как мартышки повторяют за людями в форме от Хуго Босс
> В что за подоплека?Идеологическая. С одной стороны TIMTOWTDI, с другой "there should be one -- and preferably only one -- obvious way to do it". Так-то холиворы perl vs python много всякого разного друг на друга насобирали когда-то, но камень преткновения -- это именно несовместимость этих двух принципов. Она -- в основе всего.
> уважающий себя перл-программист никогда, ни за что не станет писать на питоне.:-) плюсую.
> что уважающий себя перл-программист никогда, ни за что не станет писать на питоне.+1
контекст, определяемый количеством пробелов и табуляций...
при этом некоторые пытаются затащить эту хрень в soc.
> хуже рубей по производительности, переусложнённое, ...Вот, вот, набижали рубисты/питонисты перл языку учить.
этот сайт выпилен из российского инета. не иначе как за пропазанду издевательства над человеками и их мозгами))))
> этот сайт выпилен из российского инета. не иначе как за пропазанду издевательства
> над человеками и их мозгами))))А через VPN?
Это типа как вирус под линукс: самому найти исходники, подправить код, мейкфайл, компильнуть и после бессонной ночи таки наступить на грабли?
УМВР.Опять Ростелеком?
язые без статической типизации в 21 веке ненужен
Внезапно (!) в Perl 6 гибридная типизация. Прикинь.https://docs.perl6.org/language/nativetypes
Чем дальше читаю, тем больше нравится.
>Сколько требуется выкурить и выпить для понимания этого ЯП?Ну так зачем вообще что то новое учить? Можно как и раньше, переключателями управлять. А perl6 довольно интересный язык, сейчас любят ограничивать программиста (Java, Rust, etc), а perl6 наоборот, дает кучу возможностей, причем они продуманны. Ну и много прикольных идей в нем есть, те же Grammars.
Согласен, это интересно.Используют ли его где?
На самом деле новичков пугает обилие всяких "закорючек", сам-то язык классический - переменные, массивы, функции, объекты... что тут сложного?? Просто переменные именуются со спец-символов. И строго говоря, это даже хорошо для наглядности.
https://perl6intro.com/
%capitals.push: (France => 'Paris');
say "The capital of France is: " ~ %capitals<France>;Забываем все что ранее знали.
if $age > 18 {
say 'Welcome'
}
Вздрагиваю при виде if без скобок, автоматически жду ошибку :)
Да там просто уйма всего волшебного:https://docs.perl6.org/language/5to6-nutshell
Шутники! :)
Bash со стеройдами.Видать синтаксис намеренно утяжелен, чтобы только самые смиренные мира сего могли использовать его без ожесточения сердца своего.
все равно не могу понять какая у него целевая ниша или аудитория
Быдлокодил на перле модули для fvwm и так по-малости. Штука мощная, но, имхо, слишком уродлив. Это вот его "есть больше одного способа сделать это" корябает мою любящую минимализм душу. Если свой код ещё разберёшь, то ковыряние чужого превращается в кошмар.
Тим Тоутди как раз и призван писать более лаконичный и минималистичный код. При этом, код не должен терять в читабельности.
Да мало ли к чему "призван" и чего код "не должен". Дана возможность нагородить всякого и эта возможность будет использована. Может и не со зла или выпендрёжа, но от этого не легче. Вобщем, осталось двоякое впечатление от языка, возможно стоило глубже в него погрузиться, чтобы ощутить и понять всю прелесть.
Было бы замечательно примеры плохого кода увидеть, чтоб можно было разобраться вместе. TIMTOWTDI и его отсутствие это как техническая и художественная литература на иностранном языке. Нужен уровень определённый чтоб без словаря читать, быть продуктивным и получать удовольствие от работы.
Это либо дано, это не дано. Если ты видишь красоту в таком классическом примере, то ты полюбишь Perl:
$_='ev
al("seek\040D
ATA,0, 0;");foreach(1..3)
{<DATA>;}my @camel1hump;my$camel;
my$Camel ;while( <DATA>){$_=sprintf("%-6
9s",$_);my@dromedary 1=split(//);if(defined($
_=<DATA>)){@camel1hum p=split(//);}while(@dromeda
ry1){my$camel1hump=0 ;my$CAMEL=3;if(defined($_=shif
t(@dromedary1 ))&&/\S/){$camel1hump+=1<<$CAMEL;}
$CAMEL--;if(d efined($_=shift(@dromedary1))&&/\S/){
$camel1hump+=1 <<$CAMEL;}$CAMEL--;if(defined($_=shift(
@camel1hump))&&/\S/){$camel1hump+=1<<$CAMEL;}$CAMEL--;if(
defined($_=shift(@camel1hump))&&/\S/){$camel1hump+=1<<$CAME
L;;}$camel.=(split(//,"\040..m`{/J\047\134}L^7FX"))[$camel1h
ump];}$camel.="\n";}@camel1hump=split(/\n/,$camel);foreach(@
camel1hump){chomp;$Camel=$_;y/LJF7\173\175`\047/\061\062\063\
064\065\066\067\070/;y/12345678/JL7F\175\173\047`/;$_=reverse;
print"$_\040$Camel\n";}foreach(@camel1hump){chomp;$Camel=$_;y
/LJF7\173\175`\047/12345678/;y/12345678/JL7F\175\173\0 47`/;
$_=reverse;print"\040$_$Camel\n";}';;s/\s*//g;;eval; eval
("seek\040DATA,0,0;");undef$/;$_=<DATA>;s/\s*//g;( );;s
;^.*_;;;map{eval"print\"$_\"";}/.{4}/g; __DATA__ \124
\1 50\145\040\165\163\145\040\157\1 46\040\1 41\0
40\143\141 \155\145\1 54\040\1 51\155\ 141
\147\145\0 40\151\156 \040\141 \163\16 3\
157\143\ 151\141\16 4\151\1 57\156
\040\167 \151\164\1 50\040\ 120\1
45\162\ 154\040\15 1\163\ 040\14
1\040\1 64\162\1 41\144 \145\
155\14 1\162\ 153\04 0\157
\146\ 040\11 7\047\ 122\1
45\15 1\154\1 54\171 \040
\046\ 012\101\16 3\16
3\15 7\143\15 1\14
1\16 4\145\163 \054
\040 \111\156\14 3\056
\040\ 125\163\145\14 4\040\
167\1 51\164\1 50\0 40\160\
145\162 \155\151
\163\163 \151\1
57\156\056А если не видишь, то выбирай сердцем пихтон.
> Это либо дано, это не дано.Небыстрофикс: либо дано, либо не дано.
А вот интересно, как бы любители пихтона писали такую программку с верблюдами. :)
Красиво!Но при этом есть понимание, что вкурить это как следует с легкомысленным подходом не получится.
Реальное мастерство оттачивается на реальных задачах.С возрастом мышление становится весьма утилитарным - зачем делать на этом, когда можно на другом ,знакомом, в 3 раза быстрее.
Поэтому - о да, верблюд крут, но проходим мимо. Увы.
Ну… Понятно, что хакеры Перла в обыденной жизни пишут не [только] программы для рисования верблюдов. :) Это просто иллюстрация возможностей языка и особенностей его синтаксиса.
Двачую этого. Подобные вещи часть культуры языка:
Joke Modules
Mailing List Theatre
JAPHs
Obfus
Golf
Poetry
April FoolsПочитайте "The Lighter Side of Perl Culture (Part I): Introduction" на перлмонкс. Интересно