Loading... # SWIFT与OC的比较 废了半天劲,用蹩脚的英语终于把《The Swift Programming Language》看了个大概。在看过的过程中,的确发现有很多东西很惊艳。但是,做为一直使用OC多年的我来说,自然会冒出一个问题:Swift到底比OC优秀在什么地方? 还记得,当时从C和C++的世界,大跃进到OC的世界,对于"[]"的语法也是消耗不少时间才完全接受并弄懂。到了现在,接触Swift之后,回首OC,突然有种“曾经沧海难为水,除却巫山不是云”的感觉。现在的我并没有说想要抛弃OC,转向Swift的冲动,反而是我想继续使用OC。 在使用过很多语言之后,自然就会比较每种语言之间的差异。语言的优劣这个东西,到目前为止我几乎没有找到一个标准来评判。这是个公说公有理,破说破理由的事情。有些人就是认为C++是最优秀的,并且是C++的忠实拥趸,而有些人认为python才是神器.....不一而足。去问这些人,为什么喜欢一门语言,你得到的答案无非关乎两个方面: 1. 效率,压榨机器性能的能力怎么样 2. 表现能力,用起来是不是顺手,能不能高效的表达自己的设计思想。 效率这个事情,从语言的层面比较难衡量。因为,很多时候效率更多来自于一些和具体语言无关的东西,比如算法了,数据结构和设计模式了等等,甚至是编程人员的质量。虽然官方给出的数据说Swift比OC快1.3倍,但是没有说怎么去衡量的。于是有些人就用Swift来写算法题目,测速度。开发者Keith的[测试结果](http://www.techbrood.com/news/%E7%A7%BB%E5%8A%A8/swift%E3%80%81objective-c%E8%AF%AD%E8%A8%80%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95.html)却是另外的一个结论:OC比Swift要快不好。所以,到底效率的比较上面就有点不靠谱了。因为你说不准到底谁更快。 所以我们就主要从表现能力层面上来比较Swift和OC。 编程语言的主要思想大概经历了这么几个迭代: 1. 助记符时代,简单粗暴有效 2. 高级语言,以过程式和命令式为主的语言,比如C了之类。 3. 面向对象时代。 基本上程序语言设计方法论在出现了面向对象之后,就没再有一个质的改变。从Smaltalk开始,后来创造出来的大多数语言都是在面向对象上面变着法的玩,但终究没有跳出OOP这个大框架。OC如此,Swift也如此。同样是对象驱动的语言,另种语言从本质上讲,对于程序的基本模型都是对象。但是在表现能力上却有些不同。 而语言这个东西,各有各的好。而且有些语言能够表达的概念, 最后修改:2020 年 11 月 17 日 11 : 38 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 ×Close 赞赏作者 扫一扫支付 支付宝支付 微信支付