• 《浪潮之巅》——当年摩托罗拉系统输在Java慢,Android赢在C++


    最近看纸版《浪潮之巅》,以前看过谷歌黑板报的电子版,又看到摩托罗拉。

    电子版:http://www.google.com.hk/ggblog/googlechinablog/2008/04/blog-post_8710.html

    摩托罗拉早在七、八年前就看到统一手机操作系统平台的重要性。十年前,摩托罗拉和所有手机厂家的每一款手机都有自己独特的硬件和软件,开发工作重复性很高,手机应用程序之间也互不兼容。摩托罗拉试图打造一个通用的操作系统作为它今后手机开发的统一的平台。这个想法本来不错,但是摩托罗拉选错了平台,选中了 Java 。它从太阳公司请来了一位主管 Java 开发的副总裁主管手机通用操作系统的开发,同时摩托罗拉公司雇佣很多 Java 工程师来开发这个平台。但是,Java 有一个无法克服的先天不足,就是速度太慢。2004 年,该平台原型开发出来时,公司发现其速度只有实时速度的几分之一,即使硬件速度按照摩尔定理预测的速度增长,这个操作系统在几年内也无法实现实时。因此摩托罗拉不得不放弃该平台。此后,摩托罗拉又试图开发基于 Linux 的通用平台,但是由于内耗,进展也不顺利。而此时,Andy Robin 的小团队已经在 Linux 手机平台上取得了巨大的突破,这个团队不久便被 Google 收购,成为今天全世界开源的手机平台 Android 的原型。摩托罗拉由于执行力不足,终于失去了统一手机操作系统平台的最佳机会。

    Android当时选择了C++,为什么app又选择了Java?

    用Java做的Android app比iPhone的OBJ C慢很多。

    手机性能有限,难道Google这次觉得摩尔定律会挽救Java?

    从今年出了双核手机看,的确可以解决性能问题。不过性能高,耗电量也高。

    在手机电池没有突破之前,在手机上用Java是不合适的,耗费CPU和内存,导致耗电高。

    Android出了Java SDK,还好又推出了C++ NDK。

    而微软的Windows Phone 7采用C#,还没推出C++。将来也会出?

    参考资料:

    http://coolshell.cn/articles/3549.html

  • 相关阅读:
    Hubble.net 值得纪念的一天
    Hubble.net 0.5 版本开发完成
    计算任意数值的阶乘
    Hubble.net 建表语句 Create Table
    Linq to SQL 插入数据时的一个问题
    盘古分词中文人名识别算法介绍
    盘古分词功能简介
    最长不完全匹配子串频率计算eaglet 的解法
    背包分组问题的解法
    SharePoint 2010与2007的区别 配置基于表单的身份认证
  • 原文地址:https://www.cnblogs.com/sink_cup/p/android_cpp_ndk.html
Copyright © 2020-2023  润新知