巴格.生活日記•學習筆記

- 取之於網路,用之於網路 -

筆記重點

    如何開始學程式-從零開始的工程師生活

    2020-05-01

    在這半虛擬化的世代,越來越多人開始學習寫程式。我也經常被問說:「如果從零開始學程式,應該先從哪些程式語言入門比較好、程式開發工具怎麼選擇;應該要去上課還是自學;之後可以找到什麼工作...」。於是我將這些問題一一整理成一系列文章來替想學程式的人解惑。

    探索目標

    我們先把腳步慢下來一點,在探討要如何開始學程式之前,我們先來探索目標 「為什麼要開始學程式?」

    • App好像很賺錢,我也想要開發App?
    • 我想要做一個自己公司的網頁?
    • 找份薪水還不錯的工作?
    • 興趣使然?
    • 你管我為什麼,我就是想學

    為什麼巴格要這樣嘮叨呢? 我想人在面對於一個沒興趣、沒目標的學習,往往會感到枯燥乏味,更何況是像下面的段火星文(C#程式語言)。

    // C# 這是一段顯示九九乘法表的程式碼
    void main(string[] args) {
      for (int i = 2; i <= 9; i++)    {
        for (int j = 1; j <= 9; j++) {
          Console.Write( i + "*" + j + "=" + (i * j).ToString("00") + " " );
        }
        Console.Write("\r\n");
       }
       Console.ReadLine();
    }

    我想可能有人開始頭昏了,哈哈哈~~ 這種情形就像是學習過程中會遭遇的碰壁,這時候如果有「目標」或者「興趣熱忱」來支撐著學習,它都能使你/妳不輕易放棄,所以說先找學習動機,會比先找如何學習來的重要很多。

    方向選擇

    程式開發應用的領域相當多元,這邊列舉幾項大家可能較熟悉的案例:

    • 網頁開發應用領域:電子商業網站(博客來)、形象官方網站(任天堂)、企業內部系統(企業資源規劃系統、製造執行系統)、服務型網站(Gmail)、網頁遊戲。
    • 應用程式開發領域:網路爬蟲、生產數據收集程式、自動化管理程式、電腦遊戲。
    • App開發:毫無反應,就只是個App。

    這邊提供幾點方向:

    • 如果你想要製作App,可以參考這篇「我想寫手機程式,但我不知道該選iOS還是Android」
    • 如果你想要開發遊戲,C#、Unity會是個好選擇。
    • 如果自認美感不錯,可以先嘗試學習前端語言HTML+CSS(等有寫程式的概念再開始學Js會比較沒有碰壁感)。
    • 如果自認邏輯不錯,可以先嘗試學習後端語言(PHP、Python、Golang、C#)。

    自我學習 V.S 教導學習

    已經決定好學習目標了,但是不是馬上就遇到下一個難題了!?(迷:學程式怎麼那麼麻煩) 你/妳是不是在網路自學、請人教學上課無法做抉擇吧!?。

    應該透過何種資源來做入門學習呢?

    其實這問題沒有最好的的選擇,只有最適合你/妳的選擇,我們可以依照簡單地面向去分析討論。

    • 如果你/妳可以花費的時間>金錢(像是學生),那我會覺得可以建議先嘗試著自學看看。
    • 如果你/妳可以花費的金錢>時間(在職但急著轉行),那或許花錢上課是一個不錯的選擇。

    當然啦!其實網路上有許多免費的資源可以應用,都可以試著先做初步的學習瞭解再來慢慢選擇適合自己的學習方式,沒有硬性規定說這樣做最好。

    私心推薦

    看完以上之後你/妳還是對於相當迷惘,要學習什麼程式語言沒有方向的話,巴格推薦 「網站的前端開發」給你/妳吧!至於為什麼推薦它呢?在於「網站」擁有應用性廣泛(市場需求高)、學習回饋性高(學習成就感)、線上資源多(自學也OK)之特性。