第219期 | Swift为什么能成为编程语言中的黑马?
池建强
讲述:池建强大小:6.85M时长:07:29
你好,这里是卖桃者说,今天跟你聊一门年轻又很受欢迎的编程语言,Swift。
Swift 是苹果于 2014 年在苹果全球开发者大会(WWDC)上发布的编程语言,它可以与 Objective-C 共同运行于 macOS 和 iOS 平台,用于搭建基于苹果平台的应用程序。
虽然 Swift 发布至今不过短短 6 年时间,但它的普及程度早就超出了所有人的预期。在最新的 2 月份 TIOBE 编程语言排行榜中,Swift 排在了第十位;而在 1 月份的榜单中,Swift 排在第九,这也是 Swift 自发布以来取得的最高排名。
排在 Swift 前面的都是谁呢?Java、C、Python、PHP……这些都是发布至今十余年甚至是几十年的老牌编程语言。在这群“前辈们”的衬托下,年轻的 Swift 显得格外扎眼,甚至成为一匹黑马,冲在了前面。
Swift 之所以成为编程语言中的黑马,离不开“前辈们”的滋养。比如,Swift 集成了现代语言的很多特点,包括高级结构、闭包、泛型等等。在 Swift 身上,也能看到很多其他优秀编程语言的影子。
Swift 受欢迎还有一个很重要的原因在于,它来自苹果公司。它既集成了现代编程语言思想,还凝结了苹果工程文化的智慧,再加上苹果庞大的市场、极高的品牌口碑,Swift 想不火都难。
另一方面,Swift 对于苹果应用的开发者而言意义非凡。开发者在 Objective-C 之外,终于有了第二种选择,而且这门新语言易学易用,语法也非常简便。所以说,Swift 能成为编程语言中的黑马,一点也不奇怪。
早在 2010 年,苹果内部的一个小组就已经开始研发 Swift 了。当时,高级架构师克里斯·拉特纳(Chris Lattner)觉得,无论是 C、C++,还是 Objective-C,都有一些让他不太满意的地方。既然如此,为啥我们不为苹果创造一门新的编程语言呢?毕竟 Objective-C 实在是太老了。
在他的想象中,这门新语言要越简单越好,而且还要高效。拉特纳曾在接受采访时说道,“我们给 Swift 取这个名字就意味着我们希望这门语言非常的高效。它本身设计的目的不是让你短时间内写出大量的代码,而是用最少的时间、最简洁的代码来完成工作。”
带着这个想法,拉特纳开始独自设计 Swift,并实现了这门语言的大部分基础架构。最初,只有几个人知道这个项目的存在;2011 年年末,其他几位优秀的苹果开发人员加入进来;到了 2013 年 7 月,Swift 项目一跃成为苹果开发者工具部门的焦点。
2014 年 6 月,Swift 在苹果开发者大会上正式发布。刚发布的时候,苹果内部很多项目组都很惊讶:明明已经有 Objective-C 了,为什么要做 Swift?Objective-C 有问题的话,优化优化不就行了吗?
拉特纳考虑的是,Objective-C 毕竟是一门脱胎于 C 的老牌编程语言,无论怎么优化,它身上总是有 C 语言自身的缺陷,语法上也不够现代。此外,如果大幅优化 Objective-C,把很多 Swift 的特性加进去,对开发者来说将是灾难性的,因为他们要大幅修改原来的 App。Swift 虽然没有做到完美,但随着它日趋成熟,逐渐受到越来越多开发者的喜爱。
作为苹果四年磨一剑的产物,Swift 的野心绝不仅仅局限于替换 Objective-C,它把目光放在了更长远的地方。在苹果官方的 Swift 书里面有这样一句话:“Swift 的目标是,既可以写应用程序,也能写操作系统。”可以看得出,Swift 的愿景非常宏大。它的创造者拉特纳本人的口气也不小,他曾在采访中说过,“我们一开始,就是要将 Swift 设计成为一门一统天下的语言。这也许有点痴人说梦,但是大家等着瞧,过几年我们再看分晓。”
在拉特纳的预想中,Swift 要想“一统天下”,总共分四步:
第一步,Swift 要有一个杀手级的产品,这样它才能流行起来,让更多的人知道这门编程语言有多好用。目前,国内很多知名 App 都开始使用 Swift 开发。
第二步,开源,这也是比较重要的一步。2015 年 12 月,Swift 正式开源,仅仅一年的时间,就获得了上百万开发者的使用,并在无数开发者的实战中得到检验和改进,不断优化。
第三步,走得更远,要把 Swift 应用到服务器端。
第四步,Swift 要能在脚本语言以及底层的系统设计上应付自如,取代 Java。当 Swift 在系统开发上真正流行起来之时,就离“一统天下”不远了。
这个目标不可谓不宏大,虽说不大可能出现一门语言包打天下的情况,但从 Swift 目前的发展来看,它的应用场景越来越多了。2019 年,Swift 一共有两个大事件:发布了 SwiftUI 和 Swift for TensorFlow。
SwiftUI 是苹果公司的最新框架,通过 SwiftUI,开发者仅使用一组工具和 API 就能为所有苹果设备构建用户界面。它的口号是,“更好的应用程序,更少的代码”。
Swift for TensorFlow 是一个将谷歌 TensorFlow 框架和 Swift 集成在一起的深度学习和可微分编程平台,这也是 Swift 的一个全新用途。Secret Lab 联合创始人、《Swift 与 Cocoa 框架开发》作者巴特菲尔德·艾迪生(Paris Buttfield Addison)评价称,“Swift for TensorFlow 可以为开发者提供机器学习和数值计算所需的一切,并为 Swift 提供了完整的 Python 支持,数据科学家可以将他们所需要的有用且熟悉的 Python 框架,与简洁而富有表现力的 Swift 代码进行混合和匹配。”
展望未来,Swift 选择了全新的方向,这或许也为它开启下一篇章奠定了基础。你认为 Swift 的前景如何,你会使用它吗?
卖桃者说,明天见。
(编辑:夏天)
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《卖桃者说》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(13)
- 最新
- 精选
- 紫树夕影不知道国内的发展情况怎样? 感觉国内苹果仍然以OC开发为主,也因为这个原因,一直只停留在能读懂的阶段。 不知道有没有相应的资讯。14
- leslie任何好的编程语言都有它最简洁和良好的用户体验感:这种体验感就如白酒和茶,喝久了就会享受使用它的感觉😀3
- 小斧好的的编程语言总会有好的特性,一个语言的流行确实它的效率。3
- coderChris Lattern可是是编译领域的大佬,llvm(uiuc读博期间工作)的作者,一毕业就被苹果挖走了,做了swift,后来去了tesla,后来去了google,领导了MLIR,最近好像又离职了,去了risc-v初创公司1
- Master去年用 Swift Perfect 框架写了个棋牌游戏服务器,今年 Xcode 升级,Swift 也升级到 5 了,结果代码没法编译了,不仅没法编译,引用的包都拉不下来11
- Lll对标kotlin,好相似👾1
- X5N“一统天下”应该是指统治苹果旗下的各条产品线吧?如果说在:macOS,iOS,iPadOS,watchOS,和 tvOS 上,多点开花,并全面取代 OC,那还是很有可能的。但是如果要在苹果之外的平台上做到一统天下,那确实非常困难。1
- 白多年java从业者,之前用swift写过一个2048小游戏,感觉写起来就是比java舒服。面向编程开发嘛
- sipom目前swift还无法用于ios以外的环境吧?
- sipom希望swift能达成所愿,为开发者提供一种好用、通用的工具
收起评论