我是一个刚刚开始涉足Smalltalk的Rubyist,我正在尝试选择一个实现来进行实验。看起来Squeak或Pharo似乎是一个不错的选择,但我很难找到当前的信息来帮助决定哪一个更好。我通过谷歌搜索发现的大部分内容来自几年前,可能不再具有相关性。
这几天有明显的喜爱吗?如果没有,每个的优点和缺点是什么?
在某种程度上,这是个人品味的问题。 Pharo是Squeak的岔路,意在使它成为Smalltalk的更现代版本,有时会牺牲对Squeak的向后兼容性。
Pharo是一个分支,也意味着它们共享很多共同点,从VM到类库的大部分。很多附加包都适用于它们,有些是用Squeak作为主要开发平台开发的,我想其中有更多数量是在Pharo(Seaside,Pier等)开发的。两种变体都有免费的介绍书:Squeak by Example和Pharo by Example,但Pharo one似乎更新。
我个人更喜欢Pharo,因为它给我带来更清洁,更现代的感觉。
有许多有趣的起点:
更多地了解您想要实现的目标,我们可以为您提供更好的帮助
可能有一个明显的喜爱,但你必须自己开发它。
Pharo和吱吱声有很多共同之处。但是,由于pharo是吱吱声的分叉,它也意味着它们彼此分离。
如果你从学习smalltalk的角度来看,那么两者是平等的。如果从支持的技术角度来看,那么情况可能会有所不同。大多数开发人员要么是哨子,要么是诡计。开发人员创建了库和技术支持框架。如果一个库的开发人员是一个pharoer我会期望该库在pharo中比在squeak中更好地维护(反之亦然)。
你可能应该看看两者并尝试你想要实现的东西。在大多数情况下,体验将是相同的。一旦它停止相同,你可能已经知道你最喜欢的了。
现在最吸引力的是Pharo,所以我会去那里。亚军是Visual Works。请注意,没有Smalltalk方言现在有很多牵引力。
我的推理如下。今天,Smalltalk用于两件事:Web编程和研究。对于两者而言,Pharo占据上风(Seaside使用Pharo作为其默认平台,而里尔大学则推出了最多的Smalltalk论文 - 全部基于Pharo)。
Smalltalk使用的第三件事虽然越来越少,但正在开发银行软件。在那里,大众仍然很受欢迎。此外,大众拥有最好的物体检查员。
我正在做一系列关于如何使用Squeak from very the start的教程,所以我很自然地偏向于Squeak。当然,我不怕使用不同的分叉来最容易地展示特定的包。例如,我使用一键式码头图像来介绍Seaside和Pier,这基本上就是Pharo。
虽然不是严格意义上的Smalltalk实现,但不应忽视Newspeak。还不是一个生产环境,但如果你在Alan Kay和Nicolas Wirth之间挣扎,语言专家Newspeak就像Smalltalk和Modula2的结合。
实例化还有VisualAge(VAST),最近的版本是Smalltalk / X,它们共享一个类似的界面,而这个界面又与Pharo或Squeak截然不同。我使用Pharo进行研究,宠物项目和一些概念证据。我的公司软件包是在VAST / VASmalltalk / VisualAge中完成的,它们都是您喜欢的名称。另外,请记住,GNUSmalltalk。