大多数现代编程语言都有一个标准库?我的印象是,Obj-C没有一个相当大的标准库,而是它主要/全部依赖于Cocoa,(加上不想使用GNUstep的人)这就是为什么Obj-C只在macs上使用)?
这是真的吗/在多大程度上?有没有标准的obj-c集合?
(请注意,我还没有做过任何Obj-C编程,不太可能在不久的将来尝试它,我只是好奇)。附注:有没有像样的非Cocoa/Gnustep库?它们是否是非苹果的,它们是开源的,有很好的文档记录吗?
发布于 2010-05-14 23:26:31
与欧蒂斯的答案相反,Objective-C最初不是由NeXT开发的。NeXT在80年代中后期采用Objective-C作为首选语言。Objective-C是由Brad Cox和Tom Love在80年代初在Stepstone创建的。
与这个问题相关的是,当考克斯和洛夫创建Objective-C时,他们的主要目标之一是构建一种可以支持完全组件化软件模型的语言。也就是说,您可以从某个地方购买一个软件组件,并将其插入到您的应用程序中以添加功能。
在此基础上开发了ICPak 101和IIRC102(或201,老实说,我不记得了),这是一个有点像Objective-C的标准库。它从来没有真正流行起来。
显然,NeXT和苹果一直是Objective-C背后的主要推动力量,因此,今天Cocoa基金会是Objective-C最受欢迎的标准库。它不是唯一的一个;仍然有活跃使用的ICPak版本,还有一些非NeXT/非Apple Objective-C项目,它们实际上相当大。同样,Objective-C继续被一些Linux上的项目使用,主要是通过GNUStep。
一般而言,Objective-C的目标是成为一种简单的小型语言。由此产生了相对简单和较小的库(例如,将STL或Boost的大小与Foundation进行比较)。
如果您搜索"stes可移植对象编译器“,您会发现David Stes延续了Stepstone所做所有工作,包括一个ICPak实现(同样是IIRC --我已经很长时间没有研究过这个东西了)。
发布于 2010-05-14 19:43:30
我认为维基百科条目的这一部分(philosophical differences between Objective-C and C++)很好地涵盖了这个问题。
https://stackoverflow.com/questions/2833756
复制相似问题