2011-03-23 76 views

回答

3

主要原因是Cocoa是NeXTStep的后代,后者是在C++有STL之前写在Objective-C中的(IIRC它当时甚至没有有用的模板;我记得g++在它的模板中有很大的警告执行到90年代初)。另外,我收集乔布斯& co。优选的目的C.

+0

嗨,谢谢你的回应,但你能更清楚地告诉我一点。我如何向采访者说服Objective-C比开发ios应用程序和mac os x应用程序更好。 – 2011-03-23 07:21:13

+0

@Madan磨憨 - 通过持续的,这就是平台与/中和通过什么样的开发者为iOS和OS X – zellio 2011-03-23 07:23:43

+0

@Madan平台和社区都最好支持写着:* *这是一个不同的问题,这里的其他人已经解决了这个问题:因为它是Cocoa的母语,所以使用它引入了最少的并发症。如果你使用C++,那么你必须担心C++和Objective-C等不同的对象和类的行为;如果你使用C语言,你会用一些相当难看的粘合剂来使用Objective-C对象。如果它在Objective-C中,XCode会帮助你,而如果你使用C++,你将不得不手动为它做许多事情。 – geekosaur 2011-03-23 07:27:54

2

可可的Smalltalk的状OO是它自于对象-C来实现。通过使用该语言,开发人员可以更轻松地利用软管系统的功能。虽然C/C++是有效的语言(因为它们的Objective-C背景),但C/C++和Cocoa之间的接口(因为它是Objective-C)比仅仅坚持Objective-C更难。

查看更多关于这从Apple

0

首先,我认为使用GC的任何语言都比没有语言的任何语言都要有效得多。尤其是当在许多不同的团队,开发人员和框架中进行大规模编程时,引用计数等其他技术存在缺陷并导致代码膨胀。许多年前,有一项正式研究表明,世代垃圾收集的理论最佳性能约为cpu使用量的4%。使用参考计数的理论最佳值仅略低于10%。

看的第二件事是如何限制选择的语言是和多么容易与其他C/C++代码融为一体。许多语言,比如Java,几乎将你限制在一个范例中。 Objective C是在C之上的OO扩展集合,因此具有很大的灵活性。在Objective C 2.0及更高版本中,还添加了诸如属性和块等新功能。

所有上面说有件事情我不喜欢目标C更详细的比我想的编程语言并没有提供足够的能力做多大元编程。我真的不高兴它还没有命名空间。我知道用来解释这种缺陷的一些原因,但我没有充分发现它们。平面类和方法/选择器命名空间在21世纪是不可避免的。

我真正想要的是MacRuby的起飞和非常非常有效地实现。迪伦的回归也将非常感激。 :)