gpt4 book ai didi

windows - 有没有不用虚拟机就可以在 Smalltalk 中开发的方法?

转载 作者:可可西里 更新时间:2023-11-01 12:42:12 26 4
gpt4 key购买 nike

我真的开始学习 Smalltalk。现在我正在使用 Squeak ,但是有什么方法可以在不使用 VM 的情况下在 Smalltalk 中进行开发,但是类似于 IDE?

最佳答案

Smalltalk 中的镜像类似于 VMware 机器:它只是一个正在运行的 Smalltalk 应用程序的卡住状态。所有 Smalltalks 都使用图像,使用图像进行开发是在所有 Smalltalks 中进行开发的首选方式。同样,所有 Smalltalks 都编译为字节码并在虚拟机上运行,​​就像 Java、.NET、Python 和其他语言一样。但这与您用于开发 Smalltalk 程序的程序以及体验的原生体验完全无关。

正如其他人所提到的,Squeak 实际上带有一个非常好的 IDE,即 Squeak 的全部。但是,我认为这不是您真正要问的。据我所知,您的问题是:

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

  • 我可以使用我熟悉的工具为 Smalltalk 进行开发吗?

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

    在这方面,有两条路线可能会让您更快乐。首先,正如其他人所指出的, GNU Smalltalk打破常规,事实上,它有一个编辑友好的、基于文件的格式。上次我检查过的 GNU Smalltalk 在 Windows 下运行不佳,并且是 GPL 许可的,这对您来说可能是个问题。但它确实允许您使用您选择的编辑器。 vim 和 Emacs 都有针对 GNU Smalltalk 的语法高亮显示,虽然我不知道 NetBeans、Emacs 或其他主要 IDE 之一的包,但编写一个包并不难。

    如果您唯一担心 Squeak 看起来“丑陋”,您可以采用的第二种方法是使用 Dolphin Smalltalk . Dolphin Smalltalk 是 Windows 本地版本的 Smalltalk。虽然目前它的 future 令人困惑,但您可能希望看看它,因为如果 Squeak 打扰您,您可能会在它的原生环境中感觉更自在。

    我可以制作外观原生的应用程序吗?

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

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

    (GNU Smalltalk 确实有非常好的 Gtk+ 绑定(bind),这对您来说可能是可以接受的,这取决于您要做什么。有一些主要的应用程序,例如 The GIMP 和 Pidgin,是针对 Gtk+ 编写的,在 Windows 中看起来还不错。不过,请原谅您不认为这是一个可行的选择。)

    我的推荐

    老实说,我强烈建议您找到一个带有您喜欢的 IDE 的 Smalltalks 并使用它。与尝试使用文本编辑器相比,您的工作效率将大大提高,无论它是像 Eclipse 那样经过修饰的编辑器,还是像 Scite 这样蹩脚的编辑器。如果你走其他路线,你会错过很多 Smalltalk 的伟大之处:没有 REPL、低劣的调试、低劣的代码浏览等等。

    如果您坚持使用传统的开发环境,最好的选择是 GNU Smalltalk。在使用它之前,您应该仔细评估您是否对它在 Windows 上的稳定性和性能感到满意,并确保您对它的 GPL 许可证的含义感到满意,但如果您满意,那么它是唯一真正认可的 Smalltalk基于文件的开发模式。

    关于windows - 有没有不用虚拟机就可以在 Smalltalk 中开发的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1925498/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com