Swift 現在的語法穩定了嗎,之後會不會出現像從 Swift 1 到 Swift 2 這樣的大改動?
如題
Xcode 每次升級,我們這iOS開發就要花一整天的時間來改代碼。
哪像我們寫 Android 的,每次升級只要花一天時間下載更新就好了。謝邀,然而不敢回答,Apple 太它喵的喜歡打臉了。當年我可是趁熱買過 45¥ 的 XCode 的人……
Swift 開源的是時候,包括一份 Swift Programming Language Evolution apple/swift-evolution · GitHub,描述了 Swift 的未來的規劃。
Swift 3.0 will contain source-breaking changes from Swift 2.x where necessary to support these goals
Swift 3.0 will not provide full source compatibility. Rather, it can and will introduce source-breaking changes needed to support the main goals of Swift 3.0.
即為了實現 3.0 的目標,如果必要會有一些不向前兼容的改變。明確說了,不提供向前兼容。
其實並不用怕語言的變化,Swift 2.0 出的時候,一個純 Swift 的項目改了一天也就改完了。寫了一年 Swift,現在因為項目原因回來寫 OC,感覺語言上差的不止一點點。在用 Swift 的時候沒有察覺,一有對比就能明顯感覺差距來。-----------------------------------------------下面簡單翻譯一下目前規劃的內容:Swift 3.0 預計發布日期是 2016 秋。主要目標是穩定語言和標準庫的二進位介面(binary interface),並且改善語言總體上的一致性:
完整的代碼兼容性
- 語言本身支持並發
- C++ 的兼容性
- 宏
Major new library functionality(好吧 我又詞窮了)
Swift 2.2 預計發布日期是 2016 年春。主要包括改 bug、改進實現質量、改善編譯時間和性能。
改了還不好………看看當年的Swift 1.x的語法詭異的地方(Error handling, if let chain, static property. protocol…)。還有標準庫坑人的地方(String之類),早改早完善這個語言,一旦拖到越後面就越難改動,而開發者就得永遠忍受這個語法的詭異之處,畢竟他可是號稱:
Objective-C without C
ModernSecure的語言。作為最像的Rust的1.0大改版都沒有什麼抱怨的,這有什麼謝邀,目前來看,應該還會,但是從改動的情況來看,結合了許多語言的優點,改動語法其實是為了更方便開發者來使用它,從這點來講,我們應該擁抱變化吧,你說呢
首先:不夠穩定。2016年3月21日蘋果發布會以後,Xcode升級為7.3,同時Swift升至2.2,一些基礎語法又發生了改變。但比起1到2的變化,已經小了很多。
重要的是,Swift的進化方向已經是完全可以預知的了。蘋果官方維護的blog Swift.org - Blog 隨時通知各位開發者swift的最新動向。蘋果github上swift-evolution的項目 GitHub - apple/swift-evolution: This maintains proposals for changes and user-visible enhancements to the Swift Programming Language. 把swift語言下一步改進的點非常詳盡地列了出來。甚至我們可以直接通過這個項目和蘋果溝通,影響下一代的swift。
所以,我真心不認為swift發生語法改變是什麼大問題。更何況,那麼多框架,每次升級變化也不少。python3和python2現在還打架呢,可以預見的,這個問題不會發生在swift身上。互聯網時代,尤其是對於一個開發者來說,不就是要擁抱改變嘛。更何況是擁抱蘋果——全世界市值最大的科技公司帶來的新時代編程語言的改變,見證其進化的過程。想想就讓人激動啊!肯定會啊,這還用說。
會,而且更大。比如 ++ -- 和 C 風格的 for 都沒了
項目需要5人以上協作並維護的話,就慎用Swift,不是Swift不好或者變化快什麼的(官方文檔即便從頭看也就2天時間,不存在浪費精力的問題),而是總有人很容易在可選類型上寫出不嚴謹的玩意,工程和技術是兩碼事,人一多技術能力不容易齊整,也很難監督。我們後來就撤掉了那幾個用Swift的人,並改用OC重寫了。Swift是無辜的,是強大的,但3.0前我們是不會在產線上用Swift。
穩個蛋啊……一個String就改了好多......
我永遠無法忘記上個項目,swift1.2時完工,更新了swift2以後作死打開一次嚇的我以為打開姿勢不對==自此我每天上班的第一件事就是祈禱那個項目的二期不要來,親愛的客戶你就放棄你那個項目吧
apple/swift-evolution · GitHub
要改肯定是還要改的……今天的改動是為了將來的更好用 我們總在瞻望遠方 而不是為了一個錯誤去增加十個不合理
再者說 花一天時間去研究新特性 總歸比跟產品經理討論不靠譜的需求 有意思的多
習慣就好了 自古cocoatouch都是一年一大變 每年總要有那麼一段時間是學它 不差那點時間看看語言
感覺肯定會的,,
從最近的幾個XCode版本也能看出蘋果對於開發者的體諒。自適應更改已經能完成大部分的修改任務。一些在老版本中養成的語法習慣,XCode也會提示你「這樣寫在下個版本不被支持,你可以使用XXX方法來寫」。3.0應該會更改很多。改也是不可避免的。不過如果能模塊化的比較好大概改起來也不會太費勁吧(個人觀點
年底3.0 你可以關注http://swift.org
明年會出3.0的
我們一個項目從swift 1.0 玩到 swift 2.0, 中間已經經歷了兩次swift改版,每次改版都得改一堆代碼...
swift 語言本身應該還是不錯,但是如果團隊人多,那就比較慘了。有喜歡oo的,有喜歡fp的,最後的代碼就是一坨。
swift的編譯器也比較差,在做某些 type inference 的時間非常慢。文件一多,基本上編譯一次可以去睡一覺了,這在項目後期非常麻煩。謝邀。必須會,而且3.0應該還會變很多。題主可以看一下swift官網的Swift 3 API Design Guidelines,裡面就有關於swift3.0的API設計準則的內容,畢竟swift要形成自己的風格嘛。可以肯定的是作為一門新語言,未來幾年swift還會不斷變化,但肯定是越變越好,而且3.0應該是一次奠定自己語法風格的大升級(很多東西都會變,比如沿襲自Cocoa的NS之類的前綴也沒了,去掉++和--,去掉c風格循環語句,等等。。)Swift.org - Swift 3 API Design Guidelineshttps://github.com/apple/swift-evolutionapple/swift at swift-3-api-guidelines · GitHub
推薦閱讀:
※iOS開發包含哪些內容?
※windows下的服務和進程有什麼區別?
※哪些 C++ 項目的源代碼最值得閱讀?
※編譯器中都有哪些演算法?
※軟體崩潰(crash)之後的報告(report)究竟是個什麼流程?
TAG:蘋果公司AppleInc | 編程語言 | 編程 | iOS開發 | Swift語言 |