[心得] 最近教朋友入門寫程式的一個發現

看板Soft_Job (軟體人)作者 (阿川)時間10年前 (2015/08/02 09:56), 編輯推噓33(33018)
留言51則, 37人參與, 最新討論串1/2 (看更多)
大家安安 最近教幾個朋友入門,發現trial and error這件事情,對新手來說很難理解 因此寫了一篇文章給他們 跟大家分享一下,謝謝大家 <( _ _ )> 網頁好讀版: http://blog.turn.tw/?p=2568 --------------------------------------------------------------- 最近想學寫程式的人很多,我身邊也常常有朋友問我怎麼開始。 許多文章在談選擇工具、程式語言的注意事項。 我認為最重要的注意事項是:電腦其實很笨,和它互動需要保持耐心。 不提醒這件事的話,初學者一碰上挫折會以為自己很笨,以為「自己不適合寫程式」。 一般人常覺得寫程式就是對著電腦打一堆神奇英文,像在施展魔法一樣, 只有厲害的人能做。 其實完全不是這麼回事。程式設計比較像是一直看到空白畫面、錯誤訊息,出錯、 設法解決、再出錯、再設法解決、結果又出錯。不斷來回循環,慢慢取得進展而已。 這就是大家常聽到工程師在講的「trial and error」。 沒跟初學者提醒這件事情,會導致他看到空白畫面就覺得挫折, 看到奇怪的英文錯誤訊息就想放棄。 有些人甚至已經寫出一點東西、根本已經順利上路了, 卻因為太常看到錯誤訊息就覺得「自己不適合寫程式」。 這真是誤會大了。coding本來就是用這種鳥方式在跟電腦互動。 這樣說可能還是有點籠統。那跟大家分享四個入門小訣竅吧! 訣竅一:至少要看到錯誤訊息 不管你在寫人生第一個小程式、架伺服器、還是連接資料庫, 失敗之後至少要看到錯誤訊息,才知道找答案的方向。 找找看去哪邊設定,讓錯誤訊息顯示在螢幕上或是紀錄在某個檔案裡吧! 訣竅二:大量Google就對了,再不行就發問 初學程式設計會遇上一堆問題,這個時候只要不斷Google就可以解決大部份的問題 (通常拿錯誤訊息去Google就有答案了)。 不要因為自己「一直在Google找答案」就覺得「自己不適合寫程式」。 就算是軟體工程師依然每天在Google上找來找去。 還是解決不了,就找批踢踢看板、臉書社團之類的地方發問吧! 訣竅三:遇到瓶頸,就降低目標,從簡單的開始 不用急著把書上的範例、網路上的範例一次做對。 想在介面上做出一個按鈕卻不斷失敗嗎?那就先在介面上顯示幾個文字試試看, 也許會發現別的地方弄錯了。 想把一串資料在程式間傳來傳去卻不斷失敗嗎?那就先讓它們互傳幾個數字試試看, 成功了再繼續往下走吧! 訣竅四:隨便瞎搞就可以了,有興趣的部份再鑽研 初學而已,你想做的事情有完成即可。 過程中許多部份會讓你覺得很「黑箱」,覺得自己沒有全都搞懂,好像在學假的? 大可不必這樣想。你不需要在一開始就弄懂每個細節。在瞎搞中獲得樂趣與成就感即可, 一些技術原理和細節,有空再慢慢查吧! 總而言之,看到錯誤訊息不要緊張,因為那其實是電腦在找你聊天呢~(溫馨) 不要把錯誤訊息和空白畫面視為挫敗的一種。把它視為和電腦互動的方式才對。 不相信的話,去問問身邊當工程師的朋友,問他們一天在螢幕上看到錯誤訊息幾次。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.195.239 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1438480584.A.83D.html

08/02 10:08, , 1F
先教try catch
08/02 10:08, 1F

08/02 10:28, , 2F
不太建議教新手try catch,先學會看錯誤訊息比較好
08/02 10:28, 2F

08/02 10:38, , 3F
先教try catch第一次帶壞新手就上手
08/02 10:38, 3F

08/02 12:09, , 4F
被電影誤導的吧? 以為要不斷key出很多字,順順的跑出很多
08/02 12:09, 4F

08/02 12:09, , 5F
資料才叫做寫程式。
08/02 12:09, 5F

08/02 12:12, , 6F
說真的,那麼好學 大家就起薪25k了
08/02 12:12, 6F

08/02 12:31, , 7F
以我看到的經驗,第一點就很難。很多新手看到錯誤訊
08/02 12:31, 7F

08/02 12:31, , 8F
息都是直接關掉或略過
08/02 12:31, 8F

08/02 13:11, , 9F
先有目標在學會比較好一點 過程中不懂得可以先寫完功能
08/02 13:11, 9F

08/02 13:11, , 10F
再回來研究 我自己是這樣..總比BUG找半天都沒有成果
08/02 13:11, 10F

08/02 13:12, , 11F
來的有成就感
08/02 13:12, 11F

08/02 13:16, , 12F
不要說新手,就算老手學新東西也是很挫折
08/02 13:16, 12F

08/02 13:18, , 13F
昨天把專案從swift 1.2 升級到2.0 跳出一大堆的warn
08/02 13:18, 13F

08/02 13:18, , 14F
ing & error,挫折到決定先睡個覺,今天再玩
08/02 13:18, 14F

08/02 13:43, , 15F
真有趣 推
08/02 13:43, 15F

08/02 15:08, , 16F
區域變數畫表,人腦complier,每行都印出來
08/02 15:08, 16F

08/02 15:09, , 17F
這篇還不錯 推
08/02 15:09, 17F

08/02 15:50, , 18F
其實現在寫程式 沒看到error反而心裡不踏實
08/02 15:50, 18F

08/02 16:21, , 19F
沒出現error反而覺得有鬼吧 XD
08/02 16:21, 19F

08/02 16:24, , 20F
沒error還好吧 碰更多是邏輯或異步順序問題 這種都沒err
08/02 16:24, 20F

08/02 17:06, , 21F
有給方向,推
08/02 17:06, 21F

08/02 18:19, , 22F
ERROR好找,邏輯上的問題才會找到翻臉
08/02 18:19, 22F

08/02 18:38, , 23F
error才好找+1, 邏輯有問題才崩潰
08/02 18:38, 23F

08/02 18:48, , 24F
恩恩~碰到邏輯跟異步問題真的比較麻煩
08/02 18:48, 24F

08/02 20:01, , 25F
邏輯 還有某些特例狀況才會機率性掛掉的東西 會崩潰..
08/02 20:01, 25F

08/02 22:35, , 26F
overriding忘記改return值
08/02 22:35, 26F

08/02 23:52, , 27F
沒error真的比較崩潰...
08/02 23:52, 27F

08/02 23:53, , 28F
打完一大段後執行完全沒錯誤感覺怪怪的 XD
08/02 23:53, 28F

08/03 00:09, , 29F
我做出來了,我不知道為什麼
08/03 00:09, 29F

08/03 00:16, , 30F
我用php時常常發現整頁都是白的XD 最後總是發現少個()或
08/03 00:16, 30F

08/03 00:17, , 31F
多個' 很囧
08/03 00:17, 31F

08/03 00:31, , 32F
樓上一定沒用IDE...話說我覺得沒IDE能寫程式真的很神
08/03 00:31, 32F

08/03 07:24, , 33F
幹這行本來就是荊棘險阻可歌可泣 "會做"和"職人"絕對還是差很
08/03 07:24, 33F

08/03 07:25, , 34F
08/03 07:25, 34F

08/03 08:28, , 35F
教新手寫程式,一定要教如何Google stackoverflow!
08/03 08:28, 35F

08/03 08:32, , 36F
寫一堆code沒error自己都會怕XD
08/03 08:32, 36F

08/03 09:11, , 37F
stackoverflow除錯工程師報到
08/03 09:11, 37F

08/03 09:13, , 38F
這種程式語言會細心呵護北爛的程式
08/03 09:13, 38F

08/03 10:36, , 39F
學著去用 debuger, 功力會大大增強
08/03 10:36, 39F

08/03 12:42, , 40F
compiler 結果沒跳 error 才恐怖
08/03 12:42, 40F

08/03 12:59, , 41F
stackoverflow小書僮
08/03 12:59, 41F

08/03 13:10, , 42F
沒IDE有很神嗎 不是很多人用text editor而已? 我就是阿
08/03 13:10, 42F

08/03 14:31, , 43F
人家有千禧蟲,我遇過"民國蟲",前手是天才,"年度"欄寬2..
08/03 14:31, 43F

08/03 14:31, , 44F
編譯?當然過!可是時間到就死給你看!
08/03 14:31, 44F

08/03 15:33, , 45F
沒跳error 才恐怖 XDDD
08/03 15:33, 45F

08/03 19:23, , 46F
trail and error其實非常挫折, 尤其只看到 seg fault
08/03 19:23, 46F

08/04 11:55, , 47F
沒跳error 等於以後會死的不明不白
08/04 11:55, 47F

08/04 13:36, , 48F
我用 UltraEdit 和 Notepad++ 寫了好多程式...
08/04 13:36, 48F

08/05 12:21, , 49F
愛用Sublime text
08/05 12:21, 49F

08/06 13:15, , 50F
萬事起頭難,有個開始就是好事。
08/06 13:15, 50F

08/09 20:59, , 51F
真的每天都在找BUG
08/09 20:59, 51F
文章代碼(AID): #1LlNZ8Wz (Soft_Job)
文章代碼(AID): #1LlNZ8Wz (Soft_Job)