過度自信是阻礙進步的根源

話說在前頭,這是一篇抱怨文,如果你看了對號入座不開心,請先檢討自己的態度,不要在我的部落格發飆,因為我一定會把它刪掉。

       話說在前頭,這是一篇抱怨文,如果你看了對號入座不開心,請先檢討自己的態度,不要在我的部落格發飆,因為我一定會把它刪掉。

       認識我的人應該都知道我常常會在論壇閒逛,所以這是我在論壇看到一些奇怪現象的感想,其實論壇的功能就是討論,原則上是因為有問題才會發問,不過近來發現一些發問者對自己的程式似乎過度地有自信 (謎之聲:既然你這麼有自信,還來發問是幹嘛?)。自信不是一件不好的事情,不過我想告訴這群過度有自信的小朋友:「過度自信是阻礙進步的根源。」

       為什麼會這麼說呢?寫程式基本上是一種長久不斷改進與演練的過程,意即它通常是「昨是今非」的,當你的閱讀且吸收的文件越多、撰寫程式碼的經驗越來越豐富,你寫程式的風格就會慢慢地轉變,就像我現在看一年前寫的程式碼就會有一種改掉它的衝動,因為心裡的OS是:「我怎麼寫得出這麼爛的東西?」。這種進步來自於哪裡?來自於我們對於自己目前的寫法不滿意,因為不滿意,所以不斷地在花時間尋求與測試更好的方法;於是開始閱讀文件 (可能來自於書籍或網路)、與同好討論,積極地去找出可能對自己有幫助的方案。

       懂得要求自我進步的人和半桶水的差異在哪裡?當一位懂得要求自我進步的人發生問題的時候,第一個反應會是「一定是我在某個地方的觀念不正確或是在哪幾行的程序處理或邏輯是不正確的。」所以他會開始去尋求更好的方法,於是就又進了一步。半桶水會自滿地以為自己永遠是對的,當程式發生錯誤,他會認為這是編譯器或電腦的錯誤,然後就在論壇上大剌剌地用出『Bug』這個名詞,不過如果熟悉論壇的人應該都知道,大部份這種指陳『Bug』的發問,最後獲得證明的是發問者本身對於程式撰寫的認知太淺薄,講白一點就是基礎根本太差又不用功。更有甚者認為是電腦本身的問題,這種為自己辯解的說法根本連錯都還稱不上,除非你的程式今天對於處理器、記憶體或其它週邊要求是非常高的 (老實講,要寫得出這種程式 ex: Maya之類的大概也不需要來發問了,當然,因為架構錯誤導致資源需求飆高的情形除外),否則當你發生在雙核CPU可以使用,而Pentium 4執行會發生錯誤唯一個原因是什麼?是你的程式中有極大的缺陷導致這個問題發生,回到鮑立(不相容原理的發明人)的口頭禪:「你程式的原始架構連錯都還稱不上。」最糟的是,偏偏半桶水是最喜歡爭辯的一群,那我就很好奇,既然你一開始就認為是硬體的問題,那何必來問?還是你只是想尋求別人支持你的意見?於是半桶水只會固步自封,永遠沒法辦法讓自己的功力往前進步。

       好了,我抱怨完了,也希望大家期許自己做一個努力尋求進步的人而不是自滿的半桶水。以下回應僅開放支持者簽名,如果半桶水們看了不爽,請自行在別的地方開文和我叫陣,因為你回在底下我就會刪掉。