文章图片
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重写 。 我估计随着时间的发展 , 旧的语言必然会被更先进省时省力的语言替代 , 这是趋势 。
- 网络安全|新手做虾皮,出单很难吗?应该如何出单?
- 华为|美国可以禁售华为,为什么我们不敢禁售苹果?真相很现实
- iPhone|2022年买手机为什么只推荐128G?听完懂行人的分析,不再纠结了
- 5G手机|5G手机和4G手机同时用4G网络,哪个网速快?为什么?
- 任正非|华为年营收8000多亿,老板任正非为什么不配保镖?因为完全不需要
- wifi|5G小基站突然走红“它”为什么这么“香”?
- 腾讯|手机号码为什么是11位数?怎样读才是正确的?告诉你答案
- docker|光盘惨遭淘汰,为什么却有人回收废旧光盘?有何价值?
- Google|建立一个搜索引擎有多难?为什么全球只有五个国家有?长知识了
- iPhone|iOS 15.3更新修补了严重的iPhone安全缺陷并修复了漏洞