首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Google编程语言的使用

在Google编程语言的使用
EN

Software Engineering用户
提问于 2011-01-21 11:26:45
回答 6查看 27.9K关注 0票数 31

我听说谷歌使用Python、Java和C++。但我不知道的是,这些编程语言是如何使用的。我的意思是,Python、Java和C++在谷歌中的用途是什么。既然一种语言就足够了,他们为什么要使用多达3种编程语言呢?有人知道吗?

EN

回答 6

Software Engineering用户

回答已采纳

发布于 2011-01-21 16:06:10

正确的答案“因为不同的语言有不同的优势”已经说过了。但让我提供一些更详细的原因:

C++

C++有一个主要的优势,那就是它是最快的。不是因为Java和Python速度慢,而是因为在C++中,您可以更好地控制事情的执行方式。

例如,如果您正在编写一个需要不到30 if延迟的web服务前端,您可以调优C++代码以实现该性能。在像Java这样的托管语言中,要让GC完美地配合起来有点困难。

C++被用于许多‘谷歌魔术’,如BigTable,MapReduce和搜索goo。

Java

对于大多数标准应用程序来说,Java是一种非常好的语言。它具有很好的工具、大量的现有库,而且花费的调试时间也不多。

Java用于许多大型网站,用C或C++等较低级别的语言进行维护要困难得多。例如,我的理解是GMail是用Java编写的。

另外,请注意,您可以使用谷歌的Web将Java代码编译成JavaScript。因此,您所看到的令人敬畏的网页或小部件可能是作为Java类开始使用的。

Python

Python是一种非常好的通用语言,但它提供的细粒度控制甚至不如Java。(例如,有各种各样疯狂的JVM参数-- python提供了类似的配置吗?)

但是,Python非常适合于简单的网站和应用程序,否则它们将是可怕的shell脚本。例如,如果您想编写一个简单的测试用例来收集来自某些源的数据,那么处理它们并将它们上传到App将是一个不错的选择。(但是,如果您需要在1,000台机器上分发该处理,也许可以使用一种不同的语言.)

JavaScript

显然,谷歌使用了大量的JavaScript。然而,在谷歌上编写的JavaScript类型与你在野外看到的不一样。谷歌开发了一个优化的JavaScript编译器,允许您在注释中构造注释,以换取更好的优化和静态检查。见谷歌关闭

语言并不重要(互操作)

谷歌不使用一种语言的另一个原因是它不需要使用一种语言。几乎每一种现代编程语言都有调用外部库的设施,这些库可以用不同的语言编写。(见大口.)

另外,由于App运行JVM,所以可以运行任何编译成Java字节码的语言。(在谷歌,我们主要使用这里提到的语言,但这并不是一个很难的要求。)如果您想在App上使用闭包、Groovy或Scala,如果您包含正确的JAR文件,那么一切都应该正常工作。

开源

此外,谷歌在可能的情况下使用并贡献了大量的开源工具。这些项目通常是用上述语言之一编写的,并要求它在谷歌被“使用”。

底线是两件事:

  • 每种编程语言都有自己的优势。不从形势上利用这些优势将是一种耻辱。
  • 互操作工具包和兼容运行时的可用意味着在同一个运行时环境中使用多种语言是不那么痛苦的。
票数 99
EN

Software Engineering用户

发布于 2011-01-21 11:29:31

代码语言:javascript
复制
1 language is enough

也许一种语言足以充分完成许多不同的任务,但不同的语言有不同的长处、弱点和能力。

因为谷歌最有可能在很多不同的情况下编程,这是一个马匹的例子,课程,最好的工具,这项工作。

票数 18
EN

Software Engineering用户

发布于 2011-01-21 11:45:52

这三种语言被用于不同的目的。

Python可能用于编写自动化脚本。

用于实现复杂算法的C++。(索引器、爬行器、地图减少、大表)

用于web服务、web应用等的Java。

这些只是我的假设。

票数 9
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/38663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档