當前位置:編程學習大全網 - 源碼下載 - perl6簡介

perl6簡介

雖然它提供了與Perl 5兼容的模式,但Perl 6可以被視為壹種新的計算機編程語言,因為它的語法與Perl 5不同。

Perl 6具有豐富的現代語言特性。作者計劃重新定義正則表達式,並添加函數式編程語言的特性,使其成為壹種可進化的語言。為了保證Perl 6和Perl社區的持續穩定發展,Perl 6編譯器需要用Perl 6重寫。為了保證Perl語言原有函數庫的重用,編譯器還計劃提供與Perl 5語言兼容的模式。

由於Perl 6語言的語法特點和要求,Perl 6編譯器的實現非常復雜,開源社區的資源也比較貧乏。所以Perl 6編譯器的開發相當緩慢。

與Ruby比較

壹般來說,會考慮Ruby vs. Python(可能是因為同樣的縮進設計),但對於壹些相關的討論和采訪,Ruby vs. Perl 6的可能性最大。CPAN排名第壹,同時也是Perl 6開發者的Audrey曾經說過:“Ruby就是沒有到處打廣告的Perl 6”[1]。Ruby的創始人——松本幸宏(まつもとゆきひろ/,Matz)在接受O'Reilly采訪時也提到“Ruby從Perl借鑒了很多...從紅寶石的命名也可以看出馬茨的遠大誌向:“珍珠是六月的誕生石[3],而紅寶石是七月的誕生石。我認為Ruby這個名字作為Perl之後的壹種語言的名字確實很合適。"

Perl之父拉裏·沃爾在文章《拉裏·沃爾論Perl、宗教和……》中說[5]:“我在很多方面還是喜歡Ruby的,因為那些部分都是借用Perl的。:-)”“我也喜歡Ruby的C

但拉裏·沃爾也在文章中說:“Ruby的主要問題是,它的最小驚奇原則可能會把人引入歧途,就像隱藏的詞法範圍壹樣。問題是減少誰的驚喜?專家和初學者對不同的事情感到驚訝。從小程序寫大程序的人和從頭寫大程序的人,可能會對不同的東西感到驚訝。”

Perl6的結構

摘要

源代碼進入解釋器,解釋器生成語法樹。

語法樹進入編譯器,編譯器產生字節碼。

字節碼進入優化器,優化器生成更多(更好)的字節碼。

然後運行時處理傳入的字節碼(它可能運行它,但也可能將其轉換成Java字節碼,或者。Net字節碼,或者Alpha可執行文件,或者編碼的DNA序列)。

源代碼

+ - +

|解析器|

+ - +

語法樹

+ - +

|編譯器|

+ - +

字節碼

+ - +

|字節碼優化器|

+ - +

更好的字節碼

+ - +

|運行時間|

+ - +

計劃

解釋器將允許妳改變這些規則。規則集定義了主要的語言(Perl、C、Python、Java等。),並且可以為其他語言編寫新的規則(比如沒有$ @%)的Perl。

運行時引擎將是基於寄存器的虛擬機,而perl5的虛擬機將是基於堆棧的。

重寫Perl的主要原因之壹是修復混亂的XS(XS指的是用C/C++子程序擴展Perl)。除了用於執行Perl的函數,Perl5沒有用於擴展的API,因此擴展Perl需要大量繁瑣的工作。Dan和Larry的目標是盡可能簡單地使用C擴展(Brian Ingerson出色的Perl5內聯模塊為此指出了壹些方向)。每個利用過XS的人都在等待他的死亡。

Perl5是這樣設計的,有c就能運行,最近壹些虛擬機(JVM,。NET)都取代了C,因此,我們會看到自己的虛擬機不僅可以在有C的時候運行,還可以方便地將字節碼輸入到其他虛擬機中。

  • 上一篇:計算機科學與技術畢業論文
  • 下一篇:nfc功能的手機如何當門禁卡?
  • copyright 2024編程學習大全網