以性能为中心的桌面程序:Ruby还是Go?

Jon*_*nta 1 ruby performance programming-languages image-processing go

我目前不知道这两种语言中的任何一种.一个软件的设计已接近完成.

有趣的是:

  • Ruby:愉快.遵循思考过程.为人类而制造.
  • 去:表现很好.编译时间快.

我不知道Ruby的表现.如果它比Go慢很多,我会选择后者(在这里谈论典型的速度).

我最终会学到这两个,但是现在,这将首先决定哪一个.

更新:这是一个非常基本的图像编辑程序.技术和特别感知的速度应该很高.启动时间尤为重要.

Krz*_*zyk 9

遗憾的是,这两种语言都不适合桌面图像编辑程序.

你没有告诉我们你在哪个桌面,我会假设它是Windows或Mac.

Ruby不合适,因为它失败了你的2个要求:

  • 它有一个糟糕的启动时间,因为在启动时它必须初始化一个相当复杂的VM,其中涉及加载其标准库的很大一部分
  • 与C/Java/Go相比,进行图像处理所需的计算非常慢

Go是静态链接的,并被编译为机器代码,因此它的启动时间非常好,速度接近于C(即它是您希望在C/C++之后选择的最快的语言).

但是,Go对编写Mac桌面应用程序没有任何支持(即它没有与Objective-C/Cocoa运行时的桥梁),并且对编写Windows桌面应用程序的支持非常差.

如果您正在使用Windows,那么为您提供快速启动时间的唯一语言是C/C++/Delphi.C#可能具有可接受的启动时间并且对于任务来说足够快(非常流行的paint.net是用C#编写的,你可以找到旧版本的代码,它是BSD许可的并重复使用它的很多代码).

对于Mac,我建议使用Objective C - 它是平台的本地语言,最好的文档和最好的免费开发工具(XCode).您可以使用https://github.com/philippec/Pixen作为起点.