为什么Android开发使用Java而不是C++?
2012-08-14 18:56
645 查看
选择Java肯定是google经过深思熟虑的抉择,先说能确定的优势,
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
摘自:http://zhidao.baidu.com/question/355813258.html
Java有跨平台优势,手机的硬件可能千差万别,Java软件可以只出一套执行档。而C/C++需要针对机型出专用的编译版。
Java有大量人员优势,几乎不用重复学习就能做android。
Java天生是做应用的语言,和C/C++不同,Java的语言和类库都是多年积累的、应用最需要的常用功能。
关于性能,说些个人看法。
越是应用,新创意的成分可能越多,定式越少。这时候用一些宽松的语言越能快速的实现产品。
相反没有创意的复制,才需要高效的语言。比如压缩算法-视频编码、比如3d绘制算法,都是专家组总结的最佳算法,没有创意只需要实现,这时就需要最高效的语言最大限度的发挥cpu,所以这里用c都不够,甚至要汇编SIMD,甚至要电路硬件解码。
有创意的东西、特别是新东西、还没来得及形成定式,这时需要一些很灵活的语言,比如网页网站一日数变,甚至Java都不够灵活,需要更灵活的脚本语言python、php之类才合用。
总之,Java是个灵活和性能的一种折中,不够最快但够快,不是最灵活但够灵活。所以才适合做这些应用软件。
摘自:http://zhidao.baidu.com/question/355813258.html
相关文章推荐
- 为什么Android开发使用Java而不是C++?
- 为什么Android系统需要使用C、C++和Java语言共同开发
- 为什么Android系统需要使用C、C++和Java语言共同开发
- 为什么游戏引擎大多选择使用 C++ 而不是 C 开发?
- eclipse下使用C++开发opencv的android程序
- Android-NDK开发之第四个例子--用C/C++调用Java
- eclipse 搭建android,java,C,C++开发环境
- x86 Android游戏开发专题篇之使用google breakpad捕捉c++崩溃(以cocos2dx为例)
- 简单描述为什么编译Android C程序所用的交叉编译工具链是arm-linux-androideabi-xx不是GNU开发的工具链arm-linux-gnueabi-xx?
- Java vs. Kotlin:应该使用Kotlin进行Android开发吗?
- Xamarin体验:使用C#开发iOS/Android应用(此文章为收藏博客,不是个人经验) by----作者:囧月 出处:http://lwme.cnblogs.com/
- 使用Eclipse开发C++、C、Java程序
- 最好的Java和Android开发IDE---IntelliJ IDEA使用技巧
- 我使用过的Linux命令之swig - 把C/C++的代码嵌入Java等语言的开发工具
- android开发 android studio配置opencv for android sdk,使用opencv的java函数
- Android为什么要设计出Bundle而不是直接使用HashMap来进行数据传递?
- android jni开发 把一段java代码转换成c++方式调用
- java curl开发记录(二) linux系统下jni封装curl,android java使用curl
- Android(java)学习笔记163:Android开发时候颜色设置是bgr不是rgb
- 使用eclipse进行android C/C++ 开发环境搭建