Google为什么选择Java作为Android操作系统?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (69)

完整的问题

Google为什么选择Java作为Android操作系统而不是X语言?

其中X将是以下之一:

  • Python版本2.7或版本3
    • 它与Java一样强大
    • 有很多有用的第三方库
    • 由于它的动态特性,开发速度更快

  • C / C ++或ObjC
    • 这是很难发展的,但
    • 由于较少的开销运行速度更快
    • 将需要更少的硬件,特别是RAM
    • 与Java一样稳健,但当仅有一个模块出现故障时,更容易出现应用程序崩溃

我问这个问题时主要关心的是为什么Java而不是Python。如果其他人也感兴趣,我可以添加其他比较元素(语言)。

我非常清楚,我的问题会遭到一些反对和抨击,这就是为什么我说我不是一个全面的开发人员。我有我的个人意见来支持我,但即使如此,我仍然有很好的答案。我现在明白了,是的,Dalvik VM在ARM设备上运行Java字节码,但我不知道Java与其他任何Oracle / Sun Java规范有什么不同。我一直在玩Java和Python,并且在两个+ GUI(Swing和PySide)中至少编写了一个有用的程序,并且至少使用了一个第三方库。我这样做的顺序是Java,然后是Python,这让我意识到,从Python开始编写所有东西比在Java中编写所有东西要快得多。即使软件包比Java更容易管理,(感谢上帝的Eclipse和一些直观的点击)......然后嵌入式应用程序有多复杂,你需要额外注意类型检查和单元测试(和afaik,单元测试应该是这样的对于任何严肃的开发人员来说现在都是必须的

提问于
用户回答回答于

据Google称:

我们已经经历了一堆[Java的替代品],并认为它们都很糟糕。我们得出结论,我们需要根据我们需要的条款来协商Java许可证。 资源

这不是一个特别的描述性的原因,但我认为,这与Google从Google获得的结果一样好。

用户回答回答于
  • Google作为一家公司,使用Java很多。搜索功能是用Java编写的。据我从外面可以看出,Google 喜欢 Java。
  • 对于大多数任务来说,Java比Python快。我宁愿用Python工作,我也知道如何编写合理高效的Python,是的,PyPy确实在动摇,但Google需要在相对动力不足的手机处理器上提供快速体验,因此他们可能不认为Python是竞争者。
  • 像Python一样,Java对底层硬件的细节提供了很大的隔离。我认为所有的Android手机都是基于ARM的,但理论上你可以制造基于x86芯片的Android手机或者完全不同的手机,只要你做好移植Dalvik虚拟机的工作,你的代码就可以运行。(当然,除了编译本地ARM代码的应用程序之外)。

谷歌喜欢Java语言,但他们选择编写自己的虚拟机(“Dalvik”),而不是许可Java VM。编译Java可以直接翻译成Dalvik字节码。(甲骨文就此向谷歌起诉,甲骨文失败了。)

扫码关注云+社区