Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
Windows 在Smalltalk中有没有不使用VM的开发方法?_Windows_Smalltalk_Vm Implementation - Fatal编程技术网

Windows 在Smalltalk中有没有不使用VM的开发方法?

Windows 在Smalltalk中有没有不使用VM的开发方法?,windows,smalltalk,vm-implementation,Windows,Smalltalk,Vm Implementation,我真的开始学闲聊了。现在我正在使用,但是有没有办法不用虚拟机在Smalltalk中开发,但是像IDE这样的东西?使用虚拟机不会阻止您使用IDE。您应该问的问题是哪个IDE具有良好的Smalltalk集成。这绝对是Smalltalk IDE的发展方向 也许其他人在考虑其他IDE,因为您已经在使用Squeak,并且似乎并不满足。Squeak没有提供什么,你到底在寻找什么?Squeak是一个IDE。“IDE”的概念可以说来自Smalltalk!您是否想要一个“面向文件”的工作流?通常答案是否定的,因为

我真的开始学闲聊了。现在我正在使用,但是有没有办法不用虚拟机在Smalltalk中开发,但是像IDE这样的东西?

使用虚拟机不会阻止您使用IDE。您应该问的问题是哪个IDE具有良好的Smalltalk集成。这绝对是Smalltalk IDE的发展方向


也许其他人在考虑其他IDE,因为您已经在使用Squeak,并且似乎并不满足。Squeak没有提供什么,你到底在寻找什么?

Squeak是一个IDE。“IDE”的概念可以说来自Smalltalk!您是否想要一个“面向文件”的工作流?通常答案是否定的,因为Smalltalk不仅仅是一种语言,它也是一种环境,包括您对它所做的更改。你可以把它转换成一个更静态的系统,它有一个框架,而不是一个由活的对象组成的宇宙,但这是另一回事。下一步,可可基本上做到了这一点。所以答案可能是“当然,它被称为Objective-C。”


编辑:综上所述,请参阅Logan对GNU Smalltalk的引用。

在吱吱作响的图像中工作真的很有趣

环境一开始有点混乱,但它非常强大

在实时系统中工作使探索和改变事物变得容易。您可以在屏幕上查看一个对象的状态,使用它,浏览对象类,运行一些代码,并查看世界的变化

Smalltalk浏览器也更注重“浏览”代码,而不是编写代码。您可以快速找到使用类的所有位置(从编译器到http服务器),并了解它们是如何组合在一起的


试着适应一下这个形象。我认为使用外部IDE会使您失去一些东西

Smalltalk中的映像类似于VMware机器:它只是运行Smalltalk应用程序的冻结状态。所有Smalltalk都使用图像,使用图像进行开发是所有Smalltalk中进行开发的首选方式。类似地,所有Smalltalk都编译成字节码并在虚拟机上运行,就像Java、.NET、Python和其他语言一样。但这与你开发Smalltalk程序所用的程序以及体验的本土性完全无关

正如其他人提到的,Squeak实际上附带了一个非常好的IDE,即所有Squeak。然而,我不认为这是你真正想要的。据我所知,你的问题是以下两个或其中一个:

  • 我可以用我熟悉的工具和方法开发Smalltalk吗?例如,在普通文本编辑器中逐个文件
  • 我可以使用Smalltalk制作外观正常的应用程序吗
  • 我可以用我熟悉的工具为Smalltalk开发吗?

    回答第一个问题:对于几乎所有的Smalltalk,没有。Smalltalk的文件格式设计为在Smalltalk IDE中操作,而不是直接在文本编辑器中操作。这就是为什么Squeak、Pharo、VisualWorks、VisualAge和我使用过的其他所有Smalltalk都避免让您直接编辑源代码,而是提供自己的自定义IDE。因为这些工具是跨平台的,所以它们的IDE通常不是本地的,而是模拟的跨平台感觉。虽然您可以直接为所有这些系统编辑源代码(例如,您可以为Squeak图像编辑
    foo.sources
    文件,然后使用更改浏览器加载编辑),但实际上没有人这样做

    在这方面,有两种方法可以让你更快乐。首先,正如其他人所指出的,它打破了传统模式,事实上,它有一种编辑友好的、基于文件的格式。GNU Smalltalk在我上次检查的Windows下运行不好,并且是GPL许可的,这可能是您的一个问题。但它确实允许您使用自己选择的编辑器。vim和Emacs都有用于GNUSalltalk的语法突出显示,虽然我不知道有用于NetBeans、Emacs或其他主要IDE的包,但编写一个并不困难

    如果你唯一担心的是Squeak看起来“难看”,那么你可以选择第二种方法。Dolphin Smalltalk是Smalltalk的Windows本机版本。虽然它的未来目前令人困惑,但你可能希望看看它,因为如果Squeak困扰你的话,你可能会在它的原生环境中感觉更自在

    我可以制作外观像本机的应用程序吗?

    如果您想要真正的本地小部件,那么目前几乎没有选择。Dolphin提供本地小部件,但正如我前面提到的,它的未来目前还不确定。Squeak、VisualWorks和GNU Smalltalk提供了很好的FFI系统,因此您可以制作本地UI,但这样做会比较困难和复杂。所以,基本上:如果这对你非常重要,那么,现在,使用Smalltalk可能不是你最好的选择

    请注意,对于许多应用程序,具有本机小部件并不重要。游戏和信息亭当然不需要使用标准的小部件,但如果你环顾四周,也很少有主流应用会使用它们。微软自己的产品因具有定制的外观和感觉而臭名昭著,Chrome在其运行的每个平台上都显得格格不入,尽管iTunes在Windows系统上看起来真的很奇怪,但它仍然非常受欢迎,等等。网站上过多的界面也让人们更好地适应了非标准界面。因此,有一种真正的可能性是你根本不在乎——而且Squeak的界面具有高度的主题性,当你接近出货时,让它看起来“漂亮”并不困难

    (GNU Smalltalk确实有非常好的Gtk+绑定,这可能是您可以接受的,这取决于您正在尝试做什么。有一些主要的应用程序,例如GIMP和Pidgin,是针对Gtk+编写的,看起来非常简单