我们需要编写一些可以在Mac OS X服务器和Ubuntu上编译和运行的软件。我们很乐意将Objective-C与Cocoa的所有优点结合使用,但是我们使用的部件的GNUstep实现都被破坏了(无论如何都在最新的Ubuntu包中。)
鉴于此,我们应该使用C ++(我真的不愿意),C或其他我们没有想过的东西?
这是一个非常耗费资源的服务器/后端进程,Java和该软件的其他解释版本的性能比我们编写的Objective-C概念要差得多,因此我们现在希望重写“汇编[1]”语言。
(注意:有些人可能认为这是主观的,但是在一天结束时我们确实需要完成工作,这里必须有一个合理适当的正确答案。)
[1]编译为本机CPU指令,而不是编译成“字节代码”,然后必须由解释器运行。
答案 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]语言。
答案 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选项与不同语言混合使用。