Swift 的起源
2010 年 7 月,苹果开发者工具部门总监克里斯·拉特纳开始着手 Swift 编程语言的设计工作,以一年时间,完成基本架构后,他领导了一个设计团队大力参与其中。Swift 大约历经4年的开发期,2014 年 6 月发表。
苹果宣称 Swift 的特点是:快速、现代、安全、互动,而且明显优于 Objective-C 语言。Swift 以 LLVM 编译,可以使用现有的 Cocoa 和 Cocoa Touch 框架。Xcode Playgrounds 功能是 Swift 为苹果开发工具带来的最大创新,该功能提供强大的互动效果,能让 Swift 源代码在撰写过程中能即时显示出其运行结果。拉特纳本人强调,Playgrounds 很大程度是受到布雷特·维克多(Bret Victor)理念的启发。
2015 年 6 月 8 日,苹果于 WWDC 2015 上宣布,Swift 将开放源代码,包括编译器和标准库。
2015 年 12 月 3 日,苹果宣布开源 Swift,并支持 Linux,苹果在新网站 swift.org 和托管网站 Github 上开源了 Swift,但苹果的 app store 并不支持开源的 Swift,只支持苹果官方的 Swift 版本,官方版本会在新网站 swift.org 上定期与开源版本同步。
个人经历
2000 年,克里斯·拉特纳自奥勒冈州波特兰大学(University of Portland)计算机科学系毕业。之后进入伊利诺伊大学厄巴纳-香槟分校(UIUC)就读。在此期间,他经年累月学习《Compilers: Principles, Techniques, and Tools》这本龙书,并与维克拉姆·艾夫(Vikram Adve)发起LLVM(Low Level Virtual Machine)项目,并于 2003 年发表,新式的 LLVM compiler 使用 GCC 进行语义分析产生IF(Intermediate Format),然后LLVM使用分析结果完成源码最优化的工作。
Apple 也是 LLVM 计划的主要资助者。早年 Apple 一直使用 GCC 作为官方的编译器,但 Apple 对 GCC 的性能不满意,再者 Objective-C 在 GCC 中优先级低,GCC 对 Objective-C 语言新特性的支持程度也不高。因此 Apple 一直在寻找 compiler 的开源替代品,于是他们将目光转移到 LLVM 身上。2005 年,Apple 直接雇用了克里斯·拉特纳及他的团队,为了苹果电脑开发应用程序系统。克里斯一开始将 LLVM 运行时的编译架构在 OpenGL stack 之上,这样 OpenGL stack 可以产出更高效率的图形代码。OpenGL stack 成为 JIT compiler, Xcode 3.1 实现了 llvm-gcc compiler, Xcode 3.2 实现了 Clang 1.0,克里斯再接再励, Xcode 4.0 实现了 Clang 2.0. 后来的 Mac OS X 10.6 Snow Leopard 即大量使用 LLVM 的编译技术。
接着克里斯发起 Clang 项目,希望完全替换 GCC。Clang 在性能评比上的多项指针,如编译 Object-C 的速度,超过 GCC,LLVM 3.0 发布已完整支持所有 ISO C++ 标准,代表着 LLVM 正式走向成熟。
2010 年 7 月开始,克里斯开始设计 Swift。完成基础架构后,克里斯带领开发小组陆续完成语法设计、编译器、运行时、框架、IDE 和文档等相关工作。这个语言在 2014 年 WWDC 大会上公开。