[英]Are all Smalltalk implementations compatible?
我是Smalltalk的新手。 我打算嘗試Seaside框架。 Pharo似乎是最合適的選擇。
我的計划是在Mac OS X上開發,在BSD上進行服務。 但是,還沒有Pharo的BSD端口,但還有其他一些像Squeak這樣的Smalltalk端口。 但我擔心任何不相容的情況。 所以我要問任何我應該關心的不相容性。
Pharo是Squeak的一個分支。 根據您的使用情況,它仍然大部分兼容。
其他Smalltalks如GNU Smalltalk,Gemstone,Dolphin或VisualWorks具有更多不兼容性。
用於在各種Smalltalk實現上移植Seaside框架的Grease兼容性層可以幫助您解決一些兼容性問題。
Smalltalk方言在語法和基本功能上或多或少兼容,而在GUI領域則完全不兼容。 兼容性順序如下:
你沒有提到哪個BSD,但FreeBSD有一個端口用於Squeak 3.9。
Pharo和Squeak使用相同的VM,所以你應該沒問題。
最近Squeak VM取得了一些重大進步 - 除了通常的錯誤修正之外,Eliot Miranda還釋放了他的Cog VM。 我懷疑在* BSD上你必須搗亂並從源代碼構建你的VM。 或者成為devel / squeak-cog-vm端口的端口維護者?
編輯:應該補充一點,我不是故意建議使用Squeak 3.9 圖像 - 正如尼爾指出的那樣,這是古老的。 雖然吱吱聲圖像和虛擬機半獨立地改變,所以不依賴於在Cog VM上運行的Pharo映像或支持閉包的映像(我忘記了正確的名稱)應該在FreeBSD的lang / squeak的VM上運行得很好安裝。 (順便說一句,lang / squeak和lang / squeak-dev安裝相同版本的VM。)
根據這個網頁http://www.seaside.st/ Seaside與Squeak合作(網頁由它驅動),我現在推薦Squeak over Pharo(但我不做Seaside) - 4.1版本Squeak是早期版本的巨大改進。
我在Mac OS-X上的Phaide上開發Seaside,並使用Gemstone部署在Ubuntu LTS上。 今天,Cog還沒有與Seaside兼容,但我希望現在很快就能改變它。 它是在6月20日(三周前)首次公布的,並且已經在廣泛使用之后進行了第一次錯誤修復。 Lukas提供了一系列失敗的單元測試。
對於生產/商業用途,Pharo比Squeak具有一些明顯的優勢。 它只需要更少的代碼,更清潔,大多數主要的Seaside開發人員都在使用Pharo。
如果您在構建BSD虛擬機時遇到問題,請在vm-dev maling列表中詢問。 圖像將正常工作,您可能會遇到插件問題。 Pharo在同一個vm上只是一個不同的圖像,所以它應該像吱吱聲圖像一樣工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.