我可以自學寫程式嗎?——給完全不懂程式的你

coding



如果你問朋友怎麼學會寫程式



通常你會聽到工程師跟你說,寫就對了,沒有寫你就什麼都不會。


朋友會跟你說,哇這個太難了,你別妄想了,你不行的。


有些很扎實工程師會說,你可以先從C語言開始,資料結構,演算法。


有些怕你放棄的工程師會跟你說,從網頁開始吧,直接就看得到成果,很容易上手。


又有的會跟你說:網頁根本不算是程式。



到底什麼叫做會寫程式?




程式幾十種golang, c, c++, c# java, php, python, ruby ....,這些都是程式嗎?他們有什麼區別呢? 學會哪些算是會呢?什麼是演算法?資料結構? 其實,這都不算是會寫程式。 那什麼是「會寫程式」?簡單來說,就是你擁有程式思維。



什麼是程式思維呢?



簡單來說,程式思維就是用計算機的方式去思考。 很抽象對吧? 沒關係,舉個例子給你聽就懂了。 今天媽媽給小明一張清單,請小明去超市買東西,如果有問題的話,可以打電話確認。 當你在超市買蘿蔔的時候,居然缺貨了。



小明可能會想「啊,去附近的市場買蘿蔔好了。」;或是「啊,打電話問媽媽一下好了」,買完蘿蔔發現玉米也缺貨了,小明就會參考蘿蔔的解決方法,去附近的市場買玉米。




買東西 -> 缺貨 -> 想辦法解決問題 -> 買東西 -> 缺貨 -> 參考之前的經驗解決問題 -> ... 直到買完東西。




如果小明是機器人的話呢? 小明就會打給媽媽,得到回答後再去附近的市場買蘿蔔,買完後小明機器人發現玉米也缺貨了,小明還是會再打給媽媽,然後再去附近的市場買玉米,回來之後小明又發現任何東西缺貨了,不用我說你應該知道了吧?小明會打給媽媽,然後在等待媽媽的決定。




買東西 -> 缺貨 -> 以原本的指示解決問題 -> 買東西 -> 缺貨 -> 以原本的指示解決問題 -> ... 直到買完東西。




thinking



那這樣看來程式思維其實很簡單,就是你設定一個規則,然後程式「只會」圍繞著這個規則行動。



所以有時候我們說,這程式怎麼這麼笨啊?你就完全可以理解。 但有些人會問:很多時候我看的程式很聰明的啊! 其實不是程式聰明,是寫程式的人早就想到你會碰到這些狀況了。



思考才是最重要的



基於上述邏輯,你用什麼語言根本不重要,重要的是你怎麼思考,怎麼設計你的規則,讓程式這個世界可以照著你的規則走,注意,我這裡說的是「你的規則」而不是「你的想法」。 程式設計師最重要的能力在於,把你的想法轉換為一系列的規則,使得程式最終呈現的樣子就好像符合你的想法一樣,實際上,程式只是符合你寫好的規則而已。



我該怎麼學習寫程式?



我給你的建議是,隨便挑一種語言,找些簡單的題目做,譬如印星星什麼的,思考你把想法轉換成規則的過程,仔細的體驗並熟悉,而且盡量不要去看解答,就算看解答,請你試著在腦中模擬一下,寫解答的人是怎麼把他的想法,轉換為規則的。



順帶一提,如果你一直在看解答,那肯定不是你沒天份,只是這個題目對你來說,還太難了。



總結




  • 寫程式並不需要什麼特殊的知識,最重要的是擁有程式思維。

  • 用什麼程式語言並不重要。

  • 不需要學會所有語法,從基本堪用的學會就可以了。

  • 程式思維是把想法轉換成規則的思考力。

  • 快速地寫題一點意義都沒有,程式不是學校考試,你思考的方式才是關鍵。



推薦



留言

這個網誌中的熱門文章

成人剪舌繫帶聽過嗎?我剪了!!

Scp - ssh 的遠端檔案傳輸指令

睡覺使你更有效率