【问题标题】:Google App Engine -- Java or Python? [closed]Google App Engine——Java 还是 Python? [关闭]
【发布时间】:2011-01-07 12:42:31
【问题描述】:

我注意到这是在following post 中提出的。有没有人用过两者并且可以最终告诉我哪个更好?看起来python可能更容易实现和更快?

【问题讨论】:

  • 更快地使用 CPU 还是更快地开发应用程序? Java 在速度方面可以“接近” C++,而 Python 通常远远落后。
  • 根据我从 eBay 上获得的这个goodometer,Java 比 Python 好 31%。什么?!该死的东西坏了!

标签: java python google-app-engine


【解决方案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 中工作,这非常痛苦。

                    【讨论】:

                      猜你喜欢
                      • 2010-11-08
                      • 2013-11-18
                      • 2012-04-14
                      • 2012-12-22
                      • 2013-03-30
                      • 1970-01-01
                      • 2017-10-12
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多