我注意到这个问题在以下帖子中被提出。有没有人两种语言都用过,可以明确地告诉我哪种更好?看起来Python可能会更容易实现和更快一些?
我注意到这个问题在以下帖子中被提出。有没有人两种语言都用过,可以明确地告诉我哪种更好?看起来Python可能会更容易实现和更快一些?
目前为止,这两种实现都相当成熟和稳定,它们的功能非常相似(我认为它们还不完全相等,但是朝着这个方向发展)。因此,如果你已经掌握了其中一种语言,我建议“只需去做”。如果你已经掌握了两种语言,那么你不需要我的建议;-)。
如果你两种语言都不会,但是想要尝试一些在GAE JVM端支持的非Java语言(我相信这包括Scala、服务器端Javascript、JRuby等),那么值得一试。如果你两种语言都不会,并且不想冒险使用“非一流支持的语言”,我绝对同意你的观察:Python更容易学习(但当然我有偏见,偏爱Python ;-)。
“更好”的定义是主观的。对于GAE,哪种语言“更好”取决于你对哪种语言更为熟悉。如果你熟悉Java,就用它,如果你熟悉Python,就用它。我认为没有客观标准能够指出其中一种比另一种“更好”。
在这里,你需要考虑的不仅是语言,还有库、框架和工具等相关因素。
如果你既没有语言背景,也没有网页开发经验,我认为Python更容易入门。它已经存在了很长时间,可能会有更多的支持和知识可用。通常做一些简单的事情是比较容易的,而且我认为Python框架更加轻量级。
尽管如此,我更喜欢使用Java。然而,我的理由是有争议的,我不想引起争端:D。
Python是Google AppEngine最初设计的语言,并且得到了比Java更长时间的支持(Java相对较近才被包括在内)。此外,Python的创造者Guido van Rossum也在AppEngine的Python方面工作。而Java的创造者则不具备这一点。
似乎关于AppEngine上Python的文档和文章比Java要多,可能是因为Python在AppEngine中使用的时间更长。
我的建议:使用Python。 但这并不意味着Java是一个糟糕的选择,因为它并不是,我只是认为在这种情况下Python是更好的选择。
Python(主观而言)
对于所有 GAE 项目,选择使用 .py 文件作为编程语言(此处)的原因是代码更易读、行数更少,同时 Python 比 Java 更高级,可以用更少的代码解决同样的问题。大致估计,使用 Python 编写相同的函数所需的代码量只有 Java 的十分之一。
我使用Python,因为在AppEngine中始终可以获得Django的最佳表现
我使用Groovy(Grails)与GAE进行编程。它有Java的库集合,与Python相比,大致具有相同数量的代码行。是的,它不是100%的Java(如果你想要的话),但非常接近。 最大的区别大概在于Java虚拟机的速度,这也是Groovy(Grails)变得如此受欢迎的原因之一 - 尤其是像我这样不喜欢Python的人。)
在appengine中可能可以使用Jython,因此您可以同时使用两者。关于Python生产力与Java生产力的争论,我想说的一件事是,Java具有优秀的IDE来加速开发,而Python在这个领域确实缺乏,因为它的动态性质。因此,即使我更喜欢使用Python作为语言,但我不认为它与Java相比在使用新框架时能够提供相同的生产力提升。此外,我还没有能够让Google应用引擎的Python版本在Netbeans中工作,这真是一件非常痛苦的事情。