Каково текущее состояние Perl 6?

Каково текущее состояние Perl 6, действительно ли это готово к производству? Где мы стоим прямо сейчас? Существуют многие программисты, любопытные на предмет текущего прогресса Perl 6.

Существует также две других темы, открытые на на reddit и http://perlmonks.org/?node_id=835419 об этом.

28
задан Pat 5 November 2018 в 17:15
поделиться

3 ответа

Во-первых, и что наиболее важно, следите за агрегатором новостей Planet Six . Включены еженедельные собрания Perl 6 и блоги ведущих разработчиков и многих членов сообщества, и это отличный способ не отставать от прогресса Perl 6.

Чтобы получить представление о том, как Rakudo Perl, ведущий Perl 6 реализация выполняется, ознакомьтесь с Адвент-календарем Perl 6 . Каждый день показывает разные аспекты Perl 6 и степень его реализации прямо сейчас Ракудо.

Обновление (март 2012 г.): Сравнение функций perl6.org показывает ход реализации как Rakudo, так и Niecza (компилятор, ориентированный на CLR, например .NET, Mono).


Perl 6, как спецификация, все еще подвергается постоянным улучшениям и рефакторингу. Некоторые примеры того, где спецификация неясна: иерархия объектов, что должно и не должно быть частью основной библиотеки, обработка дат, лень, «автоматическая распараллеливание» соединений. Но основная часть языка доработана. Спецификация очень амбициозна, и ИМХО является одной из основных причин, почему Perl 6 так долго запускался.

С точки зрения реализации, ведущим проектом является Rakudo Perl 6, построенный на основе Parrot VM. Возможно, существует дюжина преданных своему делу разработчиков и многие другие, которые помогают тестировать, писать библиотеки, код и документацию. Большая часть разработок финансируется за счет грантов Perl Foundation и сообщества, поэтому нет никаких оснований ожидать, что она прекратится.

В Rakudo много ошибок и много недостающих функций. Он только недавно подвергся огромному рефакторингу - ветка ng. Просмотрите любой существующий исходный код Perl 6, и вы найдете множество комментариев, в которых говорится: «Ракудобуг» или «Ракудо еще не реализовал это ...»

Даже в этом случае это рисует несправедливую картину Ракудо. Спецификация Perl 6, мягко говоря, амбициозна. Язык имеет такое безумное количество функций, что потребовались годы разработки, чтобы достичь того уровня, на котором они находятся сегодня. Rakudo, безусловно, достаточно полный, чтобы люди могли писать текстовые игры, вики и другие веб-приложения, и он становится лучше с каждым днем. Разработчики написали около 40 000 модульных тестов для Perl 6, поэтому легко увидеть улучшения в реализации (Rakudo в настоящее время проходит ~ 30 000 тестов, или 79% набора тестов)

Первый "пригодный для использования" (стабильный) выпуск Ракудо известен как «Звезда Ракудо». В настоящее время это запланировано на второй квартал 2010 года (апрель-июнь). Общая идея заключалась в том, чтобы реализовать большую часть Perl 6 - не весь язык, а его полезное подмножество - и минимизировать количество ошибок. Что касается готово к производству , у Perl 6 всегда была дата выпуска «Рождество». Возможно, в это Рождество, скорее, что-то еще. Пройдет много времени, прежде чем вы сможете использовать весь Perl 6 без ошибок, но мы, по крайней мере, скоро увидим стабильный выпуск , и, надеюсь, шумиха вокруг Perl 6 будет снежный ком оттуда, когда люди обнаруживают, что это настоящее .

Если вас интересует Perl 6, вы можете подумать об участии в сообществе. По моему опыту, это очень дружелюбное сообщество (меня почти пугает, насколько все хороши, даже в IRC). Установи Ракудо, попробуй сломать, исправь баги. Напишите тестовые примеры. Напишите реализации для основных функций, напишите модули. Есть чем заняться!

23
ответ дан 28 November 2019 в 03:15
поделиться

Perl 6 не готов к работе с использованием наиболее распространенных определений «готово к производству» согласно собственному потоку SO - реализации нестабильны и, возможно, не хватает всех функций спецификации.

См. Этот ответ SO для получения подробной информации о статусе по состоянию на 2008 год . Спецификация языка кажется стабильной (по крайней мере, согласно brian d foy в связанном сообщении), но реализации еще нет.

Что касается конкретных дат, то согласно этому сообщению от 08.04.2010, первый крупный выпуск самой далеко продвинутой реализации Perl 6 - Rakudo (на Parrot VM) - назван «Rakudo Star» 1.0 " ориентировочно нацелено на второй квартал 2010 года (первоначальный план был примерно в апреле 2010 года, но был изменен из-за личных обстоятельств, связанных с ведущим разработчиком).

Конечно, YMMV - я видел, как люди использовали НАМНОГО менее стабильный код / ​​проекты в продакшене (включая то, что они сами написали), чем текущее состояние Perl 6.Но лично я даже не стал бы мечтать о развертывании Perl 6, пока он на какое-то время не будет широко выпущен.

Тем не менее, обратите внимание на очень важный момент : вышесказанное не означает, что Perl 6 является бесполезным или что его не следует изучать - похоже, что он хорошо развивается, и поэтому я лично намерен начать копаться в нем. (ну, спасибо SO) заранее, так что я готов использовать его, когда он немного стабилизируется.

Кроме того, я хотел бы добавить, что большая часть великолепных функций Perl 6 была перенесена на Perl 5 (в 5.10-5-12, см. Perl6 :: modules ), поэтому приведенный выше пункт об изучении Perl6 чрезвычайно важен, даже если у вас нет ближайших планов по развертыванию самого Perl 6.

15
ответ дан 28 November 2019 в 03:15
поделиться

Сегодня Леон Тиммерманс опубликовал интересный блог о некоторых различиях, появляющихся в Perl 6.
Почему Perl 6 отличается Не много разговоров о том, когда эти различия проявятся.

2
ответ дан 28 November 2019 в 03:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: