资讯 业界专题
此为临时链接,仅用于文章预览,将在时失效

不是Taylor,是Swift

作者:夏航
2014/06/03 18:37


在今天凌晨1点苹果召开2014年度全球开发者大会(WWDC 2014)之前,“Swift”这个单词的搜索结果除了有少数前NBA火箭队无脑扣将的职业生涯相关数据外,大多都指向了美国乡村流行歌手Taylor Swift,而这个曾经让无数歌迷和前男友疯狂的名字,如今也足以让广大程序猿兴奋甚至颤抖了。

Swift是什么?

根据官方提供方的信息,Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,且没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来让编程更简单、灵活、有趣、高效和安全。Swift界面则基于Cocoa和Cocoa Touch框架,这展示了软件开发的新方向。

据悉,Swift已经存在了多年。苹果基于已有的编译器、调试器、框架来作为它的基础架构,通过自动引用计数(Automatic Reference Counting)来简化其内存管理,而框架栈则一直基于Cocoa。Objective-C进化支持了块、collection literal和模块,允许现代语言的框架。

Swift有哪些优点?

也许上面的引用还有一些太过于“正式”,那么我们下面就用比较“接地气”的语言来讲讲Swift的优点。

先说说运行时的特性。Swift的运行速度是Python的3.9倍,而在运行中它能自动进行垃圾回收。我们知道,在过去的C语言中,有半自动垃圾回收与自动回收垃圾两种选项,半自动垃圾回收需要程序猿通过“return”和“release”进行控制,自动回收则要求程序猿开启,全新的Swift能让程序猿们不用过多考虑内存问题,减轻了成本的浪费,是非常“友好”的编程语言。

在苹果高管 Craig Federighi 的描述中,Swift 在各个方面优于 Objective-C,这使它不会有那么多复杂的符号和表达式,并依旧与Object-C 相兼容。共用运行时使Swift能与Objective-C进行混合编程,这就意味着以前写的代码也能无缝融合进来,这可能是苹果考虑到之前的代码实在太多而做的融合。

实时代码效果预览功能(Swift Playground)则让程序猿在输代码时能实时看到代码执行效果,各个环节的代码实现效果也会进行实时的展示。另外,Swift包含了所有的语言特性,比较有代表性的包括了闭包、命名空间、泛型、强类型以及多个返回值。

Swift的应用范围?

在不少人的判断里,Swift未来将主要运用在两个方面:编程教育和应用开发。

目前编程教育的交互性非常的差,这使课程的学习曲线陡峭,Swift更加简单和交互环境更强的编程环境或许会改变这个局面,让更多青少年学会编程。而在Swift推出之前,iOS和OS X应用开发使用的都是Objective-C,这是一门极其繁琐的语言,如果Swift提供一个现能够与Objective-C框架的简易互操作接口,将有可能出出现程序猿们大举“迁徙”至Swift的壮观景象。

Swift是“天使”还是“魔鬼”?

在Swift发布后,立刻就有公司发布了这样一条招聘广告:年薪500万急招iOS开发工程师,1天以上Swift开发经验。这虽然是一条段子,但也从侧面说明了Swift的出现可能让广大程序猿回到“同一起跑线”上。面对这样一个能够把自己重新塑造成“大师”的机会,能否抢先出版《10天快速掌握 Swift》、《深入浅出讲解 Swift》、《Thinking in Swift》、《Swift 疯狂讲义》等书籍也就成了“决胜千里”的关键。

Swift也很有可能成为“魔鬼”,因为它能使编程更加容易,所以很可能会降低这个行业的入门门槛,让不少之前的“小白”能快速入门甚至扶摇直上。从此以后程序猿不再是“高大上”的苦逼职业,整个行业的平均工资水平也相应会降低。

不过,也有程序猿表示了对Swift的不屑,因为它的缺点使它目前不足以做大型项目,更别说取代Objective-C或称为下一个Objective-C了。当然,也不排除Swift会在未来几年进行大的改进,到时它是“天使”还是“魔鬼”自然就可以见分晓了。总之,好戏还在后头。

相关:

第三方输入法可以入驻苹果?不要乐观过头

 

长按图片保存图片,分享给好友或朋友圈

不是Taylor,是Swift

扫码查看文章

正在生成分享图...

取消
相关文章