我应该使用Python还是Ruby来创建跨平台的编译应用程序?
我喜欢Ruby,但也不反对Python。(我有两年多的Ruby经验,Python大概只有两个月。)
总之,我需要创建一个可以在Mac、Windows(其实还有Linux)上运行的服务,这个服务要能从不同的文件夹里取一些文件,然后把它们发送到S3上。我可以在Windows上用.NET,但我不想用Objective-C,而且我希望在所有平台上代码都能保持一致。
所以我查了一下,发现我应该可以把Ruby或Python编译成字节码,然后分发一个解释器来运行这些代码。
不过,我是不是错了,认为Python在编译代码方面支持更好?比如说.pyc
字节码?
另外,我希望最终用户不能看到我的源代码,但我也不会为了这个去拼命。
谢谢!
2 个回答
0
用你熟悉的任何编程语言就可以。我会用Python来开发Windows桌面应用程序,最终用户根本分辨不出这是用Python写的,还是用C#或C++写的应用。
3
你确实可以分发Python的字节码(.pyc
文件),这样就不用直接分发你的Python源代码了。
根据这个回答,一些Ruby的实现也支持编译成字节码。
所以,听起来根据你选择的Ruby实现,使用Python和Ruby之间的差别可能不大。
要记住,字节码并不难被反编译,所以如果有人想要,他们还是能了解到你程序内部的一些信息。使用混淆工具可以让反向工程变得更困难(但仍然不是不可能)。关于这方面的讨论可以在这个Python问题和这个Ruby问题中找到更多信息。