Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 最现代Smalltalks的集成IDE最让您害怕的是什么?_Ruby On Rails_Ruby_Ide_Smalltalk_Seaside - Fatal编程技术网

Ruby on rails 最现代Smalltalks的集成IDE最让您害怕的是什么?

Ruby on rails 最现代Smalltalks的集成IDE最让您害怕的是什么?,ruby-on-rails,ruby,ide,smalltalk,seaside,Ruby On Rails,Ruby,Ide,Smalltalk,Seaside,在我这样做时(特别是因为许多Ruby on Rails用户正在重新发现Smalltalk并将其视为下一个升级的web框架),我会遇到这样的问题:“是的,但是我如何使用我最喜欢的编辑器编辑Smalltalk代码?”或者“Smalltalk是否仍然坚持生活在自己的世界中?” 现在,我不太理解这些问题。我希望编辑器和调试器了解我当前的代码状态,并与支持Smalltalk的变更控制系统集成,这似乎很自然。使用外部编辑器、调试器或变更控制管理器似乎非常笨拙 那么,如果你不能用你最喜欢的编辑器编辑Small

在我这样做时(特别是因为许多Ruby on Rails用户正在重新发现Smalltalk并将其视为下一个升级的web框架),我会遇到这样的问题:“是的,但是我如何使用我最喜欢的编辑器编辑Smalltalk代码?”或者“Smalltalk是否仍然坚持生活在自己的世界中?”

现在,我不太理解这些问题。我希望编辑器和调试器了解我当前的代码状态,并与支持Smalltalk的变更控制系统集成,这似乎很自然。使用外部编辑器、调试器或变更控制管理器似乎非常笨拙


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

一切都不一样。想走到队伍的尽头吗?不是Ctrl-E。想逐字跳过几个单词吗?这不是Meta-F

文本编辑是一项基本的编程活动。搞乱这些输入就是搞乱了我内心深处的某些东西


编辑:这是1987年在comp.lang.smalltalk上看到的。

没有什么特别让我害怕的,但我发现在大众中开发API有点麻烦,即使我使用过其他smalltalk。浏览器的效果是,你倾向于一次只看到一点点API,而通常情况下,你不知道应该在哪里寻找特定的功能

Smalltalk在理解其工作原理方面也受到了范式转换的影响。当我在大学攻读学士学位时(在我第一次接触Smalltalk之后的一段时间),我有点幸灾乐祸地看着班上的其他人第一次学习系统(Squeak),克服了最初的范式障碍

我认为范式转换和功能在类库中的某种程度上的结合使得学习曲线有点陡峭。ST有一个相当陡峭的学习曲线来真正加快速度的名声——这主要是由于大型类库,以及大多数语言功能都隐藏在库中的某个地方这一事实

同样(令人遗憾的是),Java出现在20世纪90年代中期,占据了所有的注意力。主要的小规模谈判要么完全消亡,要么被出售给利基玩家。具有讽刺意味的是,Ruby重新唤起了人们对Smalltalk的兴趣,但对“还运行”过时的挥之不去的感觉却无济于事

请看一些关于在当今这个时代大量参与闲聊的优点(在我看来)的浮夸


如果有机会的话,我很乐意回到Smalltalk

对我来说,最大的障碍是,我在一个Smalltalk虚拟机上编写的代码在这么多年之后仍然与其他Smalltalk虚拟机不兼容

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

但归根结底,在Smalltalk世界中,除非所有虚拟机供应商达成共识,使用通用的基础标准API,否则我为一个虚拟机编写的Smalltalk代码在我决定切换时几乎肯定不会在其他虚拟机上运行

这也必然导致在切换虚拟机时,我对空间的部分知识被淘汰

请注意,我一生中几乎没有尝试过闲聊。我远非专家。这种理解来自于大约一个月前的对话

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


说了这么多,我总是想听更多关于Smalltalk的情况。我确实想尝试一下Smalltalk非常强大的开发环境(以及它的其他优点)。

我在Smalltalk上花的时间只有Squeak,因此我的观点可能不适用于其他Smalltalk环境


基于图像的方法让我担心的是,尽管Smalltalk环境中有很多精彩的东西,但它是一个有围墙的花园,很难与该环境之外的任何东西进行互操作。例如,如果我想使用像Yacc和Lex这样的外部工具,该怎么办?如果我想使用一些C或Python程序来生成Smalltalk代码呢?如果我想将Smalltalk与其他语言编写的代码混合在一起,在一个编辑器中编辑所有这些语言的代码,并将其存储在同一个源代码树中,该怎么办


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

虽然受限的Smalltalk环境使得依赖数据库驱动的源代码管理系统成为可能,但有时其他语言仍在为拥有合适的编辑器而挣扎,在当今时代,它使集成变得非常困难

使用Eclipse或Team Foundation Server这样的工具,您就可以习惯于将所有工具集成在一起。例如,如果创建了一个需求,它将自动链接到程序员承诺实现该需求的变更集。在Smalltalk世界中,以前不同的工具之间的这种“边界打破”几乎是不可能的,但是对于更大的项目、更大的团队、更高级别的抽象等等,您需要的工具不仅仅是一个花哨的edi