因为我正在驾驭Smalltalk的复兴浪潮(特别是因为许多Ruby-on-Rails人员正在重新发现Smalltalk并将 Seaside 视为他们下一个升级的Web框架),我得到的问题是“是的,但我如何使用我最喜欢的编辑器编辑Smalltalk代码?”或者“Smalltalk还坚持生活在一个独立的世界吗?”。

现在,在1981年首次体验过Smalltalk ,我不太了解这些问题。我希望编辑器和调试器能够精通我当前的代码状态,并与支持Smalltalk的变更控制系统集成,这似乎很自然。使用外部编辑器或调试器或更改控制管理器似乎非常尴尬。

那么是什么让你最不能用你最喜欢的编辑器编辑Smalltalk中的五行方法,或者使用你最喜欢的非Smalltalk感知变更控制系统呢?

有帮助吗?

解决方案

一切都不同。想要走到尽头?它不是Ctrl-E。想通过语言跳过几句话?这不是Meta-F ......

文本编辑是基本编程活动。弄清楚这些投入是在弄乱我心中的一些东西。

编辑:这里是有人在 1987 的comp.lang.smalltalk上要求emacs键绑定

其他提示

没有什么特别让我感到害怕,但是我发现大众汽车公司的API工作有点苦差事,即使我使用过其他的小工具。浏览器的效果是您倾向于一次看到API,并且通常不会立即显示您应该查找特定功能的位置。

Smalltalk也从范式转变中受到了一些影响,以了解它是如何运作的。当我在大学攻读学士学位时(在我第一次遇到Smalltalk之后的某个时间)我得到了一些Schadenfraude,看着班上的其他人越过最初的范式驼峰,因为他们学习了第一个系统(Squeak)时间。

我认为范式转换和功能的结合有点隐藏在类库中,这使得学习曲线有点陡峭。 ST因其相当陡峭的学习曲线而声名鹊起 - 其中大部分是由于大型类库以及大多数语言功能都隐藏在库中的事实。

同样(而且很遗憾),Java在20世纪90年代中期出现并抓住了所有的思想分享。主要的Smalltalks要么已经完全死亡,要么被卖给了小众玩家。 Ruby非常讽刺(以愉快的方式)重新唤起人们对Smalltalk的兴趣,但是对于“也跑”过时的挥之不去的看法并没有帮助。

请参阅我的这篇文章,了解有关优点的一些说明(如我看到他们在这个时代大量参与Smalltalk。

如果有机会,我会很高兴回到Smalltalk。

我用过的唯一的Smalltalk是Squeak,所以我的观点可能不适用于其他Smalltalk环境。

基于图像的方法让我感到担忧的是,虽然您在Smalltalk环境中拥有美妙的东西,但它是一个有围墙的花园,难以与该环境之外的任何东西进行互操作。例如,如果我想使用Yacc和Lex等外部工具怎么办?如果我想使用某些C或Python程序生成Smalltalk代码怎么办?如果我想将Smalltalk与一堆用其他语言编写的代码混合在一起,在一个编辑器中编辑所有这些语言的代码并将它们全部存储在同一个源代码树中,该怎么办?

我确信通过让Smalltalk环境调用系统函数来控制外部工具,可以解决所有这些问题。但让外部工具控制Smalltalk环境有多容易?换句话说,如果我希望Smalltalk只是另一个组件,而不是一切的主人呢?

对我来说,一个重要的阻碍就是我编写一个Smalltalk VM的代码仍然是STILL,这些年来,与其他Smalltalk VM不兼容。

我明白为什么会这样:Smalltalk的核心是一组非常小的公理和关键词。这意味着在学习Smalltalk 30分钟后,您已经在学习API库而不是语言本身。我喜欢这种语言设计方法。

然而,在Smalltalk世界中,可以归结为,除非所有VM供应商之间达成共识以拥有共同的基本标准API,否则为一个VM编写的Smalltalk代码几乎肯定不会在其他VM上运行我决定切换时的虚拟机。

这也是我在切换虚拟机时废弃部分空间知识的必然结果。

请注意,我的生活中几乎没有尝试过Smalltalk。我远非专家。这种理解来自于大约一个月前与 James Robertson 交谈。

我想说的另一点是,Seaside实际上运行在大多数流行的Smalltalk虚拟机上。我想知道他们必须为自己建立的标准API有多少(应该是什么),以实现这一壮举。

尽管如此,我总是很乐意听到更多有关Smalltalk状态的消息。我想要尝试Smalltalk非常强大的开发环境(及其他好东西)。

我知道现在已经很晚了,但对我来说最大的烦恼是,没有一个小伙伴没有真正优秀的编辑。这是我无法理解的事情。使用文本是如此重要,而且“支持”....

总是这只是盯着一种方法然后你需要有一些方法查找器或其他浏览器来检查另一种方法。这是我真的不喜欢的......

虽然受限制的Smalltalk环境在数据库驱动的源代码控制系统上做了类似依赖的事情,但在其他语言仍然难以拥有适当编辑器的情况下,它会使集成今天非常努力。

使用Eclipse或Team Foundation Server等工具,您已经习惯了将所有工具相互集成。例如。如果创建了需求,它将自动链接到程序员承诺实现该需求的更改集。这种“边界破坏”在Smalltalk世界中,以前不同的工具几乎是不可能的,但是对于更大的项目,更大的团队,更高的抽象级别等等,您需要的工具不仅仅是一个花哨的编辑器,而是在整个软件开发生命周期中为您提供帮助。

无法使用键盘导航或支持平台UI行为。

虽然这确实不需要一个令人难以置信的文本编辑器(写得很好)Smalltalk,能够在保持双手键盘的同时在环境中移动是非常有用的(在我的情况下,对于减少必不可少) RSI)。我只是在尝试使用VisualWorks的检查器,箭头键甚至无法正常工作来上下移动列表。当我打到空格键时,我回过头来。叹息。

对于Windows世界,没有像Dolphin Smalltalk这样的东西。 IDE太棒了。如果你想尝试的另一个优质产品是Visualworks,它运行良好,有一个非常快的VM,文档非常好。

我过去曾用过这两种,没有什么可担心的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top