num*_*er5 16 smalltalk squeak pharo
我正在尝试学习一些Smalltalk.首先发现的是Squeak,但由于安全问题,它已经从Gentoo ebuild树中删除了,所以我决定找一个替代品.
然后我发现了Pharo通过Seaside项目,在我下载了Pharo 1.0软件包之后,里面竟然有一个SqueakVM!
所以,我的问题是:Pharo只是重新包装/重塑吱吱声吗?那些Squeak(捆绑不安全的库)的安全问题是否仍然适用于Pharo?
谢谢!
Ben*_*ack 15
Pharo最初是Squeak的一个分支,旨在实现"实用"的Smalltalk开发.这两个环境使用相同的虚拟机,相同的图像格式,并且几乎共享整个低级类库.它们使用相同的版本控制系统,并且(最后我检查过)也共享相同的fileIn/fileOut格式.
与此同时,我认为Pharo仅仅是品牌重塑是不公平的.这两个项目正朝着越来越不同的方向发展:虽然Squeak没有表现出想要取消其教育和研究方案的迹象,但Pharo勉强专注于创造一个适合企业和商业发展的小巧轻便的环境.在Squeak担心与其先前版本保持向后兼容性的地方,Pharo一直非常愿意以缩减内容的名义打破兼容性,加快速度,并且通常简化库系统.这两个系统现在具有不同的编译器,很快将具有不同的FFI(本机代码)接口,并且具有越来越多的不同窗口系统.
由于这些原因和其他原因,我认为Pharo在我看来是当前与Squeak兼容的Smalltalk,而不仅仅是对Squeak的"重新诠释".随着时间的推移,我希望情况能够越来越接近Emacs/XEmacs,在那里可以制作在两个系统下运行的程序,但是大多数人都会瞄准一个或另一个.
我完全不知道你提到的安全问题,所以我不知道情况是否比Pharo更好.如果您能够概述您的想法,那将会很有帮助.
虽然完全同意本杰明的回答,但是没有什么可以阻止两把叉子在将来再次相同.
这两个项目都针对一个带有可加载包集群的小内核.主要的区别(至少从我所看到的,在关于squeak-dev的讨论中,是关于如何实现这一目标的哲学.
有些人建议将来Pharo和Squeak之间的主要区别是默认加载哪些包.