今天凌晨,苹果举办了wwdc14,天然又成了各大网站的头条。尽管使用做为mac os的用户已经有接近10年时间,可是对苹果的开发平台却一直没什么了解,一方面是由于并不承认苹果的用户哲学,另外一方面因为长期从事c++开发,对objective-c的语法也什么好感,甚至以为怪异(我的感受)。python
下午浏览新闻的时候,却发现wwdc14没有发布硬件产品,却有一门新的开发语言swift发布,按照苹果的说法是"innovative new programming language",不由对这门语言产生了好奇。大体浏览了一下官方页面ios
https://developer.apple.com/swift/,花点时间看完了Swift Tour,发现Swift仍是颇有趣的,至少对我来讲,比objective-c的吸引力要大的多。下面大体写一下初步印象吧,其中可能有一些错误认识,但愿你们指正。c++
首先Swift仍是一门静态语言,尽管融入了一些脚本语言的特性如:objective-c
可是其本质仍是一门静态语言,最终仍是要编译成native code。就我我的感受,这是好事,由于静态语言的编译期错误检查和运行性能仍是要远胜于目前流行的动态语言,尤为是对移动平台这种性能/功能比较敏感的状况更是如此。算法
其实上述特性大部分更多的是相似于语法糖的性质,可以减小一些繁琐的工做,可是却远远称不上“innovative"。就我我的而言,只有最后一条相似于脚本语言解释器的交互式环境可以称的上是innovative,固然,该特性得益于苹果的神器llvm。我最初接触到llvm是在配置vim的c++开发环境时,了解到了实时代码完成和错误提示插件ycm,其后端就是调用的llvm的生成信息。关于llvm的具体介绍,请看http://llvm.org/swift
有了交互式的运行环境,咱们在作ios/osx的app开发时,就能像脚本语言同样输入代码并实时的获得运行结果,该特性不论是对于cocoa框架的学习,swift语法的学习,以及算法验证等,相对于传统的静态语言都有不可比拟的优点。想一想之前要验证某个原型,算法,或语言特性,须要打开ide,新建工程,输入代码,生成而后运行,这些步骤每每比编码过程耗时要长的多。有了这个特性以后,就能像Lua或python同样,直接打开解释器输入代码就能看到结果。vim
整体而言,Swift仍是很对个人胃口,后面必定要抽出时间多了解相关资料,但愿能借此机会顺便了解ios的开发吧。后端