有人会详细说明Smalltalks据称是杀手工具链吗?

时间:2011-02-22 06:17:02

标签: smalltalk

我已经读过,使用smalltalk是一种乐趣,因为工具集使一切变得如此简单。版本控制,调试等。

这是真的吗?如果是这样,你可以详细说明。哪些工具优于Python或Ruby可能拥有的任何工具?

1 个答案:

答案 0 :(得分:25)

Smalltalk将开发人员工具,应用程序和库绑定在一个名为 image 的实时系统中。 image 包含系统中每个对象的状态,包括类和方法的代码,这些代码也表示为对象。系统的每个部分(例如编译器或 String 类)都可以由开发人员调整,就像他自己的代码一样容易,并且可以立即保存和恢复整个系统的状态。

Smalltalk与其自己的工具集如此紧密相关的事实常常会驱逐生活在vi或emacs中的开发人员,但它提供了无与伦比的集成度。

代码编辑立即生效,检查器窗口允许您实时显示变量状态,您可以从几乎可以键入的任何位置评估代码位。

发生错误时,无论系统发生错误多深,都会立即显示源级调试器。调试器使用您通常使用的相同代码编辑器组件,以便您可以在现场轻松进行更改。与编译语言相比,Python和Ruby确实可以很容易地调整源文件,但是将编辑器指向正确的文件仍然需要一些工作(或者一些额外的工具)。

Smalltalk工具链的另一个优点是可以轻松阅读和理解代码。 Smalltalk浏览器是IDE的核心部分。顾名思义,它专注于“浏览”系统的类和方法。例如,它允许您快速查找调用方法的所有位置或浏览类继承层次结构。这些工具还可以帮助您通过检查其状态轻松剖析正在运行的应用程序。

Smaltalk环境还为自动代码重构和单元测试提供了良好的支持。事实上,自动重构和xUnit系列测试框架最初是为Smalltalk开发的。

Smalltalk工具链是迄今为止我使用过的最好的工具链,但我必须承认它的特性可能会击退一些开发人员。例如,因为代码不存储在常规源文件中,所以您无法使用自己的编辑器或版本控制系统,并且必须执行所有操作 Smalltalk方式