大家在都知道苹果APP,可有很少人知道苹果APP的开发语言,苹果APP开发语言是ObjectiveC,简写成Objective C或ObjC,也是由C语言来扩冲的,运营在Mac OS X和GNUstep平台。
ObjectiveC布莱德·确斯(Brad Cox)在其公司Stepstone发明ObjectiveC,主要为了开发苹果软件服务的一种对象语言。
ObjectiveC有着自己的语言特性,与c语言比较起来更加实际,ObjectiveC的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的死亡时间,令整个系统失去功用。ObjectiveC为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep), Apple在其Mac OS X 10.3中仍未引入这个功能。
那么ObjectiveC由c语言发展而来的,那么到底ObjectiveC和c语言有啥区别呢,唐山网站开发认为ObjectiveC与C++不同,但和Java相同,ObjectiveC只容许对象继承一个类别(不设多重继承)。Categories和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。