Linux独立的可执行代码

我是一名程序员,拥有Java,Ruby,Python和其他高级/dynamic语言背景。 我正面临一个问题,那就是我需要编写一个Linux可执行文件(对于64位和可能的32位操作系统),而且这些语言都不适合这个任务,因为我最终也不得不分发运行时。

我真的不能写出体面的C代码,所以我想问一个好的高级语言的build议,它支持套接字通信和进程产卵,产生C中间代码或独立的Linux可执行文件。

Solutions Collecting From Web of "Linux独立的可执行代码"

一些选择:

  1. 学习C或C ++。 它能有多难? 这可能很有趣。
  2. 使用gcj 。 这是gnu java编译器。
  3. 使用RubyScript2Exe

对于python,你可以使用Freeze 。

来自wiki:

Freeze是Python提供的“纯Python”工具。 您可以使用Freeze为Unix系统编译可执行文件。

如果你想编写Python,但是你不知道你的客户端是否安装了Python,使用这个!

如果你愿意进入黑暗的一面,那么Perl有一些实验性的“编译器”(即转换为C)。 我不知道你对此有什么感觉 – 很多Python狂热分子(并不是所有的Python用户都是狂热分子)似乎都以一种没有真正正当理由的热情来讨厌它,但我想人们必须有他们的宗教观点。

对于什么是值得的,对于大多数“高级”语言,任何真正的编译器基本上只是将你的程序与运行时绑定在一起。 如果你真的不想这样做,你将不得不使用C(甚至C需要一个标准的库,尽管没有可用的系统已经没有 )或C ++(见前)。

你可以尝试Haskell,它应该直接编译到机器代码,但是可能没有足够成熟的库来满足你的口味,并且当你尝试学习时可能会伤害你的大脑。 或者也许Erlang,如果你需要并发性不好,虽然我不知道它是特别的进程产卵或只是通常强大的支持并发。 那里也应该有各种Lisp方言的编译器,但是我再一次不知道这个语言/库可能适合你的任务。

您可能想要考虑Perl,因为它现在默认安装在大多数UNIX系统上。 这不是一个更高级的语言恕我直言,但它比写C更容易一些。我会抓住一个加速C + +的副本,并写在C + +。 学习C ++来完成这样的任务可能是值得的。 一旦你开始使用Boost和STL进行编程,它可以感觉像是一个更高级的语言。