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

Pharo
來源:互聯(lián)網

Pharo是一個開源、跨平臺的smalltalk80編程語言和運行時實現(xiàn),基于Cog虛擬機。它包含所有運行Pharo系統(tǒng)所需的源代碼,提供實時對象操作、實時更新等特性。Pharo于2008年3月從Squeak v3.9分支而來,旨在為現(xiàn)代軟件工程和程序開發(fā)提供一個符合Smalltalk-80規(guī)范的環(huán)境。2012年04月20日,Pharo 1.4 發(fā)布,Smalltalk 開發(fā)環(huán)境

簡介

Pharo的目標是提供一個簡潔新穎的開源smalltalk開發(fā)環(huán)境。Smalltalk被公認為歷史上第二個面向對象的程序設計語言和第一個真正的集成開發(fā)環(huán)境(IDE)。Smalltalk由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC開發(fā)。Smalltalk對其它眾多的程序設計語言的產生起到了極大的推動作用,主要有:Objective-C,Actor,Java和Ruby等。90年代的許多軟件開發(fā)思想得益于smalltalk,例如設計模式、敏捷編程和重構等。Pharo的英文名稱源自希臘語(Φ?ρο?),意為燈塔,其標志上的最后一個字母O中包含一座燈塔。

Pharo繼承了Smalltalk的特點,如面向對象編程、立即對象身份切換、動態(tài)繼承、對象作為方法、可選的綠色線程、可定制的元類、易于使用代理對象等。Pharo的虛擬機具有JIT的多平臺支持,合并了分代垃圾回收器、ephemeron、轉發(fā)器等特性,并且具有快速對象枚舉、容易的調用棧操縱、AST元連接、相對較低的內存消耗、可定制的編譯器、可選的完全的對象內存持久化、可恢復的異常、快速對象序列化等特點。

Pharo的內建軟件特點包括已開發(fā)程序和開發(fā)環(huán)境的可選融合、現(xiàn)場對象檢查等。Pharo的一個顯著優(yōu)勢是在修改代碼時不必全程編譯,支持“編輯、繼續(xù)”的工作流程,與其他語言的“編輯、編譯然后運行”相區(qū)別。

特征性語法

Pharo語法基于了具有一些擴展的smalltalk80語言語法。這些擴展在現(xiàn)代Smalltalk方言中是常見的,例如用于動態(tài)數(shù)組的文字、用于字節(jié)數(shù)組的文字、用于比例十進制數(shù)的文字、pragma作為全功能的方法標注等。Pharo的語法非常簡單和極簡主義,基本語言元素可以體現(xiàn)在一張明信片上,其文法被歸類為LL(1)。Pharo使用Tonel作為其偏好的代碼序列化格式。

使用方法

Pharo意在為公司和研究人員開發(fā)一個現(xiàn)代Smalltalk。Pharo用于開發(fā)Seaside,一個Web應用框架。Pharo有兩個支持機構,面向公司的Pharo財團,和面向用戶的Pharo協(xié)會。一些公司在開發(fā)中使用Pharo,例如Seaside、Zinc、Moose、圖形庫、Roassal等。Pharo也被多個教育機構和研究機構使用,包括布宜諾斯艾利斯艾麗斯大學、伯恩大學、法語布魯塞爾自由大學等。

參考資料 >

生活家百科家居網