iOS为什么选择了Objective-C?
Posted iOS开发者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS为什么选择了Objective-C?相关的知识,希望对你有一定的参考价值。
地球人都知道,ios 最初的开发语言是Objective-C (当然现在Swift流行起来了), 这个Objective-C是从哪里来的呢?
时间得回到上个世纪80年代初。
SmallTalk 可以说是世界上第一个真正的面向对象的语言,第一个具备垃圾回收的语言, 第一个拥有真正的集成开发环境的语言, 第一次引入了MVC的概念来开发软件的语言。
SmallTalk 对后来的语言产生了极大的影响, 尤其是对Java 和Ruby , 当然还有Objective-C。
两个人被彻底的震撼了, 他们觉得这才是开发复杂软件的不二之选, 他们迫不及待的想在自己的公司用起来, 但是公司已经有很多基于C的产品了, 不能直接用Smalltalk。
那为什么不增强一下C, 添加一点像SmallTalk那样的面向对象特性呢?
Cox说干就干 ,很快就搞出一个C的面向对象扩展, 他把它称为Object-Oriented Pre-Compiler (面向对象的预编译器), 实际上它就是个预编译器, 它产生的代码恰恰可以作为C编译器的输入, 最终被C编译器变成机器码。
1983 ,两人成立了一个叫PPI ,后来叫StepStone的公司来商业化他们的产品。
1986年, Cox 出版了一本书《Object-Oriented Programming, An Evolutionary Approach》来描述Objective-C 这门新的语言。
Objective-C 深受 Smalltalk的影响, 开发iOS的同学应该知道,调用方法其实就是给对象发送消息, iOS应用的框架就是MVC, 这些其实都来源于SmallTalk的思想。
Objective-C 看起来不错, 但没有引发像Java 那样引发轰动,只能说生不逢时, 造化弄人啊。
1985, 救世主终于出现了。 乔布斯被自己亲手创办的苹果公司扫地出门, 建立了一个叫NeXT的公司,这家公司的目的就是建立软件硬件于一体的计算机。
1988年,NeXT选择了Objective-C作为应用程序的开发语言, 并且扩展了著名的开源编译器GCC 使之支持 Objective-C 的编译。
使用 Objective-C 开发了 AppKit 与 Foundation Kit 等库,这些库成为了NeXTSTEP 这个操作系统的UI基础 。
另外大名鼎鼎的interface builder 也是基于这些库建立的。
乔布斯为啥不选Java 呢?拜托,这是1988年, Java还没有诞生呢!
看看NeXT的界面, 这是1988年, 绝对甩几年后才出世的Windows 3.1 好几条街, 充分展示出了基于Objective-C的图形界面的优势。
但是NeXT计算机没有取得预料中的成功,估计只卖了5万台左右。
虽然硬件不成功, 但是NeXT的软件尤其是AppKit, Foundation Kit却获得了广泛的赞誉。
所以让心高气傲的乔布斯去用一个开源的东西, 还可能会牵扯到别人的专利, 那是万万不行的。
来自:公共号:码农翻身
●本文编号66,以后想阅读这篇文章直接输入66即可。
●输入m可以获取到文章目录
更多推荐请看《》
涵盖:程序人生、算法与数据结构、黑客技术与网络安全、大数据技术、前端开发、Java、Python、Web开发、安卓开发、iOS开发、C/C++、.NET、Linux、数据库、运维等。传播计算机学习经验、推荐计算机优秀资源:点击前往《》
以上是关于iOS为什么选择了Objective-C?的主要内容,如果未能解决你的问题,请参考以下文章