雜談學習Swift的原由及輾轉的旅程
賽思的學習之旅 —書中的一隅
大家都知道,學無止境,
但人的學習曲線會隨著年紀的增長而逐漸下降。
感嘆自己漸增的年輪(?),所以在數月前的某天,我決心要再學點困難的有創造性的技能,於是盤點了自己所擁有的興趣、技能、能力,並思考著究竟要學習什麼樣的東西,才能最大化的提升未來的各種可能性呢?
現代科技社會,人手一支智慧型手機,每人每天從睜開眼睛到閉上眼睛前…不,連閉上眼睛時也一樣,都會開啟無數種App來使用,無論生活上、課業上、工作上、人生上…所以在近未來之中,可以想見人們對於App的依賴程度只會越來越高,所以我就決定要學習開發App,至少至少也要達到能與App工程師對談如流的次專業能力。
此前早有耳聞,蘋果開發的Swift算是新時代的程式語言,雖然新,但是卻學習了很多其他不同程式語言的優點,也在各式程式語言的排行榜中佔據了許多寶座。加上以世界最大的兩個系統:iOS及Android之中,iOS在各種層面上都是較好的選擇,所以自然而然的我就以這個為目標開始學習。
起初,我對於自己的自學能力是非常有自信的
舉凡Google、圖書館、坊間書籍、網路教學資料都是我能涉略的範圍,所以我就開始研讀了很多網路資料及圖書館的書籍。幾個月過去了,我的進度卻很緩慢,雖然了解了很多程式語言的觀念、架構、語法,比如迴圈、switch函數等,但是對於實際寫App卻是完全摸不著頭緒。這是因為一般來說透過網路方式來學習最大的問題點會在於沒有人盯進度以及出作業看作業,當然這個你可以藉由尋找同伴來解決,但除此之外,每一個人會卡住的問題也不盡相同,當你碰到有問題要用Google搜尋時,大部分時候都是很痛苦的。但往往這些問題,只要有很熟swift的人在身邊的話,其實是一兩句話就可以點通的,所以若是有老師可以問,真的是很快速就可以獲得解答;再者,我缺少實機操作的過程,雖然我有在iPad上遊玩Playgrounds,也玩遍了幾個重要的冒險,但始終還是沒有開啟Mac來實際使用Xcode。
我碰巧在圖書館借的書:《彼得潘的 Swift 程式設計入門》
試閱時,覺得裡面出的習題很多,觀念也都教的很清楚,所以很快就決定要借回家研讀一番,但程式語言這種東西畢竟細節很多,書上雖然盡可能的詳盡描述,但總會有不太理解的部分,累積起來後容易覺得卡來卡去的效率很差,於是我就上網查了一下這個作者,沒想到剛好有開課,而且已經上課了三四堂了,但是下一期的開課時間還有四五個月,我並不想要把這件事情繼續擱置這麼久,所以就馬上聯絡彼得潘,詢問看能不能夠插班上課,這才開啟了我彼得潘的Swift夢幻島之旅。
就這樣順順的過了短短1個月多,我的學習效率就大幅超越之前的自學成果。之前我就一直想要開始在Medium上寫點東西,剛好彼得潘的課就是使用Medium來交作業的。(於是很順的就又把想開始做的事劃上了一筆)
在寫完程式作業進而轉到Medium寫作時,也會更進一步的讓自己更了解自己到底用了哪些東西,做哪些事情,懂了哪些功能,所以在整個過程之中,都是很棒很高效的正面循環。
彼得潘的課有幾個大優點:
- 有分程度開班,轉換跑道能學,完全初學也能學
- 經濟實惠,外面學費動輒數萬至十萬以上的都有,相較之下彼得潘班的費用親民的多
- 不是用愛發電,但Peter用愛教學,有些時候還可以幫同學多補一小時的課,課外的時間也都不遺餘力解答同學各種問題
- 習題很多,不怕你寫完只怕你不寫。熟練熟練,要熟就要練,彼得潘每堂課都有五花八門的習題等著你練習,就算練完了,也還有更多挑戰題可以嘗試,沒花個一百小時很難寫的完
也有幾個缺點
- 這個班不是靈丹妙藥一吃就會,躺著的話是學不會Swift的
- 沒交作業不會處罰,不寫作業練習一直看電視的話也是學不會的
- 上課不專心、不懂不提問,我猜Peter沒有讀心術,不會發現滴
以上就是我學習Swift數十天的心得,希望這心得能幫助到也想學習的你:)
最後再附上一張犧牲色相(?)換得一杯飲料的期末照片
(訂飲料用的App就是之前學長寫出來的喔~)