簡體   English   中英

Squeak/Pharo/Newspeak Smalltalk VM 有什么區別?

[英]What's the difference of Squeak/Pharo/Newspeak Smalltalk VMs?

我在學習 Smalltalk 時看到了 3 個不同的虛擬機。 他們是 Squeak/Pharo/Newspeak。 他們之間有什么區別?

Squeak 和 Pharo 是 Smalltalk 的不同方言,而 Newspeak 是不同的語言,盡管受到啟發並且在許多方面與 Smalltalk 和 Self 相似。

至於 Squeak 和 Pharo,由於 Pharo 是 Squeak 的分支,它們都運行在同一種虛擬機上,它們依賴於相同的 VM 指令集和原語集。

至於 Squeak 和 Pharo 虛擬機,有幾個版本,但最重要的 2 種是經典的 Squeak VM 和新的基於 jit 的 Cog 虛擬機。 但是它們都執行通常相同的指令集。

當我們使用 sqeak 和 pharo VM 時,有趣的是您可以破解自己的 VM,源代碼可用並且是用 Smalltalk 子集編寫的,並且有工具集允許您進行更改並構建自己的 VM。 Mariano Martinez Peck 有一系列很棒的帖子描述了如何使用 VM,這是介紹性帖子:

http://marianopeck.wordpress.com/2011/03/31/journey-through-the-vm/

Smalltalk 的虛擬機非常基礎。 它包含一組直接從 Smalltalk 代碼引用的原始指令。 這使得實際的 VM 易於插入。 所以 Squeak 常用於虛擬機實驗。

Pharo 是一個替換 Squeaks 基本庫的項目,因為 Squeak 的外觀和感覺有些過時。 它使用 Squeak VM,大部分兼容,但界面完全不同。

在 Squeak 的 VM 端有 vanilla VM。 據我所知,它是作為 Squeak 項目的一部分開始的,並且仍在使用。

不久前,VM 的研究員 Eliot Miranda 宣布他正在為 Squeak 開發一種新的優化 VM。 Cog 是開源的,可以與 Squeak 和 Pharo 一起使用。 它仍在積極開發中,但比基本 VM 更快。

新話是一種完全不同的動物。 這是創建一種語言的實驗,該語言使用純消息傳遞作為該語言的唯一原語。 它基於 Squeak VM,但不是真正的 Smalltalk。 您可以在http://bracha.org/Site/Newspeak.html找到更多信息。

到目前為止,Squeak 和 Pharo 都共享同一個 VM。 Newspeak 有它自己的,它起源於 Squeak VM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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