Google App Engine——Java 还是 Python? [关闭]
Posted
技术标签:
【中文标题】Google App Engine——Java 还是 Python? [关闭]【英文标题】:Google App Engine -- Java or Python? [closed] 【发布时间】:2011-01-07 12:42:31 【问题描述】:我注意到这是在following post 中提出的。有没有人用过两者并且可以最终告诉我哪个更好?看起来python可能更容易实现和更快?
【问题讨论】:
更快地使用 CPU 还是更快地开发应用程序? Java 在速度方面可以“接近” C++,而 Python 通常远远落后。 根据我从 eBay 上获得的这个goodometer,Java 比 Python 好 31%。什么?!该死的东西坏了! 【参考方案1】:此时,这两种实现都相当成熟和可靠,并且它们的功能非常相似(我认为它还不是 100% 相等,但是,朝着那个方向发展)。所以,如果你已经只知道这两种语言中的一种,我会说“去吧”。如果您已经知道两者,则不需要我的建议;-)。
如果您两者都不知道,但很想尝试一些(或多或少;-)在 GAE 的 JVM 端支持的非 Java 语言(我相信这包括 Scala、服务器端 javascript、JRuby等),那么值得一试。如果您两者都不知道,并且不想冒险使用“非一流支持的语言”,那么我绝对同意您的观察,即 Python 学习速度更快(但我当然偏向于 Python; -)。
【讨论】:
【参考方案2】:我都使用过,我的结论是最大的区别在于库。理论上两者都有很好的库来做几乎所有事情,但实际上许多库不能与应用引擎一起使用:
所有 Java 库都是纯 Java 并且应该可以工作,但由于应用程序引擎不允许线程,甚至所有 *java.** 依赖项都不允许...让我们说有问题。 另一方面,Python 的库要少得多,而且很多只是本地 C 库 的包装器,它们也不起作用。 :(由于两个版本对库的支持都很差,我称之为平局。对于非常简单的“只是为了显示一些内容”-web 应用程序,您当然不需要任何外部库。
我现在使用 Python,因为它有规则。 ;)
【讨论】:
【参考方案3】:“更好”总是主观的。对于 GAE,选择哪个更适合您取决于您最熟悉的内容。如果您有 Java 经验,请使用它,如果您有 Python 经验,请使用它。我认为没有任何客观标准可以表明一个比另一个“更好”。
【讨论】:
【参考方案4】:您需要在这里考虑的不仅仅是语言。库、框架和工具也是相关因素。
如果您没有语言或 Web 开发方面的背景,我怀疑 Python 会更容易上手。它存在的时间更长,可能有更多的支持和知识可用。做一些简单的事情通常很简单,我认为 Python 框架更轻量级。
尽管如此,我宁愿使用 Java。但是,我的理由是有争议的,我不想拖钓:D。
【讨论】:
【参考方案5】:Python 是 Google AppEngine 最初设计的语言,它的支持时间比 Java 更长(最近才被包含在内)。此外,Python 的创建者 Guido van Rossum 在 AppEngine 的 Python 端工作。 Java 的创造者就不是这样了。
AppEngine 上关于 Python 的文档和文章似乎比 Java 多,可能是因为 Python 在 AppEngine 中使用的时间更长。
我的建议:使用 Python。 但这并不意味着 Java 是一个糟糕的选择,因为它不是,我只是认为 Python 在这种情况下是一个更好的选择。
【讨论】:
【参考方案6】:Python(主观而言)
【讨论】:
【参考方案7】:.py 为所有 gae 项目选择了here,原因是可读性更高、代码行更少、更高级别,同时 java 有更多方法来解决给定问题。与 python 相比,近似估计相同功能的代码是 java 的 1/10。
【讨论】:
【参考方案8】:我使用 python,因为总是可以在 appengine 中获得最好的 django
【讨论】:
【参考方案9】:我在 GAE 中使用 Groovy (Grails)。它具有 Java 的库世界,与 Python 相比,您应该具有大致相同的 LOC。是的,它不是 100% Java(如果你愿意的话),但非常接近。 BIG 不同之处大致在于 JavaVM 的速度,这也是 Groovy (Grails) 如此受欢迎的原因之一——尤其是像我这样不喜欢 Python 的人。)
【讨论】:
【参考方案10】:也许可以在 appengine 中使用 Jython,这样您就可以同时使用两者。关于 python 生产力与 Java 生产力的争论,我想说的一件事是,Java 具有出色的 IDE 来加速开发,而 Python 由于其动态特性而在该领域确实缺乏。因此,即使我更喜欢将 Python 用作一门语言,但我认为与使用新框架时的 Java 相比,它不会带来相当大的生产力提升。此外,我还无法让 python 版本的谷歌应用程序引擎在 Netbeans 中工作,这非常痛苦。
【讨论】:
以上是关于Google App Engine——Java 还是 Python? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Google App Engine——Java 还是 Python? [关闭]
在 Google App Engine 上解压缩 Java 中的大 blob
Google App Engine (Java) + Spring 管理的 PersistenceManager
在 Google App Engine/Java 中实现通配符搜索