code.club

 找回密碼
 立即註冊
搜索
查看: 6297|回復: 0

開發者對蘋果新的編程語言Swift的看法

[複製鏈接]
發表於 2015-5-4 20:17:31 | 顯示全部樓層 |閱讀模式
儘管蘋果一年一度的開發者大會(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")

原創文章,作者:boxi

http://36kr.com/p/212541.html
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|code.club  

GMT+8, 2024-4-19 05:14 , Processed in 0.097588 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表