首页 > JAVA 软件开发课程 博客日记
为什么当年android选择用java做开发语言ABA南充
21-05-04JAVA 软件开发课程围观690次
简介 南充清大软舰 为什么当年android选择用java做开发语言?而不选择c++呢?没有说讨论c++和java语言优劣性的问题,只是说为什么不选择c++这种一直是作为linux下app主流
为什么当年android选择用java做开发语言?而不选择c++呢?没有说讨论c++和java语言优劣性的问题,只是说为什么不选择c++这种一直是作为linux下app主流的开发语言,当年ruby却选择了java。
一、Java是一个跨平台的语言
而且是二进制跨平台,不需要重新编译,不管目标平台是什么架构,只要有JVM就能运行,这点C++就做不到,往往需要重新编译,且所有依赖库都必须要在目标平台上有。
二、Java的开发效率比C++高
Java语法相对简单,虽然运行效率不佳,但是开发效率比较高。其垃圾回收,异常处理,无指针等特性让一般的程序员也能比较容易的开发出相对健壮的程序。
三、天然的具有沙箱机制
因为Java程序是运行在虚拟机上,这就为权限控制,崩溃隔离等问题打下了一个良好的基础,就算一个程序崩溃了,往往也只是应用闪退,不容易造成系统的整个崩溃。
四、Java使用人群众多
C++的使用人群也不少,不过Java还是相对来说更多一些。使用Java的开发者更容易转为Android开发者,这在一开始Android生态系统未能建立时,尤为重要。
大多数主流的os开发语言都是非常上层(原谅我选的词汇)的计算机语言,这样便于系统推广和应用生态的形成。如果选用较底层的c/c++开发,难度较大也会导致多数初中级别开发者不愿意开发应用。因此,很多IT公司都会推出适合自己操作系统并更容易上手的语言来开发。
参照,微软选择c#,apple选择objc(现在换成更简单的swift),安卓则是java,这些语言难度相对c/c++较小。也更适合于GUI类型的应用开发。
当然,理论上,c/c++是万能的。
自古以来从别人屁股后面追很少有成功的,只能说google一开始看上的就是升64位的时候弯道超车~~
另外,纠正楼主一个错误,c++仅仅是大门同志一意孤行(请参考《观止》),在windows上曾经硬推过的一个语言,在linux上使用得极少,从来没有主流过:D
你可以随便装任何一个发行版,数一数里面有几个c++程序。
什么原因都没有,就是因为创始人鲁宾当初就选了这个语言提供应用api接口。
有时候什么腾讯喜欢C++,阿里喜欢java,说一千道一万,说不尽的理由,其实就是最早的那批工程师自己的个人爱好而已,连Linus本人也不能免俗。君不见腾讯最早非得用C++来开发android app不可?
而android的kernel却还不是得老老实实用C/C++开发。
android的内核是linux,用java包装一层会有效率上的损失。但是java的用户基数庞大,在当时拉开了c用户5个点之多。此外,当时市场上有强大的iphone已经抢先建立了apple store,应用数量超android很多,如果用了java就有可能在程序员数量上超过ios程序员。从而建立自己的生态系统。
Tags: