如何评价 Swift 语言?
我个人觉得swift把现在比较流行的语言的优势全部集合在一起,是我见过的最漂亮最现代化的语y言。
优势
我在这里中重点讲解一下我觉得把这几种语言结合在一起的碧陪优势是在哪里:Objective C的运行时动态支持,和基于编译期引用计数的内存管理模型,Ruby灵活优雅的语法,C++的严格编译期检查,C++11编译期类型推导,模版(之所以说模版template,而不是范型generic,是因为Swift的范型实现依靠编译器更多些,而不像Java/C#依赖于运行时支持),Javascript和Ruby的closure。糅合握慧唯的结果就是,写Swift带给你的极致体验是无与伦比的。
代码风格
你可以轻松地像Javascript一样用closure写函数式编程,实现callback, aync, 以及类似Promise的代码风格;而同时,你又无需忍受Javascript那样稀烂的类型系统(JS连函数参数的个数都不检查)段培。语法上,Swift closure几乎和Ruby一样漂亮;Javascript写closure很啰嗦,Objective C写block更难看(那个C函数指针风格的block声明我就没搞清楚过,有码农为此专门写了个blog: Fucking Blocks Syntax),C++写closure?... 眼花。
总结
我个人觉得还有点令人感觉满意运用起来更加方便舒服的是Swift通过引入nullable的概念,支持在编译期对nil值进行检查。
这一举解决了Objective C因为对nil值过于灵活和宽容导致的问题。而通过optional chaining, 原来的灵活性依然保留。