8

我们需要编写一些可以在 Mac OS X 服务器和 Ubuntu 上编译和运行的软件。我们很想使用具有 Cocoa 优点的 Objective-C,但是我们使用的部分的 GNUstep 实现被破坏了(无论如何在最新的 Ubuntu 包中。)

鉴于此,我们应该使用 C++(我真的不想)、C 还是其他我们没有想到的东西?

这是一个非常耗费资源的服务器/后端进程,该软件的 Java 和其他解释版本的性能比我们编写的 Objective-C 概念证明要差得多,因此我们现在希望重新编写一个“已编译[1]”语言。

(注意:有些人可能会认为这是主观的,但归根结底,我们确实需要完成工作,这里必须有一个合理适当的正确答案)。

[1] 编译为本机 CPU 指令,而不是编译为必须由解释器运行的“字节码”。

4

11 回答 11

20

我会在 C 中实现核心业务逻辑,并花时间为每个平台的代码编写原生的 GUI 包装器——Objective-C /Cocoa 和 GTK/gnome 等等。

于 2009-09-28T04:40:55.950 回答
6

您要创建什么样的软件?

最可能的答案是 C/C++。

于 2009-09-28T04:34:00.643 回答
6

考虑使用 Python。您可以使用wxPython在两个平台上编写外观原生的应用程序。

Python 带有 Max OS X 和 Ubuntu 桌面,您的应用程序可以被打包,使其外观和行为与任一平台上的任何其他本机应用程序一样。

于 2009-09-28T04:49:24.763 回答
6

我会推荐 Objective-C 的可移植性和易用性。如果你想在 Linux 上运行,你不能使用 Cocoa,但是 Objective-C 是一种非常好的语言,它让你可以轻松地与常规 C 代码交互。

于 2009-09-28T05:09:12.243 回答
4

爪哇怎么样?

如果你需要一些真正原生的东西,你总是可以使用JNI

于 2009-09-28T05:13:35.430 回答
3

如果您对 GUI 开发感兴趣,FreePascal可能与Lazarus一起使用如何?

于 2009-09-28T15:53:17.657 回答
2

假设您想创建一个具有图形用户界面的应用程序,我认为 C++/QT 是最有可能的候选者。我不知道任何其他编译的[1] 语言在 OSX 和 Linux 上具有成熟的工具包支持。


  1. 通过“编译”,我假设您的意思是“生成本机可执行文件”。
于 2009-09-28T06:38:20.410 回答
0

我会大胆猜测 C/C++ 将是最明显的平台无关语言。

(我真的宁愿不要)

为什么不?你打算开发什么样的软件?

于 2009-09-28T04:30:33.773 回答
0

这取决于你想做什么。如果您正在寻找非常高性能的应用程序,您的选择是 C/C++。如果您正在寻找快速开发,您的选择是 Java/Python。

于 2009-09-28T04:40:25.733 回答
0

我会投票支持 ANSI C 或 C++ 加上 POSIX。

于 2009-09-28T09:04:20.567 回答
0

鉴于下面的其他答案,我认为您需要做出两个选择

1)如果你需要一个 GUI,你不需要选择一个跨平台的 UI 库,比如 QT、wx 等,或者为 OSX 和 Linux 编写不同的 UI 库——Apples 首选的方式,我认为让你获得最好的外观和感觉每个平台

2)您的应用程序是否需要快速计算,因为这可能会推动您的语言选择,例如 C++/C/Objective-C 与 python

这两个选项是分开的,因为您可以将大多数 GUI 选项与不同的语言混合使用。

于 2009-09-28T10:17:45.007 回答