41

我是一个刚开始涉足 Smalltalk 的 Rubyist,我正在尝试选择一个实现来进行试验。Squeak 或 Pharo 似乎是一个不错的选择,但我无法找到当前信息来帮助决定哪个更好。我通过谷歌搜索找到的大部分内容都是几年前的,可能不再相关。

这些天有明确的最爱吗?如果不是,各有什么优缺点?

4

8 回答 8

33

在某种程度上,这是个人品味的问题。Pharo 是 Squeak 的分支,旨在使其成为更现代的 Smalltalk 版本,有时以不坚持向后兼容 Squeak 为代价。

Pharo 是一个分支,也意味着它们有很多共同点,从 VM 到类库的大部分。许多附加软件包都可以与它们一起使用,有些是使用 Squeak 作为主要开发平台开发的,我猜其中有一些是在 Pharo(Seaside、Pier 等)中开发的。两种变体都有免费的介绍书:Squeak by Example 和 Pharo by Example,但 Pharo 似乎更新了。

就我个人而言,我更喜欢 Pharo,因为它给了我更干净、更现代的感觉。

于 2011-12-08T08:00:28.563 回答
15

学习 Smalltalk 的另一个选择是Cuis

从描述:

Cuis 与其他 Squeak 变体的不同之处在于它对系统复杂性持积极态度:随着系统变老,它们通常会变得更加复杂。新功能被添加为下面的任何内容之上的层,有时没有真正理解它,而且几乎总是没有修改它。... 避免这种情况的唯一方法是了解整个系统,并始终重新设计整个系统。保持简单和一致。

代码在 Github 上。最新的图像文件在这里

Cuis 有大约 600 个班级。这使得一个人理解一切是非常可行的。稍后您可能想要切换到 Squeak、Pharo 或其他 Smalltalk,因为绝大多数类和方法都是兼容的。

于 2013-02-08T08:17:40.357 回答
13

有许多有趣的可能起点:

  • 海边——一键做web开发;
  • MOOSE一键进行软件再造,创建模型浏览器和可视化;
  • Pharo 一键跟随 Pharo-by-example 书(比吱吱作响的书更新),图书馆更干净;
  • 用于清理图形模型的 Cuis (Morphic);
  • 如果您对教育方面感兴趣,请点击 EToys;
  • 轻轻一按即可进入拥有大量有趣工具和玩具的环境。

详细说明您想要实现的目标,我们可以更好地帮助您

于 2011-12-08T15:17:51.157 回答
9

现在最具吸引力的是Pharo,所以我会去那里。亚军是 视觉作品。请注意,目前没有 Smalltalk 方言具有很大的吸引力。

我的推理如下。今天,Smalltalk 用于两件事:Web 编程和研究。对于两者来说,Pharo 都占了上风(Seaside 使用 Pharo 作为其默认平台,而里尔大学推出了最多的 Smalltalk 论文——全都建立在 Pharo 之上)。

Smalltalk 的第三个用途是开发银行软件,尽管这种用途正在减少。在那里,大众汽车仍然很受欢迎。此外,大众拥有最好的对象检查器。

于 2011-12-08T21:06:13.413 回答
7

可能有一个明显的最爱,但你必须自己开发它。

Pharo 和 squeak 有很大的共同点。但由于 pharo 是 squeak 的一个分支,这也意味着它们彼此不同。

如果你从学习smalltalk的角度来看,那么两者都是平等的。如果从支持技术的角度来看,情况可能会有所不同。大多数开发人员要么是squeakers,要么是pharoers。开发人员创建库和技术支持框架。如果图书馆的开发人员是 pharoer,我希望图书馆在 pharo 中比在 squeak 中更好地维护(反之亦然)。

您可能应该看看两者并尝试您想要实现的目标。在大多数情况下,体验将是相同的。一旦它不再是相同的,你可能已经知道你最喜欢的了。

于 2011-12-08T14:10:14.763 回答
5

我正在做一系列关于如何 从一开始就使用 Squeak的教程,所以我很自然地偏向于 Squeak。当然,我不害怕使用不同的 fork 来最容易地展示特定的包。比如我用一键码头图片介绍Seaside和Pier,基本就是Pharo。

于 2011-12-22T16:32:35.133 回答
5

尽管不是严格意义上的 Smalltalk 实现,但不应忽视 Newspeak。还不是生产环境,但如果您在 Alan Kay 和 Nicolas Wirth 作为语言专家之间纠结, Newspeak就像 Smalltalk 和 Modula2 的结合。

于 2013-09-11T19:04:35.957 回答
3

还有 Instantiations 的 VisualAge (VAST) 和最近的版本是 Smalltalk/X,两者共享一个相似的界面,而这又与 Pharo 或 Squeak 大不相同。我将 Pharo 用于我的研究、宠物项目和一些概念验证的东西。我的企业软件包是在 VAST/VASmalltalk/VisualAge 中完成的,无论您喜欢哪个名称。另外,请记住,GNUSmalltalk。

于 2011-12-09T07:29:24.353 回答