通过一门现代化编译型语言进一步理解编程

Swift - from WTF to OMG

泊学第一版上线的时候,我们就选择了做Swift相关的内容。那个时候,Swift 2刚刚发布不久。时至今日,从没有一种编程语言在如此短暂的时间里,有如此多的开发者参与其中,被如此多的开发者接受和使用。

得益于编译技术的发展和成熟,无论你从哪个阵营而来,都能在Swift身上找到相似的影子:它可以像C一样,让我们直接在内存地址上操作,但明显受控和安全得多,也可以像C++一样进行泛型编程,但类型系统可以保证我们在定义的时候就明确约束泛型类型的特性,而不是在编译的时候发现一堆莫名其妙的错误。当然,它还拥有像JS / Ruby一样简洁的Closure用法,以及类似Haskell中的High Order Functions。除此之外,Swift还拥有一些自己的独门秘籍,例如:通过extension扩展类型系统,通过protocol实施基于Policy的类型设计等等。

因此,简单上手不久你就会发现,Swift实际上是一门复杂的语言。它在我们面前呈现了很多道门。每打开一扇门,就打开了一些新的可能,同时关闭了一些其他的可能。于是,为了能够真正驾驭这样的一门语言,我们需要了解哪些藏匿于语言背后的故事。例如:集合是如何实现的?String类型为何反反复复的修改?方法调用是如何派发的?与C的交互是如何完成的?泛型类型是如何实现的?等等。

当你真正了解了这些之后,你就会从抱怨:“WTF,这个居然又改了?”变成“OMG,用Swift真是一件很棒的事情!”。

Image Description
26 Series
0% Complete

从Step 1循序渐进或者任意浏览你感兴趣的话题