Google app引擎最有可能使用哪种编程语言,为什么?

时间:2009-01-23 12:23:28

标签: google-app-engine

他们的路线图表明他们的下一个版本将于2009年3月发布,并且他们将添加一种新的“运行时语言”。我希望它是Java或PHP,但真的不确定,并且想知道哪种语言是最可能的,所以我可以相应地计划我计划使用谷歌应用引擎托管的项目。

有什么想法吗?

10 个答案:

答案 0 :(得分:11)

我会说Java,如果只是因为Android(或者至少是SDK)是用Java编写的,他们就会编写自己的解释器/ VM。

如果不是Java,那么Ruby就是我的猜测。不知道为什么,但感觉非常合适。

答案 1 :(得分:5)

Google内部用于生产代码的语言仅限于C ++,Java,Python和JavaScript。

Apps Engine已经运行了Python,那么下一步是什么?

最有可能是JavaScript。我记得Steve Yegge正在开发一个与JavaScript等效的Rails。请参阅Stevey's Blog Rants: Rhino on Rails

Java不太可能,但可能。 Java servlet容器往往很重。

C ++是可能的(Native ClientChrome是沙盒C ++代码的两个例子),但此时不太可能。

答案 2 :(得分:5)

我想说你必须考虑几个因素:

语言需要:

  • 是沙盒
  • 可控制
  • 可扩展
  • 与python不同
  • 呼吁那些想要编写大规模可扩展应用程序的人
  • 可以轻松地在开发者计算机上运行
  • 在Linux上运行

Sandboxable

在Google服务器上运行该语言必须安全。必须能够禁用和/或替换部分语言/ VM /模块库。

可控

请注意Google如何使用不受公司控制的语言? Python的BDFL GvR适用于Google。 关于Javascript的Dunno。 Java的开源程度足以满足他们的口味。 所以语言的演变必须至少允许谷歌的输入。

可扩展

Google需要能够为语言添加内容,这几乎意味着开源语言。我不认为他们对现有语言的内部分支感兴趣。

与Python不同

Python成熟,易学,功能强大。新语言必须与python有显着差异,否则,为什么不使用Python。也许是一种非常实用的语言?

对大规模可扩展性的吸引力

执行时间不一定是关键,但语言必须能够支持轻松启动和停止,轻松配置到其他服务器,并吸引那些编写大规模可伸缩应用程序的人。

开发者计算机

语言需要能够在Windows,Mac和Linux上轻松安装,维护和开发。它必须完全可以通过文本编辑器进行管理,或者已经拥有可靠的工具,可以在这些平台上进行编辑和管理。

的Linux

Google服务器会运行这些程序,因此这些程序必须能够在谷歌服务器上安全传输并在那里运行,并且必须能够由Google App Engine负载均衡器控制,因此它们必须是unixy。 / p>

激荡

我不认为它会是Java(太重,很难修改VM),php(太漏洞),ruby(很难修改VM),C ++(不能沙箱(我知道)) 。我不认为它也会是JavaScript,因为它难以模块化,而且它不是一种容易学习的语言。这也排除了Lisp - 难以学习的部分。

所以别的。

请记住,他们希望采用该工具,并且需要一种可供很多人和许多企业采用的语言。

所以我倾向于使用单声道的C#。我认为这是最有意义的。我知道这听起来很可怕但是最近语言的开发人员正在考虑改变C#,以便加入类似python的动态类型,就像那样。

结论

这就是我的想法。如果他们能够实现这一目标,他们将能够超越竞争对手。 Mono是MIT X11许可证(截至2008年4月),我猜Miguel de Icaza将来可以与Google主要团队成员一起聘用。

所以我的预测是C#。

答案 3 :(得分:1)

我也会说Java,所以他们可以用JRuby支持Ruby,与Jython,Groovy等兼容Python。

答案 4 :(得分:1)

我猜C#只是为了坚持微软。

答案 5 :(得分:1)

Yup,JavaScript。

为什么?

首先,它适合。虽然Python和JavaScript之间存在明显的体系结构差异(特别是OOP系统),但它们比它们更远的距离更近,因此将GAE Python API转换为A JS API不应该是设计或实现的重大飞跃。最后,JS API可能与Python API具有相同的风格。

第二,安全。 JS运行时习惯用法与Python习语完全相同,因为有效地,您将使JS进程为每个请求彼此独立地运行。也就是说,经典的Apache forking模型。

作为托管服务,这个模型非常强大,比Java更容易控制。通过线程实现您在效率方面的损失,只需使用数以千计的机器就可以获得Google。在Googles规模上,管理开销胜过一周中每天的表现。更简单,更健壮,更好,这就是流程模型。

第三,技术速度。 JS现在很快就开始了。看看编写JS解释器/编译器/运行时的大量商业企业,以及语言本身的进步。 JS剧本以复仇的方式冲向前线。

最后,受欢迎。

虽然在服务器端不受欢迎,但JS仍然可能是世界上部署最多的语言,因此也是世界上最易于使用的语言。无论他们喜欢与否,地球上的每个黑客网页设计师都会成为JS程序员。

现在,我不知道你遇到了多少网页设计师,但我遇到的大部分都不是程序员。因此,为他们采用JS对他们来说将是一个剪切和粘贴,痛苦的经历,但它几乎是现代网络的要求。利用这种技能来推迟并在后端进行一些轻量级处理,在相同的语言中,对这些人来说将是一个福音。在通常可怕的环境中,不要忽视熟悉的力量(尽管取得了进步,计算机对绝大多数人来说仍然是“可怕的”)。

JS,它不再是玩具了,它是一个沉睡的巨人。真。

答案 6 :(得分:0)

答案 7 :(得分:0)

已经可以使用Python了。有关于PHP的传闻,考虑到它的流行,这是合乎逻辑的选择。

答案 8 :(得分:0)

我也会在Java上投入2美分。他们有大量已经用Java编写的工具(GWT任何人?等等)

虽然,Javascript最有趣。

答案 9 :(得分:-2)

我曾经听说Google最喜欢Python!