Pharo 只是 Squeak 的重新包装/品牌重塑吗?
我正在尝试学习一些 Smalltalk。首先发现的是 Squeak,但由于安全问题,它已经从 Gentoo ebuild 树中删除了,所以我决定寻找替代方案。
然后我通过Pharo "noreferrer">Seaside项目,我下载了Pharo 1.0包后,里面居然有一个SqueakVM!
所以,我的问题是:Pharo 只是 Squeak 的重新包装/品牌重塑吗? Squeak(捆绑不安全库)的那些安全问题是否仍然适用于 Pharo?
谢谢!
I'm trying to learn some Smalltalk. First found was Squeak, but since it has been removed from Gentoo ebuild tree because of security problem, so I decided to find an alternative.
Then I found Pharo through Seaside project, after I downloaded Pharo 1.0 package, there are actually a SqueakVM inside!
So, my question is: Is Pharo just a repackaging/rebranding of Squeak?
And are those security problem of Squeak (bundle unsecure libs) still applied to Pharo?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Pharo 最初是 Squeak 的一个分支,旨在“实用”Smalltalk 开发。这两个环境使用相同的虚拟机、相同的映像格式,并且共享几乎整个低级类库。他们使用相同的版本控制系统,并且(我上次检查过)也共享相同的 fileIn/fileOut 格式。
同时,我认为说 Pharo 只是一个品牌重塑是不公平的。这两个项目的方向越来越不同:虽然 Squeak 没有表现出想要取消其教育和研究包的迹象,但 Pharo 专注于打造一个适合企业和商业发展的小型、轻量级环境。 Squeak 关心的是与其之前版本保持向后兼容性,而 Pharo 则非常愿意以精简、加快速度以及总体简化库系统的名义打破兼容性。这两个系统现在拥有不同的编译器,很快就会有不同的 FFI(本机代码)接口,并且窗口系统也越来越不同。
出于这些和其他原因,我将 Pharo 视为目前主要与 Squeak 兼容的 Smalltalk,而不仅仅是 Squeak 的“重组”。随着时间的推移,我预计情况会越来越接近 Emacs/XEmacs,其中可以制作在这两种系统下运行的程序,但大多数人都以其中一种为目标。
我完全不知道你提到的安全问题是什么,所以我不知道情况是否比 Pharo 更好。如果您能概述一下您的想法,将会很有帮助。
Pharo started as a fork of Squeak to target "practical" Smalltalk development. The two environments use the same virtual machine, same image format, and share nearly the entire low-level class libraries. They use the same version control systems, and (last I checked) shared the same fileIn/fileOut format as well.
At the same time, I don't think it's fair to say that Pharo is merely a rebranding. The two projects are taking increasingly different directions: while Squeak shows no sign of wanting to remove its educational and research packages, Pharo is narrowly focused on making a tiny, lightweight environment suitable for corporate and commercial development. Where Squeak is concerned about keeping backwards compatibility with its previous releases, Pharo has been very willing to break compatibility in the name of slimming things down, speeding things up, and just generally simplifying the library system. The two systems now have different compilers, will soon have different FFI (native code) interfaces, and have increasingly divergent windowing systems.
For these and other reasons, I treat Pharo in my mind as a currently-mostly-Squeak-compatible Smalltalk, and not as a mere "rebanding" of Squeak. As time progresses, I would expect the situation to get closer and closer to Emacs/XEmacs, where it's possible to make programs that run under both systems, but most people target one or the other.
I have absolutely no idea what security problem you're mentioning, so I have no idea whether the situation's better than Pharo. It'd be helpful if you could outline what you have in mind.
虽然完全同意Benjamin的回答,但没有什么可以阻止这两个叉子在未来再次变得几乎相同。
这两个项目的目标都是一个带有一组可加载包的小内核。主要区别(至少从我所看到的,在 的讨论中) squeak-dev 的理念是如何实现这一目标。
一些人建议,未来 Pharo 和 Squeak 之间的主要区别将是默认加载哪些软件包。
While agreeing entirely with Benjamin's answer, there's nothing stopping the two forks from being nearly identical again in the future.
Both projects aim for a tiny kernel with a cluster of loadable packages. The main difference (at least from what I can see, in the discussions on squeak-dev is in the philosophy of how to reach that goal.
Some folk have suggested that in the future the main difference between Pharo and Squeak would thus be which packages come loaded by default.
我不是专家,但从我读到的内容来看,Squeak 中有很多东西(教育等)。 Pharo 是一款前叉,它试图去除许多多余的部分并使其更具商业等级。
Pharo 关于
另一篇讨论此问题的文章
I'm no expert, but from what I've read Squeak has quite a bit of stuff in it (educational etc). Pharo was a fork which attempts to remove a lot of the extra bits and make it more commercial grade.
Pharo About
Another article discussing this