为什么Android开发使用Java而不是C语言?
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 , 不过思路其实都差不多 , 只是很多细节优化了 。
文章图片
【为什么Android开发使用Java而不是C语言?】总结:Android未来还会进化 , 我觉得最终像底层的C和C++将来也要被慢慢地替换 , 可能是rust也可能是别的新语言 , 最终的形式应该是大一统 , 就一个语言从上到下解决所有问题 。 目前Linux好像有一部分功能想用rust重写 。 我估计随着时间的发展 , 旧的语言必然会被更先进省时省力的语言替代 , 这是趋势 。
- 为什么Windows的兼容性这么强大,到底用了什么技术?
- 安卓|都是用安卓,为什么用小米和华为体验完全不一样?网友评论扎心了!
- 笔记本|设计师为什么需要一个二合一笔记本?
- 芯片|明明是波轮洗衣机的洗净比更高,为什么滚筒洗衣机却越卖越好?
- iPhone|为什么近7成明星都选择了iPhone,而不是国产手机?原因很简单
- 为什么去年的小米11热度高涨,而小米12却不温不火?原因就3点
- 显示器|AOC显示器为什么会便宜?
- 台式机|为什么大家都说五千台式电脑比一万的笔记本电脑要好?
- 小米科技|Web前端培训:缩短Web开发时间的技巧
- 百度|假如百度和谷歌公平竞争,你认为谁会败?为什么?