簡體   English   中英

所有Smalltalk實現都兼容嗎?

[英]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領域則完全不兼容。 兼容性順序如下:

  • 語法:因為S​​malltalk語法的簡單性幾乎完全兼容,
  • 基本類庫,如Magnitudes / Numbers,Collections,Streams,...相當兼容,可與Grease兼容庫增強的可配合性,
  • 時間,文件,TCP套接字 - 不兼容,但與運動兼容層兼容
  • FFI:無法兼容,GSoC項目在緩解差異的道路上
  • 圖形,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與S​​queak合作(網頁由它驅動),我現在推薦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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM