為什麼這篇swift程式語言教學鄉民發文收入到精華區:因為在swift程式語言教學這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者gagalala (嘎啦)看板MacDev標題[心得] 自學swift三個月的心得時間Wed D...
打這篇文是希望能夠分享給同樣剛開始自學的人,
因為之前也是在這邊看到幾篇文章才覺得有點希望繼續走下去XDDD
其實自學內心感觸真的蠻多的,所以文章應該會有點長哈哈
-
啊,下標題的時候才發現,原來我接觸程式才三個多月。
這學期初因為在許多線上教學平台(Udemy、Udacity、Coursera等等)開始接觸到程式,
看著看著興趣就來了(我之前程設還停修XDDDDD),所以就越陷越深,
每天下課就是用電腦看看教學、寫程式,剛好遇上Udemy大降價,我就買了幾門課來上,
之後每天保持沒事就coding的習慣,上課也常常看些文章和document,
大概摸索了快一個月,我才逐漸瞭解寫程式在幹嘛。
其實我是先學python的,因為覺得資料處理還蠻有趣的,本身科系也需要處理很多資料,
另外程式看起來很親切,學起來比較無痛就繼續下去了,現在打工也有用上,
勉強算是學以致用吧XDDD
我本身雖然不是非常死忠的果粉,但很喜歡apple產品的質感,
所以想要學寫app,就買了本書來看,結果馬上被嚇跑XDDDDD
因為完全沒寫過程式的人真的會被那一堆落落長的API嚇跑,
直到學python一段時間之後,也看了一些更多文章,才知道那些程式是呼叫別的東西,
不然我當初真的完全不懂那樣寫的邏輯,即使它的API幾乎都能夠望文生義。
我捨棄objective-c而選擇Swift,原因也是因為「看起來」比較簡單,
然後才知道寫程式的邏輯才是最重要的,外表簡單其實也不會讓事情比較輕鬆XDD
不過我不會後悔啦,我也覺得初學者(尤其是非本科系的)還是學Swift比較好,
雖然板上很多大大都認為還有很多東西不支援,而且業界都用obj-c,
不過我是覺得等你學到那邊的時候應該就支援了吧,況且開源後前途不可限量啊~~~-
現在我也還很弱,但至少可以瞭解程式開發的輪廓是怎麼樣了。
目前對於基本的程式概念像是變數、迴圈、函數、物件等基本概念都可以掌握,
另外因為python所以也懂了不少抓資料、資料處理的方式,
雖然對物件導向的開發還是似懂非懂,不過也不會一下看到很多class就頭痛,
能夠靜下來好好看它的method和property在幹嘛。
我也盡量照著MVC架構開發,即使我做的app都小小的、實際用處也不大哈哈哈
但就是希望能夠慢慢的在正確的道路上前進,即使每次遇到新的東西都覺得很難懂,
像是最近在接觸的Git&GitHub......
真心覺得程式設計師超猛的,要一直學新的東西又能夠精熟一兩種程式語言,
真的相當佩服啊哈哈哈
-
在xcode方面,
我認為storyboard真的是很棒的發明,還有拉action和outlet真的超直觀好用!
auto layout現在比較能夠運用自如,可以把東西放到想要的位置而不出現紅橘線XDD
不過stack view現在還不太懂就是了......
總之,給自己的階段性目標算是達成了:可以讀懂別人的程式碼。
雖然一堆API都不知道也不熟,因為這都需要很多經驗或實戰的累積,
在寫程式的時候也常常要查資料,不過我想這是每個progammer都需要做的事,
但當我每次解決一個問題時真的蠻有成就感的!
但是我也覺得xcode不是個很好的IDE,常常會有奇怪的問題,
像是自動上色會突然失效、突然不能拉outlet&action,
最慘的是,好肥......
我已經10G了,這樣正常嗎??
我記得當初下載的時候才6G多,我也沒有開發大型專案怎會這樣 = =
還是他跟final cut pro 一樣會存超多暫存檔?真的不知道為何會變這樣
所以最近在找好用的plugin,我裝了AdjustFontSize, Backlight, SCXcodeSwitchExpander
不知道有沒有其他推薦的呢?
-
最後給其他和我一樣接觸不久的人一點建議好了,
雖然我也不是什麼厲害的程式設計師之類的,但也是辛苦了一段時間才摸索到一點皮毛。
最重要就是每天寫,其實真的擠的出時間的,我這學期超修累到爆炸但也撐住了,
早起一小時或晚睡一小時都可以,下課(班)後少點娛樂拿來練習,其實真的進步很快,
找個線上資源盯著看(當然要篩選一下品質啦),跟著不斷練習,
一直衝刺兩三個月,大概到我現在這種狀態才會遇到撞牆期XDDD
也建議不要只學swift,因為它太先進了,我推薦同時學python或javascript(擇一),
選個你不會怕的scripting language就對了!
還記得當初在板上同樣看到有位板友學了三個月之後寫出一個貓咪地圖之類的東西,
現在我也能夠做出類似的產品了,這樣真的蠻爽的。
講這麼多,就是希望每位剛接觸程式語言的人能夠不要畏懼,
我知道那種發現什麼都不會的失落和恐懼感,真的蠻挫折的。
不過我認為當你瞭解一個點之後,其他部分雖然不懂但也不會像天書一般讓你腦袋空白。
最重要的是,要有極大的熱忱,興趣才是支撐一切的動力,
如果是為了賺錢或是應付外務的話,
我上面所述的快樂和成就感只會給你反效果而已,也會更難熬過這些關卡。
最後,希望大家都能夠 Enjoy Coding!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.77.74
※ 文章網址: https://www.ptt.cc/bbs/MacDev/M.1450877116.A.940.html
paid professional。前者會教你做app需要的技巧,後者會以培養你成為職業programmer
的角度去教你,所以會講到比較多OOP、MVC的觀念,都不錯(記得等大降價再買XDDD)
※ 編輯: gagalala (140.112.73.102), 12/25/2015 17:17:17
※ 編輯: gagalala (140.112.73.102), 12/25/2015 17:21:10