Perl 6
维基百科,自由的百科全书
Perl6 是一种的计算机语言,是 Perl 语言的后续。尽管提供了同 Perl5 的兼容模式,由于 Perl6 语言语法同 Perl5 不同,因此,可以把她看作一种新的语言。
Perl6 拥有丰富的现代语言特征,作者计划用重新定义正規表達式和增加函數式程式語言的特征,使之成为可演化的语言。为保证 Perl6 和 Perl 社区的持续稳定发展,Perl6 编译器需要使用 Perl6 来重写,为保证 Perl 语言原有函式庫的重用,编译器还计划提供同 Perl5 语言的兼容模式。
由于 Perl6 语言的语法特征和要求,Perl6 编译器实现非常复杂,同时,开源社区的资源相对贫乏。因此,Perl6 编译器的开发显得相当缓慢。
目录 |
[编辑] 歷史
[编辑] 和 Ruby 比較
一般都是認為 Ruby vs. Python(可能是因為同樣採取縮排的設計),但是就一些相關的討論和訪談,Ruby vs. Perl 6 的可能性反而是最大的。CPAN 上排名第一名,同時也是 Perl 6 的開發者的唐鳳(Autrijus) 就這麼說過:「Ruby 就是『沒有到處打廣告的 Perl 6』」[1]。Ruby 的創始者——松本行弘(まつもとゆきひろ / Yukihiro Matsumoto,Matz)在接受 O'Reilly 的訪問時[2],也提到「Ruby 借用了很多 Perl 的東西……,Python 遠比 Perl 要少……」。從 Ruby 的命名也可以看出 Matz 遠大的企圖心:「Pearl(珍珠)是六月的誕生石[3],而 Ruby 是七月的誕生石,我認為 Ruby 這個名字作為 Perl 之後的一門語言的名字真是再恰當不過了。」[4]
Perl 之父拉里·沃爾(Larry Wall)在《Larry Wall On Perl, Religion, and……》[5]一文中表示:「很多方面上我還是很喜歡 Ruby 的,這是因為那些部分是從 Perl 借過去的。:-)」、「我還喜歡 Ruby 的 C<*> 一元星號操作符,所以我把它加到 Perl 6 裡面。」
但是拉里·沃爾在文中也說:「Ruby 的主要問題在於它的最少驚訝原則可能讓人誤入歧途,就好像隱藏式詞法範圍。問題在於減少誰的驚訝?專家和初學者對不同的事情驚訝。從一個小程序寫成大程序的人和從開始就寫大程序的人可能對不同的事情感到驚訝。」
[编辑] 参考文献
- ^ 日本的 Perl 社群名人——宮川達彥專訪。
- ^ 訪問 Matz。
- ^ Pearl 與 Perl 發音相同。
- ^ O'Reilly 訪問 Matz。
- ^ Larry Wall On Perl, Religion, and……
[编辑] 外部連結
[编辑] 規格
- Synopses - The evolving summary of each Apocalypse, updated regularly,這些文件被視為 Perl 6 正式的語言架構。
- Exegeses - Further explanation of each Apocalypse with code samples
- Apocalypses - The first-pass drafts from Larry Wall
- Official Perl 6 Documentation Perl6 的正式說明文件。
[编辑] 實做
- Perl 6,Perl 6 的主要發展資訊站台。
- Pugs,以 Haskell 實做 Perl 6 的計畫。
- v6.pm ,純 Perl 的實做,based on a Perl 6's CPAN stack。
- parrotcode,Parrot 的主站。
[编辑] 其他
|
|
---|---|
工业编程语言 | A+ - ActionScript - Ada - zh-hans:汇编语言;zh-hant:組合語言 - B - Brainfuck - COBOL - Curl - D - Eiffel - Erlang - FORTRAN - IronPython - Java - JavaScript - JScript - Jython - LISP - Lua - SCILAB - MATLAB - MATHEMATICA - Nuva - Oberon - OCaml - Perl - PHP - PostScript - Powerbuilder - Python - R - REXX - Ruby - Self - Smalltalk - Tcl/Tk - C# - F# - J# - Microsoft Visual C# |
C/C++语言 | C - C++ - Turbo C++ - Borland C++ - C++ Builder- C++/CLI - Objective-C - Microsoft Visual C++ |
BASIC语言 | BASIC - BASICA - GW-BASIC - QBASIC - QuickBASIC - True BASIC - Turbo BASIC - PowerBASIC - DarkBASIC -ETBASIC Visual Basic .NET - Visual Basic - VBScript - VBA |
Pascal/Delphi语言 | Pascal語法:(Pascal - Turbo Pascal - Object Pascal - Free Pascal) Pascal+Delphi語法:(Delphi) |
GPU用著色器語言 | Cg - GLSL - HLSL |
学术编程语言 | APL/J - Clean - Haskell - Logo - ML - Prolog - Scheme - SAC |
資料庫相關编程语言 | Clipper - Visual FoxPro - SQL - SQL預存程序 |
其他编程语言 | ALGOL - Forth - Modula-2/Modula-3 - MUMPS - PL/I - Simula |