作者Wolfken ()
看板Soft_Job
標題Re: [請益] 學習Swift的合適性 麻煩各位前輩解惑
時間Mon Mar 7 09:43:55 2016
※ 引述《KeGun (oneone)》之銘言:
: 前陣子知道了Swift之後便有興趣想學,但是遇到很多問題,所以想請問。
: 1.最大也是我自己最沒辦法驗證的問題
: 就是Swift在目前業界到底泛不泛用?
: 各網站都會說Swift方便快速而且非常新,是蘋果極力推動的新語言
: 看到這裡讓我心癢癢,但是也想問就是
: 目前業界大部分是用之前的Objective-C還是早就已經轉成Swift了?
: 很害怕學了之後發現在軟體業上只是白學,怕業界用的根本不是所學
: 雖然說 學就對了 ,不過還是想知道學了之後對於出路幫助大不大
Swift在語言熱門度排行榜上已經超越Objective-C:
http://www.tiobe.com/tiobe_index
Objective-C在Swift推出後就呈現跳水式下跌,從一度超過10%到現在剩1%
我也看過Gartner關於程式語言的專業報告
裡面建議Objective-C開發者"即刻"開始學習Swift,不是一兩年後
種種跡象顯示,Objective-C成為歷史只是時間問題
Swift取代Objective-C成為主流,也已經是現在進行式
但不代表Objective-C會就此消失,看LISP過了多久還是有人在用就知道了
總是有舊程式需要維護,而且一維護十年以上的都有
我自己寫Swift接近一年的經驗,它絕對100%已經production ready
沒有任何Objective-C做得到而Swift做不到的事
不要聽人家講什麼Swift還在實驗階段,production還是只能Objective-C之類的鬼話
而且Swift的語法比Objective-C先進多了
很多當下流行的語法跟新的設計概念,只有Swift有
雖然Swift一開始是東抄西抄,但是以Apple這麼大力推
然後又引進一些蠻有趣的語法和設計概念的狀況來看
以後反而是其他語言來抄Swift都有可能
所以要不要學Swift?當然要,iOS開發的未來一定是Swift,也已經愈來愈多app用
但是你還是需要會Objective-C,主要是舊app的維護
還有即使寫Swift,也會用到舊的第三方frameworks,也是要懂ObjC
然後一些iOS從早期發展到現在的沿革的軌跡,也只有在ObjC看得出來
對了解一些iOS的東西還算蠻有幫助的
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.234.95
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1457315040.A.D24.html
1F:→ async: 我會c#和javascript,學swift學滿快的 03/07 09:47
2F:推 capita: 完全同意這篇 03/07 10:52
3F:→ cobrasgo: "沒有任何Objective-C做得到而Swift做不到的事" 真的嗎 03/07 11:00
4F:推 Luos: 我記得1.0好像沒有indexOf當初讓我很難過 03/07 11:08
5F:→ Luos: 幸好2.0就加進去了 03/07 11:08
6F:推 femlro: 蘋果推新的東西的速度跟能力>>>>GOOGLE 03/07 13:02
7F:→ femlro: 光看OS版本就知道了 03/07 13:02
8F:→ dreamnook: 同意 03/07 13:04
9F:推 darktt: Swift完全無法獨立使用純C的Code,像是MD5編碼 03/07 13:09
10F:→ darktt: 尤其是底層的CoreFundation的物件,使用的難度會增加不少 03/07 13:11
11F:推 genesic: 原po現在開始學,兩年畢業後swift更成熟剛好可以用 03/07 13:36
12F:推 oneheat: Swift用C/C++要透過wrapper,相對起.m/.mm作法麻煩多了 03/07 16:05
13F:→ oneheat: 不過單純就作UI這件事情來講,Swift比OC強大多了 03/07 16:06
14F:推 fishfish1314: 我是相反 不知道要不要去把oc補起來.. 03/07 18:33
15F:推 justben: 會ObjC的轉Swift速度超快,重點還是背後的原理 03/07 20:08
16F:推 EQQD: Swift有methid swizzling? 03/07 20:09
17F:→ EQQD: o 03/07 20:10
18F:推 EQQD: 雖然我喜歡Swift但Obj-C 還是有東西swift做不到 不過swift 03/07 20:13
19F:→ EQQD: 進步超快 03/07 20:13
20F:→ yuanruo: swift 有method swizzling 但是不能玩runtime,C的東西 03/07 21:02
21F:推 nurockplayer: 我是先學SWIFT才學Objective-C 反而習慣OC了 03/07 21:52
22F:→ Daidouji: 總覺得過度神化了 03/07 22:32
23F:推 Argos: 說神化是有一點XD 不過Swift一整個看起來就是Apple很明顯是 03/07 23:52
24F:→ Argos: 有備而來的一個語言 以一個新語言來說真的完整到令人驚豔 03/07 23:53
25F:→ Argos: 如果純粹看細節語法與特色 有經驗的人大多會覺得很舒服 03/07 23:55
26F:→ Argos: 會在短時間變得這麼熱門絕對不只是因為Apple大力推行 本身 03/07 23:56
27F:→ Argos: 也得到各方高評價也有一定推波助瀾的效果 03/07 23:57
28F:推 sdcomputer: swift的話xcode的支援其實不太好..很多寫法要避免 03/08 03:12
29F:→ sdcomputer: 否則autocomplete跟syntax highlight會一直跑掉 03/08 03:12
30F:推 sdcomputer: 習慣KVC KVO的話要繞點圈子,然後swizzle是可以的 03/08 03:23
31F:推 sdcomputer: 回到正題,swift可學,production是沒有問題的 03/08 03:28
32F:→ sdcomputer: 不過職場上還是以objc為多,考慮合作的話最好都會 03/08 03:32
33F:推 sdcomputer: 然後我覺得懂iOS framework的運作機制比語言本身重要 03/08 03:37
34F:→ sdcomputer: 其他OS也一樣,知道怎麼運作去看objc也猜得出在寫什麼 03/08 03:48