Objective-c相比Java有哪些优点?

 我来答
卧槽FZ05E
2013-08-24 · TA获得超过127个赞
知道答主
回答量:113
采纳率:0%
帮助的人:126万
展开全部
本来从语言特性来说,Objective-C和Java比不合适,因为设计理念不同,Objective-C和C++可以比,Java和C#比。Java和C#编译出的代码都需要一个运行环境才能跑,类似虚拟机的方式执行代码,Objective-C和C++编译出的代码则可以直接给交给CPU运行。有运行环境的语言,执行效率低很多,优点是开发简单。 不过既然现在这两个是最流行的移动开发语言,硬把两者放一起比就相当于拿Google和Apple平台比,还是有意义的: (1)执行效率:如上面所说,Objective-C效率高得多,所以Android手机的电池表现和性能表现很难均衡。Obj-C胜。 (2)开发效率:也如上面所说,Java开发更简便。不过在苹果的努力下,Objective-C开发MacOSX应用已经可以使用GC(自动垃圾回收),开发iOS应用有ARC(自动引用计数),反正都不再需要手动管理内存了,以前管理内存是Obj-C程序员的噩梦。Java胜。 (3)跨平台:除了苹果的系统,已经没什么系统应用能用 Objective-C 开发了,但Objective-C可以和C++混合编译,C++的跨平台威力可秒杀Java,所以很多软件都是用C++开发核心、在苹果的平台上用Obj-C做个壳。当然,Java也能调用C++开发的代码,但两种语言格格不入(效率差距、类型差异),开发出的代码一点都不优雅,无法与Obj-C / C++的融合媲美。平手。 (4)开源库:Objective-C的开源库丰富程度虽然比不上Java,但Objective-C可以和C++混合编译,C++开源库就可以和Java比了。不过考虑到跨语言开发还是比单语言开发麻烦一些,Java胜。 以上几点权重不一样的,例如移动开发时(1)最重要,所以个人认为Google选Java不是个好选择,C++好得多,可能他们考虑的是C++几乎是流行编程语言中最难学的。 如果Objective-C和C++比,个人认为Objective-C真是全方位都弱于C++。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式