3P by kunggom 2020-06-25 | favorite | 댓글 3개

Perl이 버전 7에 관해 발표했습니다. (영어) Perl 7은 내년(2021년)에 나올 것입니다.

Perl은 래리 월(Larry Wall)이 1987년에 처음 발표한 동적 타입의 고수준 인터프리터 언어입니다. 이식성이나 하위호환성이 좋으며, 문자열 처리능력이 뛰어나서 각종 스크립트를 만들거나 언어학·생물정보학 등에서 사용하기도 하지요. 2000년대 초반까지는 웹 프로그래밍에도 많이 사용되었습니다. 그 시절에는 CGI(Common Gateway Interface)라는 용어가 마치 Apache HTTP 서버와 Perl 언어의 조합을 가리키는 것처럼 잘못 사용되기도 했던 기억이 나네요. 대부분의 리눅스 시스템 및 macOS에는 Perl이 기본적으로 설치되어 있으므로 곧바로 사용할 수 있습니다. 지금 확인해보니 제 맥북의 macOS 10.15에는 Perl v5.18.4가, 라즈베리 파이 4에서 돌아가는 Ubuntu 20.04에는 Perl v5.30.0이 설치되어 있군요.

Perl 6는 하위 호환성을 포기하고 역사적 이유로 쌓여 있던 불합리한 점을 모두 털어내는 것을 목표로 Perl 5.6이 발표되던 2000년부터 설계되기 시작했었지만, 아주 오랫동안 출시가 늦어진 끝에 결국 2019년에 Raku라는 별개의 언어로 아예 분리되었습니다. 그런 연유로, Perl은 6이라는 버전을 건너뛰고 바로 버전 7로 넘어갑니다. 또한 Perl 7은 기본적으로 현재의 최신 안정 버전인 5.32와 크게 다르지 않되, 더 현대적이고 안전한 기본 설정값을 사용할 것이라고 합니다. 만약 이 설정 때문에 호환성 문제가 발생한다면 Perl 5의 설정값을 대신 사용하는 호환성 모드를 사용할 수 있다는군요. 이는 기존에 잘 사용하던 Perl 스크립트나 CPAN(Comprehensive Perl Archive Network)에 올라와 있는 방대한 기존 코드를 최소한의 수정만으로 Perl 7에서도 계속 사용할 수 있을 것이라는 점을 의미합니다.

정리감사합니다. 제가 아는것과 조금 다른 부분이 있어서 코맨트 합니다.

1. perl6의 설계목표는 perl5에 불합리성을 털어내는것이 아니었습니다 perl6는 perl5의 기본 정신위에 좀 더 현대적인 프로그래밍 페러다임과 런타임구조를 언어 코어에 기본적으로 반영하는 형태를 지향했기때문에 perl6가 perl5를 대체할 목표를 가진것이 아닙니다. 따라서 python 3와 python 2의 관계보다는 C와 C++의 관계로 봐야합니다.

2. perl6는 출시가 늦어졌기때문에 raku로 이름변경한것이 아닙니다. perl6년 2015년 크리스마스에 정식출시되었으며 여러VM과 런타임이 존재합니다. 2019년에 이름을 변경한것은 위에 말한것 같이 perl5와 perl6 간의 독립적인 관계를 좀 더 부각하기 위한 선택이었습니다.

감사합니다.

그렇군요. 댓글 감사합니다.

포스팅 감사합니다!