什么';Squeak/Pharo/Newspeak Smalltalk虚拟机的区别是什么?

什么';Squeak/Pharo/Newspeak Smalltalk虚拟机的区别是什么?,smalltalk,pharo,squeak,vm-implementation,newspeak,Smalltalk,Pharo,Squeak,Vm Implementation,Newspeak,在学习Smalltalk时,我看到了3个不同的虚拟机。它们是Squeak/Pharo/Newspeak。它们之间有什么区别?到目前为止,Squeak和Pharo共享同一个虚拟机。Newspeak有自己的,它起源于Squeak VM。Smalltalk的虚拟机非常基本。它包含一组直接从Smalltalk代码引用的基本指令。这使得实际的虚拟机很容易插拔。因此,Squeak通常用于虚拟机的实验 Pharo是一个取代Squeaks基本库的项目,因为Squeak的外观和感觉有些过时。它使用Squeak虚拟

在学习Smalltalk时,我看到了3个不同的虚拟机。它们是Squeak/Pharo/Newspeak。它们之间有什么区别?

到目前为止,Squeak和Pharo共享同一个虚拟机。Newspeak有自己的,它起源于Squeak VM。

Smalltalk的虚拟机非常基本。它包含一组直接从Smalltalk代码引用的基本指令。这使得实际的虚拟机很容易插拔。因此,Squeak通常用于虚拟机的实验

Pharo是一个取代Squeaks基本库的项目,因为Squeak的外观和感觉有些过时。它使用Squeak虚拟机,并且基本兼容,但接口完全不同

在Squeak的VM端有香草VM。据我所知,它最初是Squeak项目的一部分,现在仍在使用

不久前,VM的研究员Eliot Miranda宣布他正在为Squeak开发一种新的优化VM。Cog是开源的,可以与Squeak和Pharo一起使用。它仍在积极开发中,但比基本VM更快


新语是一种完全不同的动物。这是一项实验,旨在创建一种使用纯消息传递作为语言唯一原语的语言。它基于Squeak VM,但不是真正的Smalltalk。你可以在上找到更多信息。

Squeak和Pharo是Smalltalk的不同方言,而Newspeak则是不同的语言,尽管受到启发,在许多方面与Smalltalk和Self相似

至于Squeak和Pharo,由于Pharo是Squeak的分支,它们都运行在同一种虚拟机上,它们依赖于相同的VM指令集和原语集

至于Squeak和Pharo虚拟机,有几种版本,但最重要的两种是经典的Squeak虚拟机和新的基于jit的Cog虚拟机。但它们都执行相同的指令集

当我们在sqeak和pharo VMs时,有趣的是,您可以攻击自己的VM,有可用的源代码,有用Smalltalk子集编写的源代码,还有一个工具集,允许您进行更改并构建自己的VM。马里亚诺·马丁内斯·佩克(Mariano Martinez Peck)的一系列文章描述了如何使用虚拟机。以下是介绍性文章:


Pharo的目的远不止“更换过时的界面”。这是关于进化的(艾伦·凯曾说过这是斯奎克的目的——要“淘汰这该死的东西”)。从版本2.0开始,您可以阅读Pharo vision Pharo需要一个特殊的更新VM,它仍然向后兼容较旧的Pharo/Squeak版本。