2011-03-23 72 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的起飛和非常非常有效地實現。迪倫的迴歸也將非常感激。 :)