3

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

有任何想法吗?

4

10 回答 10

11

我会说 Java,如果仅仅是因为 Android(或者,至少是 SDK)是用 Java 编写的,而且他们费尽心思编写自己的解释器/VM。

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

于 2009-01-23T12:41:08.003 回答
5

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

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

它很可能是 JavaScript。我记得Steve Yegge正在为 JavaScript 开发 Rails 等价物。请参阅Stevey 的博客 Rants:Rhino on Rails

Java 不太可能,但可能。Java servlet 容器往往是重量级的。

C++ 是可能的(Native ClientChrome是沙盒 C++ 代码的两个示例),但目前不太可能。

于 2009-01-23T14:35:10.490 回答
5

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

语言需要:

  • 可沙盒化
  • 可控
  • 可扩展
  • 与蟒蛇不同
  • 吸引想要编写大规模可扩展应用程序的人
  • 可以轻松地在开发人员计算机上运行
  • 在 Linux 上运行

可沙盒

该语言必须可以安全地在 Google 服务器上运行。language/VM/modules|libraries 的某些部分必须能够被禁用和/或替换。

可控

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

可扩展

谷歌需要能够在语言中添加东西,这几乎意味着一种开源语言。我认为他们对现有语言的内部分支不感兴趣。

与 Python 不同

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

呼吁大规模的可扩展性

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

开发人员计算机

该语言需要能够在 Windows、Mac 和 Linux 上易于安装、维护和开发。它必须要么完全可以使用文本编辑器进行管理,要么已经拥有用于在这些平台上进行编辑和管理的可靠工具。

Linux

谷歌服务器将运行这些程序,因此这些程序必须能够安全地传输到谷歌服务器上并在那里运行,并且必须能够由谷歌应用引擎负载均衡器控制,所以它们必须是统一的。

头脑风暴

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

所以别的东西。

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

所以我倾向于使用单声道的 C#。我认为这是最有意义的。我知道这听起来很可怕,但最近该语言的开发人员正在考虑对 C# 进行相当多的更改,以合并类似 python 的动态类型,诸如此类。

结论

所以这就是我的想法。如果他们能做到这一点,他们将能够超越竞争对手。Mono 在 MIT X11 许可下(截至 2008 年 4 月),我猜 Miguel de Icaza 将来可以与关键团队成员一起被谷歌聘用。

所以我的预测是 C#。

于 2009-02-03T19:22:17.550 回答
1

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

于 2009-01-30T09:27:59.467 回答
1

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

于 2009-02-03T18:34:22.310 回答
1

是的,JavaScript。

为什么?

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

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

作为托管服务,此模型非常健壮,并且比 Java 之类的模型更容易控制。您通过线程实现在效率上损失的东西,您只需成为拥有大量机器的 Google 即可获得。在 Google 的规模上,管理开销超过了一周中的每一天的性能。越简单、越健壮越好,这就是流程模型。

第三,技术速度。JS 现在进展得非常快。看看更多的商业企业编写 JS 解释器/编译器/运行时,以及语言本身的进步。JS脚本已经火速冲到了最前面。

最后,人气。

虽然在服务器端并不流行,但 JS 仍然可能是世界上部署最多的语言,因此也是世界上最容易访问的语言。这个星球上的每个 hack 网页设计师都在成为一名 JS 程序员,不管他们喜欢与否。

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

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

于 2009-02-03T19:04:50.597 回答
0

JRuby on Rails

于 2009-01-23T12:43:59.777 回答
0

已经使用 Python。有关于 PHP 的传言,考虑到它的受欢迎程度,这是合乎逻辑的选择。

于 2009-02-03T18:21:57.140 回答
0

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

不过,Javascript 将是最有趣的。

于 2009-02-03T18:38:14.333 回答
-2

我曾经听说 Google 最喜欢 Python!

于 2009-01-23T12:51:15.830 回答