文章图片
Android想要大发展 , 必须选一条足够宽的赛道 , 首先要考虑的就是开发者受众 , 按当时来看 , 编程语言排位 , 前两名就是Java和C语言 , 虽然C语言的受众也很多 , 但是满足不了简单易上手 。 C语言虽然语法不难 , 但是想提高很难 , 就指针这块想用好就要几年时间 。 而Java就不一样 , 首先有JVM直接把指针的问题平滑了 , 这样开发者就不用担心指针会用不好 , 因为JVM层面已经给做好了 , 那么就只有Java这一条路了 。
当时2005年Google接手Android的时候 , 上层大部分实现应该就是用的Java , 如果Google换其他语言 , 成本很大 , 其实2005-2008年这段时间 , Google大量的工作就是修bug和加新功能 , 我猜测Google也评估过使用其他语言 , 但是在当时应该没有能替代Java的语言 , 不然Google也不傻 , 早就换了 , 你们说是不?再一个就是成本问题 , 都替换掉 , 从时间和金钱投入上 , 也是不小的开支 , 索性就一直用吧 。
但谁知道后面甲骨文杀了出来 , 说Google侵权 , 这下Google意识到 , 想要完整地掌控Android , 必须所有的部分都要归Google所有 , 然后Google就自己开发语言 , 但最后都没成功 , 现在依然还在JVM这条路上走 , 只是形式不太一样了 , Google自己研发了ART虚拟机 , 替代原来的Dalvik , 不过思路其实都差不多 , 只是很多细节优化了 。
【Java|为什么Android开发使用Java而不是C语言?】
总结:Android未来还会进化 , 我觉得最终像底层的C和C++将来也要被慢慢地替换 , 可能是rust也可能是别的新语言 , 最终的形式应该是大一统 , 就一个语言从上到下解决所有问题 。 目前Linux好像有一部分功能想用rust重写 。 我估计随着时间的发展 , 旧的语言必然会被更先进省时省力的语言替代 , 这是趋势 。
- playstation5|你对 Java 中 HashCode 方法,有哪些思考?
- hms|NVIDIA:为什么说智能AI算法是数字人的未来?
- 京东|为什么大家都建议买电脑要去京东,而不是选择实体店?
- 「系统」Android 13新功能曝光 加速CPU提高游戏启动速度
- 小米科技|为什么懂行的人都更喜欢买一加10Pro,而不是小米12Pro
- iphone13|真不是为了面子,为什么说买iPhone13其实更省钱?
- Java|vivo携手新华社,发起“寻找中国之美”互动活动
- 为什么有人不在12306官网买票,非要去各种平台上抢?原因很
- Java|更舒适的运动蓝牙耳机,Skullcandy运动豆上手体验:真香
- 云安全|为什么Android开发使用Java而不是C语言?