开发者对苹果新的编程语言Swift的看法

boxi2014-06-03
尽管苹果一年一度的开发者大会(WWDC)有不少吸引人眼球的东西,但是最切题的无疑是新的编程语言Swift的推出。 在iOS 8发布之前一直处在beta版的Swift,是苹果已使用20多年,已经老掉牙的开发语言Objective-C的替代品。苹果宣称,这款新的编程语言要比后者快得多,好用得多,且支持闭包、泛型、类型推理、多种返回类型及命名空间等许多现代编程概念。 苹果指出,以开发多年的Swift将适合于新老开发者。对于老开发者来说,Swift显得很熟悉;对于新开发者来说,Swift显得很友好。苹果称赞这款编程语言为开发者打造了一个“互动的游乐场”。


尽管苹果一年一度的开发者大会(WWDC)有不少吸引人眼球的东西,但是最切题的无疑是新的编程语言Swift的推出

在iOS 8发布之前一直处在beta版的Swift,是苹果已使用20多年,已经老掉牙的开发语言Objective-C的替代品。苹果宣称,这款新的编程语言要比后者快得多,好用得多,且支持闭包、泛型、类型推理、多种返回类型及命名空间等许多现代编程概念。

苹果指出,已开发多年的Swift将适合于新老开发者。对于老开发者来说,Swift显得很熟悉;对于新开发者来说,Swift显得很友好。苹果称赞这款编程语言为开发者打造了一个“互动的游乐场”。

不过社交网络上面对Swift的评价是好坏参半。

杰出的iOS开发者Steve Streza对苹果开始这一转变感到兴奋,说Swift继承了Objective-C的优点(如引用计数内存管理)的同时也改进了语法和样式管理。这促使他要对自己的API设计进行重新思考,要更加强调类型传递。不过他认为在跨越了新语言学习的驼峰曲线之后,Swift不会对他的工作产生很大的影响。

Streza对Swift的最大担忧是Objective-C和Swift的相互协作方式,因为双方似乎对代码编写方式和API数据返回方式作出了颇为不同的假设,尚不清楚这些假设发生冲突时会如何处理。

Streza的另一个担忧是有多少人会采用新语言(苹果仍承诺继续支持Objective-C),因为很多人都拒绝改变,而分裂可能会导致在这个平台上开发的人沮丧。但Streza本人预计会完全接受Swift并用它来开发新的app。并且他认为iOS及Mac开发者要是对这门新语言缺乏基本的了解的话是很愚蠢的。

另一位旧金山的web开发者Kevin Ingersoll则认为,对于web开发者来说Swift的进入壁垒要比Objective-C低得多,以前他曾经想写app,但是Objective-C的学习障碍令他望而却步,现在这个障碍消失了。

澳大利亚的开发者Quentin Zervaas认为,Swift证明苹果的确看重开发者工具和开发工作流的易用,并且不断在努力采取措施来从设备榨取额外的性能。Zervaas很期待Swift的代码实时评估和调试功能,认为这可以简化大量的语法。

在Hacker news上面的用户也感到兴奋,网友nln说Swift让他这个非开发者也感觉有信心去学习如何开发iOS app。

资深Objective-C开发者Mike则对Swift的推出感到烦恼。因为他喜欢Objective-C,不想学新语言。对于他来说Swift对Objective-C的优势尚不明朗。他对Swift的第一印象是为了创新而创新,害怕这会在新老开发者之间造成分裂(老的坚持Objective-C,新的用Swift)。

在知乎上对Swift的讨论也很热烈,其中获赞同最多的是yue wang同学的:

它更像一種讓人快速做原型的 toy language。......以 Apple 目前給出的各種資料來看,這語言不會替代掉ObjC,它不是下一代的ObjC。

yue wang列举的Swift的缺点包括标准库太差、缺乏保护机制、只能与ObjectIve-C互动、不能捕捉Objective-C的异常也没有自己的异常处理机制等。所以他认为苹果对Swift的定位是降低学习曲线的玩具语言。

赵冬毓在读完Swift开发者指南之后,对后者的评价是:

这是一个阉割掉了很多精髓,添加了一些语法糖的C#和Scala的结合体,有一些Golang的方便特性,附带Golang和JS诸多坑人陷阱的,语法与JavaFX接近的,对非UI部分不够严肃的,除了ARC之外没有GC的一种表达能力较强但是设计能力较弱的语言……换句话说,对于大型项目而言是个坑……更适合PM和小作坊快速推出创意原型,不适合追求高质量应用开发。

但知乎上也有反驳的意见。孙竟认为,Swift的功能丰富,绝非一门玩具语言。而且他以Swift重写Cocoa API封装为例说明,如果苹果不是想取代Objective-C,为什么还要如此费事。其观点是Swift的一些缺点用Objective-C只会更坑,对于想转行做 iOS 或 OS X 的开发者来说,Swift 是个很好的 Objective-C 替代者。

当然,现在就来评判Swift的采用率还为时尚早。但Craig Federighi宣布Swift时,观众的反应是,掌声未起,就先听到一阵“哇哦!”所以,Swift造成的冲击值得预期:

println("Hello, world")

+1
0

好文章,需要你的鼓励

参与评论
登录后才能参与讨论哦...
后参与讨论
提交评论0/1000

请回复有价值的信息,无意义的评论将很快被删除,账号将被禁止发言。

下一篇

一直听说做企业级市场的都是土豪,这次才真见识了。一年前我们介绍过的一家公司Zenefits,最近完成了一轮融资,金额为6650万美元,这轮融资是4个月前A轮的附加,领头者为A16Z,也是Zenefits的种子轮投资者。一年左右的时间里,Zenefits已经融了8400万美元,估值近5亿美元。 Zenefits是干嘛的呢?它是一家面向中小型企业,帮助他们管理员工医保、社保、薪水发放等问题的公司,相当于一个数字化的保险经纪人 & HR,以Saas的方式满足企业的需求。 融资如此迅速的原因是,Zenefits这一年的发展速度太快了。从13年早期开始,每月的复合增长率在30%以上,现在已经有2000家公司是它的客户了。三个月前Zenefits的客户以科技公司为主,占到90%之多,现在已经不到一半。这就说明Zenefits的潜在客户还有很多,远不止硅谷的创业公司。

2014-06-03

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业