为什么谷歌选择Java作为Android操作系统?[已关闭]

2022-09-02 12:58:43

完整问题

为什么谷歌选择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,单元测试现在对于任何认真的开发人员来说都应该是必须的)......但无论如何,感谢您到目前为止的答案。这是一个学习的过程。;)


答案 1

根据谷歌:

我们已经讨论过一堆[Java的替代品],并认为它们都很糟糕。我们的结论是,我们需要根据我们需要的条款协商Java的许可证。

这不是一个特别描述性的原因,但它和你从谷歌得到的一样好,我想。


答案 2
  • 谷歌作为一家公司,经常使用Java。搜索功能是用 Java 编写的。据我所知,从外面看,谷歌喜欢Java。

  • 对于大多数任务,Java比Python更快。我宁愿在Python上工作,我知道如何编写相当高效的Python,是的,PyPy确实在撼动事情,但谷歌需要在相对不足的手机处理器上提供快速的体验,这样他们可能不会认为Python是竞争者。

  • Java与Python一样,提供了与底层硬件细节的大量隔离。我认为所有的Android手机都是基于ARM的,但从理论上讲,你可以基于x86芯片或完全不同的东西制作Android手机,只要你很好地移植Dalvik VM,你的代码就会运行。(当然,除了编译了本机ARM代码的应用程序。

Google喜欢Java语言,但他们选择编写自己的VM(“Dalvik”),而不是授权Java VM。编译的Java可以直接转换为Dalvik字节码。(甲骨文就此起诉谷歌。甲骨文输掉了这场官司。