必威电竞|足球世界杯竞猜平台

perl6
來源:互聯(lián)網(wǎng)

Raku,原名Perl 6,通用程序設(shè)計(jì)語言,支持多重編程范式,漸進(jìn)式類型。在2019年10月更名為Raku。Raku語言在語法與Perl 5不同,被視為一種新的程式語言。

定義

Raku原名Perl 6,是一種通用計(jì)算機(jī)編程語言,脫胎于流行的Perl,支持多重編程范式,漸進(jìn)式類型。官網(wǎng)為https://www.raku.org。

Raku主要設(shè)計(jì)者為拉里·沃爾。作為Perl的后繼者,在2000年開始發(fā)展,由于接續(xù)在Perl 5之后,舊名Perl 6,在2019年10月更名為Raku。Raku語言在語法與Perl 5不同,被視為一種新的程式語言,盡管其計(jì)劃提供Perl 5的兼容模式。

Raku擁有豐富的現(xiàn)代程序語言特征,重新定義正規(guī)表達(dá)式和增加函數(shù)式程式語言的特征,使之成為可演化的語言。為保證Raku和Perl社區(qū)的持續(xù)穩(wěn)定發(fā)展,Raku編譯器使用Raku來重寫。為保證Perl語言原有函式庫的重用,編譯器計(jì)劃提供同Perl 5語言的兼容模式。

由于Raku語言的語法特征和要求,Raku編譯器實(shí)現(xiàn)非常復(fù)雜,同時(shí),自由軟體社群的資源相對(duì)貧乏。因此,Raku編譯器的開發(fā)顯得相當(dāng)緩慢。

2010年7月,Rakudo的Rakudo Star,作為主要版本的試驗(yàn)品發(fā)布。這一發(fā)布的目的是為了讓人們有一個(gè)可基本實(shí)用的編譯器,方便編寫程序和反映需求(Perl6的規(guī)范尚未凍結(jié),以期根據(jù)人們的使用體驗(yàn)以及編譯器的實(shí)現(xiàn)等來增補(bǔ)某些特性)。

簡介

盡管提供了同Perl 5的兼容模式,Perl 6語言語法同Perl 5有很多本質(zhì)區(qū)別。

Perl 6擁有豐富的現(xiàn)代語言特征,重新定義正規(guī)表達(dá)式和增加函數(shù)式編程和面向?qū)ο缶幊蹋蛊涑蔀榭裳莼恼Z言。為保證Perl 6和Perl社區(qū)的持續(xù)穩(wěn)定發(fā)展,Perl 6編譯器完全重寫,為保證Perl語言原有函式庫的重用,編譯器提供了Perl 5語言的兼容方式。

2019年10月,Perl 6正式更名為Raku,意圖明確Raku是一門不同于Perl的新的編程語言。眾所周知,Perl的吉祥物是駱駝,為了以示區(qū)別,Perl 6的吉祥物是一直彩色蝴蝶。

2010年7月,Rakudo發(fā)布了Rakudo Star。這時(shí)候目前為止可用的Raku實(shí)現(xiàn),包括編譯器和虛擬機(jī)等。

Perl 6支持多種編程范式,

Perl 6的結(jié)構(gòu)

摘要

源碼進(jìn)入解釋器,解釋器產(chǎn)生一個(gè)語法樹(syntax tree)。

語法樹進(jìn)入編譯器,編譯器產(chǎn)字節(jié)碼(bytecode)。

字節(jié)碼進(jìn)入優(yōu)化器(optimizer),優(yōu)化器產(chǎn)生更多的(更好的)字節(jié)碼。

Runtime然后來處理進(jìn)入的字節(jié)碼(可能是運(yùn)行他,不過也有可能把他轉(zhuǎn)化為Java字節(jié)碼,或.Net字節(jié)碼,或可執(zhí)行的Alpha 代碼(an alpha executable),或編碼的脫氧核糖核酸序列)。

Raku代碼示例

Hello, world例子

直接在安裝了Raku的系統(tǒng)上輸入以下代碼,打印出hello, world。

一百萬以內(nèi)的所有素?cái)?shù)

直接在安裝了Raku的系統(tǒng)上輸入以下代碼,打印出一百萬以內(nèi)的所有素?cái)?shù)。

階乘

參考資料 >

生活家百科家居網(wǎng)