2010-04-19 4 views
24

Perl 6의 현재 상태는 무엇입니까? 우리는 지금 어디에서서야합니까? Perl 6의 현재 진행 상황에 대해 궁금한 프로그래머가 많습니다.Perl 6의 현재 상태는 무엇입니까?

on reddithttp://perlmonks.org/?node_id=835419에 대해 다른 두 가지 항목이 열려 있습니다.

+0

내 개인적인 이론은 perl 6은 perl 5의 새 버전이나 무스 (Moose) 같은 모듈을 통해 백 포트 될 perl 5 기능에 대한 테스트 베드 종류가 될 것입니다. –

답변

13

Perl 6은 가장 일반적인 코드 인 definitions of "producion ready" as per SO's own thread을 사용하여 프로덕션 준비가되어 있지 않습니다. 구현이 안정적이지 않고 사양의 전체 기능이 부족할 수도 있습니다.

Please see this SO answer for details on the status as of 2008. 언어 사양은 안정적으로 보이지만 (적어도 링크 된 게시물에서는 brian d foy와 같음) 구현은 아직 없습니다. 특정 날짜에 관해서는

, 04/08/2010에 as per this post, 가장 멀리 앞서 펄 6 구현의 첫 번째 주요 릴리스 - (앵무새 VM에) Rakudo - "Rakudo 스타 1.0"라는 는 미정 Q2를 대상으로 2010 (원래 계획은 2010 년 4 월경 이었지만 수석 개발자를 포함한 개인적인 상황으로 인해 변경되었습니다.)

물론 YMMV - 저는 사람들이 Perl 6의 현재 상태보다 덜 안정적인 코드/프로젝트를 자신이 작성한 것을 포함하여 많이 사용하는 것을 보았습니다. 하지만 개인적으로 Perl 6을 널리 배포하기까지는 Perl 6을 배포하는 것에 대해 꿈도 꾸지 않을 것입니다.

그러나 중요한 점은입니다. 위의 내용은 Perl 6이 습기가 있거나 배워서는 안된다는 것을 의미하지는 않습니다. 제대로 진행되는 것처럼 들리므로 개인적으로 파고 들어보기 시작할 것입니다. (음, 이미 SO에 대한 감사를 가지고 있습니다.) 그래서 조금 안정되었을 때 사용할 준비가되었습니다.

또한 큰 Perl 6 기능이 Perl 5 (5.10-5-12, Perl6:: modules 참조)로 다시 포팅되어 Perl6 학습에 대한 위의 요점은 Perl 6 자체를 즉시 배포 할 계획이 없더라도 매우 관련이 있습니다.

+2

Perl6과 관련된 많은 사람들이 "생산 준비에 대한 귀하의 정의가 무엇인지에 달려 있습니다"라고 말하는 경향이 있습니다. 어떤 종류의 헛소리인지에 대한 의견 차이는별로 없기 때문입니다. 생산 준비가 의미하는 것은 무엇인지 분명하게 나타냅니다. – Cobalt

+0

예, 너무 분명합니다. Perl 6은 프로덕션 준비가되지 않았고 DVK는 프로덕션 환경에서 안정성이 떨어지는 코드를 보았습니다. – Quentin

+2

@David - 전혀 모순이 없습니다. 생산중인 제품은 "생산 준비 완료"자격이 없습니다. 내 정의에 따르면 아니지만 정의는 SO에 대해 허용 된 응답으로 투표했습니다. – DVK

23

먼저 가장 중요하게는 Planet Six 뉴스 수집기를 따르십시오. 주 개발자 및 지역 사회의 많은 회원들이 주간으로하는 6 회의 주회 및 블로그가 포함되어있어 펄 6의 발전을 따라 할 수있는 좋은 방법입니다.

최고의 펄 (Perl) 인 Rakudo Perl 6 구현이 완료되면 Perl 6 Advent Calendar을 확인하십시오. 매일 Perl 6의 다른면과 구현 된 범위는 바로 지금 by Rakudo.

업데이트 (2012 년 3 월) : perl6.org's feature comparison은 Rakudo와 Niecza (CLR 타겟팅 컴파일러, 예 : .NET, Mono)의 구현 진행 상황을 보여줍니다.


Perl 6은 여전히 ​​일정한 정제 및 리팩토링을 수행하고 있습니다. 명세가 명확하지 않은 몇 가지 예 : 객체 계층 구조, 핵심 라이브러리의 일부분, 일부분이어야하는지, 날짜 처리, 게으름, 교차점의 '자동 스레딩'. 그러나 언어의 대부분이 완성되었습니다. 스펙은 매우 야심적이며, IMHO는 Perl 6이 갈 길이 멀었던 주요 이유 중 하나입니다.

구현 측면에서, 주요 프로젝트는 Parrot VM 위에 구축 된 Rakudo Perl 6입니다.아마도 수십 명의 헌신적 인 개발자와 더 많은 사람들이 테스트, 라이브러리, 코드 및 문서 작성을 돕고 있습니다. 대부분의 개발 작업은 Perl Foundation과 커뮤니티의 보조금으로 이루어지기 때문에 피터에게 기대할 이유가 없습니다.

Rakudo에는 많은 버그와 누락 된 기능이 있습니다. 최근에야 거대한 리팩토링을 거쳤습니다. 기존 Perl 6 소스를 살펴보면 "Rakudobug"또는 "Rakudo는 아직 구현하지 않았습니다 ..."라고하는 많은 의견을 볼 수 있습니다.

그렇다고해도 불평등 한 Rakudo 그림을 그립니다. Perl 6 사양은 최소한의 의견을 제시하고자합니다. 언어는 오늘날의 수준까지 발전하기 위해 수년간 개발을 수행 한 것과 같은 미친 기능을 가지고 있습니다. Rakudo는 사람들이 텍스트 기반 게임, 위키 및 기타 웹 응용 프로그램을 작성하기에 충분할 정도로 완벽하며 매일 좋아지고 있습니다. 개발자는 지금까지 Perl 6에 대한 40,000 건의 단위 테스트를 작성 했으므로 구현 개선을 알 수 있습니다 (Rakudo는 현재 30k 테스트 또는 테스트 스위트의 79 %를 통과 함)

첫 번째 "사용 가능") Rakudo의 출시는 'Rakudo Star'로 알려져 있습니다. 현재 Q2 2010 (4 월 -6 월)에 계획되어 있습니다. 일반적인 생각은 전체 언어가 아닌 Perl 6의 상당 부분을 구현하는 것이지만 유용한 서브 세트는 버그를 최소화하는 것입니다. 준비가 완료되면, Perl 6의 출시일은 항상 "크리스마스"입니다. 아마도이 크리스마스 일 가능성이 높습니다. 버그가없는 Perl 6 전체를 사용할 수 있으려면 오랜 시간이 걸릴 것입니다 만, 적어도 안정적인 릴리스 을 보게 될 것입니다.과 Perl 6에 대한 과대 광고가 한 번 사람들은 그것이 진짜임을 알게됩니다.

Perl 6에 관심이 있다면 커뮤니티에 참여하는 것이 좋습니다. 내 경험에 비추어 볼 때 매우 친숙한 커뮤니티입니다 (IRC에서도 모든 사람들이 얼마나 멋진 지 알 수 있습니다). Rakudo를 설치하고, 깨고, 버그를 신고하십시오. 테스트 케이스를 작성하십시오. 핵심 기능을 구현하고 모듈을 작성하십시오. 할 일이 많아!

+4

@rjh - 훌륭한 세부 사항. 지옥,이 지저귐은 내가 여름에 어느 정도 시간을 자유롭게 할 수 있다면 당신이 제안한 것 (Rakudo를 설치하고 누락 된 물건을 구현하려고 노력하는 것)을 시도하도록 나를 도와주는 짚일 수도있다. +1 – DVK

+0

이것은 2013 년 12 월입니다. 모든 업데이트? 이것은 죽은 프로젝트입니까? ActiveState가 Perl 6을 더 이상 제공하지 않는다는 것을 알아 챘습니다. – Uri

+1

@Uri 마지막으로 들었던 Rakudo는 Parrot을 기본 백엔드로 옮겨 가고 있었기 때문에 구현에 어려움과 성능 문제가있었습니다. (.NET 경쟁자 인 Niecza를 따라 잡았음에도 불구하고) PIR 코드를 제거하고 NQP 백엔드를 JVM에 포팅하려는 시도가 진행 중이다. Perl 6 전체 사양을 완료하는 데는 많은 작업이 필요하며, 실제로는 오랜 시간이 걸릴 것입니다. 그들은 여전히 ​​월별 출시를 내고 있기 때문에 죽은 것과는 거리가 멀다. – rjh

1

재미있는 블로그는 펄 6. 그 차이가 나올 때 약
Why Perl 6 Is Different별로 이야기에 나오는 몇 가지 차이점에 대한 레온 Timmermans 오늘 기록했다.

8

Perl 6은 불과 며칠 전이 크리스마스 2015에 공식적으로 발표되었습니다. 실제로 두 가지 중요한 것들이 발표되었습니다.

공식적이고 안정적인 언어 사양 인 Perl 6.c (크리스마스 용 c)가 가장 중요하고 가장 중요하게 공개되었습니다. 스펙은 펄 6 로스트라고도 120,000 일련의 시험이다 (R epository O F LL S PEC T ESTS) perl6/로스트 Github의 아래에서 볼 수있다.

두 번째로, Rakudo라고 알려진 Perl 6 구현의 새 버전이 출시되었습니다. Rakudo는 MoarVM 및 JVM 가상 시스템에서 실행되는 Perl 6 컴파일러입니다. 이 새로운 버전의 Rakudo는 6.c 언어 사양을 대상으로하며 여러 주요 아키텍처에서 모든 테스트를 통과합니다. 이 릴리스에 대한 자세한 내용은 rakudo/rakudo의 Github 및 rakudo/rakudo/blob/nom/docs/announce/2015.12.md의 2015.12 발표에서 확인할 수 있습니다.

Rakudo는 설치가 간단하고 개인적으로 Rakudo 설치 관리자 인 rakudobrew를 사용하는 것이 좋습니다. 여기 https://github.com/tadzik/rakudobrew 지침을 따르십시오.Rakudo와 MoarVM을 설치하는 것 외에도 Perl 6 모듈 설치 프로그램 인 Panda를 설치할 수 있습니다.

오랫동안 Perl 5 및 Python 소프트웨어 개발자로서 필자는 Perl 6이 기존의 동적 언어에서 발견 한 많은 문제를 해결하는 매우 강력하고 깊은 언어라고 봅니다. Rakudo 발표에서 직접 걸리기 :

  • 표현력, 표현력, 자연 언어의 영향을받으며 언어 디자인의 한계를 뛰어 넘는 핵심 가치를 유지합니다.
  • 익숙한 구문에 뿌리를 둔 깨끗한 현대 구문이 있지만 필요했던 것을 다시 방문하고 수정합니다.
  • 우아한 객체 지향, 기능적, 절차 적 및 동시 프로그래밍을 가능케하는 진정한 멀티 패러다임입니다.
  • C/C++ (NativeCall 사용)를 쉽게 호출하고 Perl 5와의 호환성을 유지할 수 있도록 훌륭한 접착제 언어 역할을합니다. (Inline :: Perl5를 통해).
  • 비동기 데이터 병렬 계산
  • 획기적으로 개혁 작업을위한 합성 가능한 구조를 제공하고 펄 (6) 자체 구문 분석 할만큼 강력, 전체 문법까지 확장 정규식 구문에 새로운 표준을 설정
  • 뛰어난 유니 코드를 지원하고, 문자열 쉽게
  • 메타 객체 프로그래밍, 사용자 정의 통신을 통해 확장이 가능 리팩토링 및 특성을 가능하게 그래 핀 수준
  • 값 어휘 범위 지정 및 캡슐에서 작업하는

Perl 6에 대해 알고 싶은 모든 정보는 여기 http://perl6.org/에서 찾을 수 있습니다.