适用于Mac OS X和Linux兼容性的最佳编译语言

时间:2009-09-28 04:27:30

标签: objective-c linux compatibility gnustep

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

鉴于此,我们应该使用C ++(我真的不愿意),C或其他我们没有想过的东西?

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

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

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

11 个答案:

答案 0 :(得分:20)

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

答案 1 :(得分:6)

您想要创建哪种软件?

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

答案 2 :(得分:6)

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

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

答案 3 :(得分:6)

我建议使用Objective-C来实现便携性和易用性。如果你想在Linux上运行,你不会使用Cocoa,但是Objective-C是一种非常好的语言,它可以让你轻松地与常规的C代码连接。

答案 4 :(得分:4)

java怎么样?

如果您需要一些非常原生的东西,您可以随时使用JNI

答案 5 :(得分:3)

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

答案 6 :(得分:2)

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


  1. 通过'编译',我假设您的意思是“生成本机可执行文件”。

答案 7 :(得分:0)

我猜想C / C ++将是最明显的平台独立语言。

  

(我真的不愿意)

为什么不呢?你计划开发什么样的软件?

答案 8 :(得分:0)

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

答案 9 :(得分:0)

我会投票支持ANSI C或C ++以及POSIX。

答案 10 :(得分:0)

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

1)如果你需要一个GUI,你需要选择一个跨平台的ee.g QT,wx等用户界面或者为OSX和Linux编写不同的用户界面 - 苹果首选方式,我认为让你看起来最好看并感受到每个平台

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

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

相关问题