我是一名具有Java,Ruby,Python和其他高级/动态语言背景的程序员。我面临一个问题,我需要编写一个Linux可执行文件代码(对于64和可能还有32位操作系统)并且这些语言似乎都不适合这个任务,因为我最终也必须分发运行时。
我真的不能写出不错的C代码,所以我想请教一个好的高级语言,它支持套接字通信和进程生成,可以生成C中间代码或独立的Linux可执行文件。
答案 0 :(得分:6)
对于 python ,您可以使用Freeze。
来自维基:
Freeze是一个“纯Python”实用程序 附带Python。你可以使用Freeze 编译Unix的可执行文件 系统
如果你想编写Python,但是你 不知道你的客户是否有Python 安装,使用这个!
答案 1 :(得分:5)
一些选择:
答案 2 :(得分:3)
如果你愿意放弃黑暗面,那么Perl会有一些实验性的“编译器”(即转换为C)。我不知道你对此感觉如何 - 许多Python狂热分子(并非所有Python用户都狂热)似乎都厌恶它而没有真正合理的理由,但我想人们必须有他们的宗教观点。
对于它的价值,对于大多数“更高级”的语言,任何真正的编译器基本上只是将程序与运行时捆绑在一起。如果你真的不想那样,你将不得不使用C(甚至C需要一个标准库,尽管没有可用的系统不会已经有一个)或C ++(参见前一个)。
您可以尝试Haskell,它应该直接编译为机器代码,但可能没有足够成熟的库来满足您的口味,并且在您尝试学习它时可能会伤害您的大脑。或者也许是Erlang,如果你需要严重的并发性,虽然我不知道它是否是专门的进程产生,或者只是对并发性的强烈支持。还应该有各种Lisp方言的编译器,但我再一次不知道语言/库对你的任务有多适合。
答案 3 :(得分:0)
您可能想要考虑Perl,因为它现在默认安装在大多数UNIX系统上。它不是一个更高级别的语言恕我直言,但它比写C更容易。我会抓取Accelerated C++的副本并用C ++编写。对于像这样的任务来说,学习C ++可能是值得的。一旦你开始使用Boost和STL编程,它就会真正感觉像是一种更高级的语言。