The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

26.12.2015 09:22  Состоялся рождественский релиз Perl 6

Увидел свет компилятор Rakudo 2015.12 "коледа", который отмечен Ларри Уоллом (Larry Wall) как первый релиз языка программирования Perl 6. Rakudo является одним из компиляторов Perl 6, преобразующих программы в байткод, который затем выполняется в специальной виртуальной машине. По умолчанию предлагается виртуальная машина MoarVM, в качестве альтернативы может использоваться виртуальная машина JVM (также продолжает развитие проект Parrot, но он не поддерживается в Rakudo, разработка альтернативного компилятора Niecza давно заброшена).

В Rakudo 2015.12 полностью реализована поддержка спецификации v6.c "Christmas" для Perl 6 и успешно пройдены связанные с ней тесты (тестовый набор включает около 120 тысяч проверок). Спецификация v6.c объявлена стабильной - некоторое время язык будет находиться в состоянии заморозки. В дальнейшем спецификация продолжит своё развитие и будет учитывать отзывы и пожелания сообщества, но общая совместимость будет сохраняться. Проект Rakudo как и раньше будет формировать ежемесячные выпуски, в которых основное внимание теперь будет уделено работе по увеличению производительности, переносимости и стабильности.

Perl 6 развивается более 15 лет, причём из них около 10 лет продолжалось ожидание финального релиза - на протяжении этих лет, на вопросы о дате релиза Ларри Уолл ежегодно отшучивался, что дата релиза давно известна – это канун Рождества, в тайне пока остается год этого события. Язык Perl 6 кардинально отличается от Perl 5 и может рассматриваться как созданный с нуля отдельный язык программирования, обладающий средствами метапрограммирования (возможность определения собственных синтаксических конструкций для расширения языка, в том числе создания новых инфиксных операторов) и встроенными объектно-ориентированными возможностями. Для обращения к коду на языках C/C++ в Perl 6 поддерживается интерфейс NativeCall, а для использования кода Perl 5 в программах на Perl 6 предоставляется прослойка Inline::Perl5 (для использования Perl 6 в программах на Perl 5 по аналогии предлагается модуль Inline::Perl6).

С особенностями Perl 6 можно познакомиться в обзорах Андрея Шитова. Ключевые отличия от Perl 5:

  • Возможность определения типизированных переменных ("my Int $i;" или "sub count(Int $i){", если присвоить $i строковое значение будет выведена ошибка). Поддерживаются типы Bool, Int, Str, Array, Hash, Complex, Num, Pair;
  • Полноценная система классов для объектно-ориентированного программирования (определение "class A {has $.i; method test($what)...}" и вызов "my $a = A.new(i => 1); say $a.i;"). Для наследования при объявлении класса следует указать родительский класс ("class B is A {" или "class C is A is B {").
  • Упрощение определения переменных ("my @list = 1, 2, 3;" или "my %hash = 'test1' => 1, 'test2' => 2;") и возможность использования Unicode в именах переменных ("my $переменная = 1;");
  • Определение области видимости переменной и элементов классов при помощи "твиглов" (%*ENV, $?FILE, $!a, $.b);
  • Возможность указания необязательных аргументов функции и значений по умолчанию ("sub func(Int $i?)", "sub func(Int $i = 1)");
  • Поддержка передачи аргументов функции по именам (определение "sub power(:$base, :$exponent)", вызов "power(:base(2), :exponent(3))");
  • Возможность создания вложенных функций и определения нескольких функций с одним именем (разделение по типам аргументов);
  • Методы параллельного программирования: каналы и механизмы синхронизации;
  • Анонимные блоки-замыкания ("my $cube = -> $x {$x ** 3};") и динамические переменные ("my $*var = 'Alpha'");
  • Изменённый синтаксис регулярных выражений и возможность определения грамматик;
  • Широкий набор метаоператоров;
  • Метод ".WHAT" для быстрого определения типа переменной ($scalar.WHAT) и оператор "===" для сравнения объектов типов ("if ($value.WHAT === Int)");
  • Переменная "$/" для записи результата сопоставления в регулярном выражении (совпавшую строку можно получить через $/.Str, для подстрок используется синтаксис $/[1] идентичный $1);
  • Переменная "$!" для доступа к сообщению об ошибке.


  1. Главная ссылка к новости (https://6guts.wordpress.com/20...)
Лицензия: CC-BY
Тип: Интересно / Программы
Ключевые слова: rakudo, perl6, perl
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, IMHO, 09:42, 26/12/2015 [ответить] [смотреть все]
  • +8 +/
    все, пропали празники, буду тестить и кодить
     
  • 1.2, Аноним, 10:07, 26/12/2015 [ответить] [смотреть все]
  • +1 +/
    Пока ждал Perl6, выучил C Не зря они NativeCall предусмотрели Имхо, C и ... весь текст скрыт [показать]
     
     
  • 2.5, Аноним, 10:38, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –13 +/
    Перл как был языком однострочников в консоли так и остался Писать на нем что-ли... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.8, Аноним, 11:27, 26/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Писал на Perl5 серьезные проекты Писались быстро, но было нереально сложно подд... весь текст скрыт [показать]
     
     
  • 4.11, Аноним, 12:02, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Переходить с перла на плюсы из-за более легкой поддержки это пипец Для этого ес... весь текст скрыт [показать]
     
     
  • 5.44, Crazy Alex, 18:13, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Для перловика плюсы - довольно удобная штука, идеология очень похожа в плане гиб... весь текст скрыт [показать]
     
  • 4.18, Аноним, 13:13, 26/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Судя по написанному, Вам нужно попробывать RUST lang https doc rust-lang org ... весь текст скрыт [показать]
     
     
  • 5.22, Аноним, 13:46, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Так же у RUST хорошая поддержка для embedded платформ https twitter com Samsu... весь текст скрыт [показать]
     
  • 3.54, Аноним, 01:23, 27/12/2015 [^] [ответить] [смотреть все]  
  • +/
    а что Perl претендует на что-то большее по твоей логике есть ЯП истинные для ко... весь текст скрыт [показать]
     
  • 2.33, Аноним, 15:17, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Зачем нужен Perl,Ruby , когда современные низкоуровневые языки вроде RUST предо... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.39, Michael Shigorin, 17:12, 26/12/2015 [^] [ответить] [смотреть все]  
  • +7 +/
    > Зачем нужен Perl,Ruby.., когда современные низкоуровневые языки

    За всё тем же: работа со сложными структурами данных обозримым количеством кода.

     
     
  • 4.50, ананим.orig, 22:57, 26/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Ну 8230 не всё так плохо За этим и придумали библиотеки классов шаблонов этк ... весь текст скрыт [показать]
     
  • 4.52, птупогромист, 00:00, 27/12/2015 [^] [ответить] [смотреть все]  
  • –4 +/
    Да на шелле то поди ещё удобней? >_<
     
  • 3.64, angra, 17:16, 27/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Неужто они и такие конструкции умеют a asdf , b t f , v ... весь текст скрыт [показать]
     
     
  • 4.79, Andrii, 20:29, 30/12/2015 [^] [ответить] [смотреть все]  
  • +/
    А зачем такие конструкции Легко совершить ошибку и все рушится с NoMethodError ... весь текст скрыт [показать]
     
  • 1.3, Аноним, 10:19, 26/12/2015 [ответить] [смотреть все]  
  • +1 +/
    Они ошибку в названии пропустили, назвали колЕда вместо колЯда , хотя ссылку ... весь текст скрыт [показать]
     
     
  • 2.4, Аноним, 10:26, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Толковый словарь Даля допускает "коледа" как вариант.
     
     
  • 3.7, A.Stahl, 10:46, 26/12/2015 [^] [ответить] [смотреть все]  
  • –6 +/
    Это, скорее всего, означает, что в каком-то регионе в конце 19века использовалос... весь текст скрыт [показать]
     
     
  • 4.9, Khariton, 11:55, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Ну почему имели Литва до сихпор так и говорит Kaleda И Болгария Коледа ht... весь текст скрыт [показать]
     
     
  • 5.10, A.Stahl, 11:59, 26/12/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Даль разве интересовался болгарским или латышским Я про словарь, его актуальнос... весь текст скрыт [показать]
     
     
  • 6.48, Khariton, 22:17, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Слово-то заимствованное ... весь текст скрыт [показать]
     
  • 5.16, Zulu, 12:53, 26/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Распространенное изменение en - 281 - 1126 То же самое в ментосе, котор... весь текст скрыт [показать]
     
  • 4.13, Michael Shigorin, 12:50, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну идите, покайтесь на площади, что у Вас какая-то душа ещё осталась Не положе... весь текст скрыт [показать]
     
  • 4.38, asd, 16:52, 26/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Стыдно, что некоторые до сих пор решают, что и кому можно и нужно помнить.
     
     
  • 5.49, Khariton, 22:19, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    и не говорите, но самое стыдное, что кто-то еще устанавливает рамки чего нужно с... весь текст скрыт [показать]
     
  • 2.6, Аноним, 10:46, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Возможно, используется болгарский термин - он пишется через Е В анонсе сказано ... весь текст скрыт [показать] [показать ветку]
     
  • 2.45, Crazy Alex, 18:25, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А написать, как в оригинале, Rakudo Star что мешало по ссылке на релиз коледа ... весь текст скрыт [показать] [показать ветку]
     
  • 1.12, grayich, 12:07, 26/12/2015 [ответить] [смотреть все]  
  • +11 +/
    логотип perl 6 - https://perl6.org/camelia-logo.png
    .. наркоманы
     
     
  • 2.23, Я, 13:59, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Но судя по посту и плюсам детей у вас нет ...
     
     
  • 3.27, Аноним, 14:42, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    И дети есть, и пузо есть, но логотип всё равно отвратный Второе место после gnu... весь текст скрыт [показать]
     
     
  • 4.35, kravich, 16:26, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Не трож хомяка!
     
  • 2.29, Нимано, 14:59, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    То ли дело розового W небесного солнечного цвета слоники http hadoop apache ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, grayich, 15:00, 26/12/2015 [^] [ответить] [смотреть все]  
  • +7 +/
    вокруг одни наркоманы
     
     
  • 4.42, chinarulezzz, 17:45, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    > вокруг одни наркоманы

    один лишь ты стоишь со шпагой, в плаще мушкетёра.

     
  • 2.36, Аноним, 16:46, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Это же рождественская бабочка!!!
     
     
  • 3.43, grayich, 18:00, 26/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    нет, рождественская вот - https://perl6.org/camelia-advent.png

     
  • 1.14, Ilya Indigo, 12:51, 26/12/2015 [ответить] [смотреть все]  
  • +1 +/
    Ларри, таки сдержал своё слово. На рождество. :-)
     
  • 1.15, Michael Shigorin, 12:52, 26/12/2015 [ответить] [смотреть все]  
  • +2 +/
    Да уж, последние времена наступают -- что там ещё не вышло из долгостроев?
     
     
  • 2.19, kravich, 13:33, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    GNU Hurd? Тоже ведь зашевелился...
     
     
  • 3.21, kravich, 13:36, 26/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    И Реактось спустя сколько времени готова мифическим релизом 0.4 разродиться...
     
  • 2.20, Аноним, 13:33, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Hurd Half-Life 3 ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.24, A.Stahl, 13:59, 26/12/2015 [^] [ответить] [смотреть все]  
  • –3 +/
    А Half-Life 3 тут каким боком Это не долгострой Его не строят И никогда не бу... весь текст скрыт [показать]
     
     
  • 4.70, Аноним, 07:33, 29/12/2015 [^] [ответить] [смотреть все]  
  • +/
    > после того, что вышло в качестве второй.

    Э...

    > Stahl

    А, ну да.

     
  • 1.17, Аноним, 13:11, 26/12/2015 [ответить] [смотреть все]  
  • +1 +/
    Джвадцать лет ждал! (нет)
     
  • 1.25, Pilat, 14:19, 26/12/2015 [ответить] [смотреть все]  
  • +2 +/
    Мёртворождественский релиз
     
     
  • 2.28, Michael Shigorin, 14:57, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Почему PS наш комайнтейнер перлов пишет --- Правда за прошедший месяц с прошл... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.32, Pilat, 15:12, 26/12/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    Да потому что весь язык мёртворождённый Шуму много , а толку ноль ... весь текст скрыт [показать]
     
  • 3.62, Аноним, 14:49, 27/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Потому что поломали всю семантику perl а, без явных на то оснований if value ... весь текст скрыт [показать]
     
     
  • 4.69, 1, 11:22, 28/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Дык так и утверждалось, что Perl6 совершенно другой язык, нежели Perl5.
     
  • 1.26, агент малдер, 14:37, 26/12/2015 [ответить] [смотреть все]  
  • +1 +/
    use Inline::Perl5 qw(CPAN)
     
  • 1.31, chinarulezzz, 15:04, 26/12/2015 [ответить] [смотреть все]  
  • +3 +/
    Хех) жду оптимизаций.
    Пятый перл им не заменить, а вот нишу еще предстоит открыть/занять. Интересно.
     
     
  • 2.34, Аноним, 15:48, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    для Вас: http://www.opennet.ru/openforum/vsluhforumID3/106131.html#33
     
     
  • 3.40, chinarulezzz, 17:40, 26/12/2015 [^] [ответить] [смотреть все]  
  • +/
    у perl хоть синтаксис получше ... весь текст скрыт [показать]
     
     
  • 4.46, Аноним, 19:13, 26/12/2015 [^] [ответить] [смотреть все]  
  • –2 +/
    У perl получше мда, я конечно как человек долгое время работавший с python,... весь текст скрыт [показать]
     
     
  • 5.55, Нимано, 02:42, 27/12/2015 [^] [ответить] [смотреть все]  
  • +3 +/
    code def unique _, __ type __ type ... весь текст скрыт [показать]
     
     
  • 6.56, Аноним, 11:20, 27/12/2015 [^] [ответить] [смотреть все]  
  • +2 +/
    Это как раз код Перловика который первый раз решил что-то написать на Питоне!
     
     
  • 7.57, grayich, 11:52, 27/12/2015 [^] [ответить] [смотреть все]  
  • +6 +/
    Нимано наглядно показал, что лёгкость чтения сорцов не зависит особо от языка, а больше от носителя языка.
     
  • 6.71, Гвидо, 08:23, 29/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Чо уж, свинья грязи найдёт Штатно пишется как-то так def unique iterable ... весь текст скрыт [показать]
     
     
  • 7.72, Нимано, 16:26, 29/12/2015 [^] [ответить] [смотреть все]  
  • +/
    code def unique iterable s set return iterable for iterable in ... весь текст скрыт [показать]
     
     
  • 8.75, Гвидо, 01:47, 30/12/2015 [^] [ответить] [смотреть все]  
  • +/
    s add elem всегда возвращает None Незнание этого факта - еще не диагноз, а вот... весь текст скрыт [показать]
     
     
  • 9.76, Нимано, 02:58, 30/12/2015 [^] [ответить] [смотреть все]  
  • +/
    И что Ванга в треде Ну тогда угадайте, зачем там вообще and not Подсказки ... весь текст скрыт [показать]
     
     
  • 10.77, Гвидо, 03:21, 30/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Почитайте дзен питона и не пишите плохой код лишь для того, чтобы похвастаться с... весь текст скрыт [показать]
     
  • 10.78, Гвидо, 03:38, 30/12/2015 [^] [ответить] [смотреть все]  
  • +/
    Вот вам утешительный приз from collections import OrderedDict def unique iterabl... весь текст скрыт [показать]
     
  • 2.37, Michael Shigorin, 16:50, 26/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Пятый перл им не заменить

    В смысле пятый CPAN? :)

     
     
  • 3.41, chinarulezzz, 17:43, 26/12/2015 [^] [ответить] [смотреть все]  
  • +1 +/
    Да К тому же, 5-й в базовой поставке всех неспециализированных дистров ... весь текст скрыт [показать]
     
  • 1.47, Аноним, 20:29, 26/12/2015 [ответить] [смотреть все]  
  • +/
    perlgolf
     
  • 1.58, Аноним, 13:29, 27/12/2015 [ответить] [смотреть все]  
  • –1 +/
    когда все дистрибутивы *nix перейдут на perl6 ?
     
     
  • 2.59, Michael Shigorin, 13:58, 27/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Ларри никуда не спешил -- и мы не торопимся ... весь текст скрыт [показать] [показать ветку]
     
  • 2.60, grayich, 14:12, 27/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    причём тут дистрибутивы к perl ?


     
     
  • 3.73, ., 18:42, 29/12/2015 [^] [ответить] [смотреть все]  
  • –1 +/
    Да он просто в криокамере с 1999 был.
    Ещё не в курсе что перловку из дистрибов выпилили, и везде всунули питон.

    Кстати - чё то мне не верится, что теперь питон выкинут и впилят перло 6 :-)

     
  • 2.63, angra, 17:04, 27/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Скорее всего никогда. Perl6 просто не годится для этой ниши.
     
  • 1.61, Аноним, 14:48, 27/12/2015 [ответить] [смотреть все]  
  • +/
    Решили раздробить малочисленное сообщество.
    Для web и Perl5 достаточно.
     
  • 1.65, Аноним, 21:46, 27/12/2015 [ответить] [смотреть все]  
  • +/
    Языков сейчас слишком много, по сути они дублируют друг друга, и кто-то должен б... весь текст скрыт [показать]
     
     
  • 2.66, grayich, 21:48, 27/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    и на чём писать например системные скрипты?
     
     
  • 3.67, Аноним, 22:22, 27/12/2015 [^] [ответить] [смотреть все]  
  • +/
    За тебя уже подумал Леня, не надо больше ничего писать, просто потребляй.
     
  • 2.74, ., 19:25, 29/12/2015 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    > Языков сейчас слишком много, по сути они дублируют друг друга,

    Это так вот уже лет 15, а то и больше ...

    > и кто-то должен быть вытеснен. Perl и Python кандидаты номер 1.

    ORLY?! :) А спорим - ты девственник? Или и того хуже 8-\

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

    Чаво-чаво? Кон ... куда .. вания? Шёл бы ты уроки делать. А чёрд, каникулы же ...

     
  • 1.68, Онаним, 01:25, 28/12/2015 [ответить] [смотреть все]  
  • +/
    Первый абзац навёл на мысль, что давно пора разделить разработку языков/компиляторов и виртуальных мойшин для них, разделить более серьёзно.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor