close

《區段錯誤的勇氣----阿德勒教你寫程式》

Feb. 6, 2017

在一個工業大城中,住有一個相信“計算機無比簡單,人人都能寫程式”的工程師。

一天一位年輕人氣急敗壞,敲著工程師的門,並說道,“您簡直是一派胡言!”

工程師從電腦桌前轉過來,靜靜地說,“哦!是這樣嗎。”

“我讀了您的書,但您說‘人人都能寫程式’,我卻連作業都不會寫,連錯誤訊息都看不懂的人,您是不會瞭解的!”年輕人激動地說。

“拿出你的作業,給我看看吧。”

>>> 寫程式,就是練習表達 <<<

“老師叫我印出一堆星號,讓我看了就眼花,何況翻譯成程式語言。”年輕人抱怨說。

“你聽過心理學家阿德勒嗎(Alfred Adler, 1870-1937)嗎?他曾說過,人的煩惱,是因為人際關係的摩擦,而這些衝突又常常來自於沒有能力表達自己的想法。練習表達,是成功的關鍵。”

“您說了一大堆,又代表什麼呢?”

“到白板那邊,和我解釋要怎麼畫出星星。”

年輕人很快畫出了星星的圖樣。“不對,”工程師說,“從頭開始講,不錯過任何一個細節,試著與我表達。”

“在第1行印1個星星,第2行3個星星,第3行4個星星和1個空白....”年輕人用文字寫下了規則。

“`3k+2`行有幾個星星呢?”工程師問。

“年輕人想了一下說,`4k+3`個星星和`k`個空白。”他好像明白了什麼似的,回到電腦前面打字。“我懂了....”

哲學家在背後看著,微笑著說,“如果學會和人能夠溝通,那和電腦溝通也不遠了吧!”

>>> 改變自己,迎向成功 <<<

“但是老師,像這題只是計算反矩陣,為什麼電腦卻不聽我的話,告訴我區段錯誤呢?”年輕人充滿委屈。

“失敗雖然令人灰心,卻不能失去勇氣。阿德勒告訴我們,人,沒有完美的。程式也沒有。接受不完美的程式,然後把它變得更好。寫不出程式的時候,也會有‘我怎麼比不上別的工程師’的自卑情結。但阿德勒說,這樣只不過是陷在‘我不會寫程式’的藉口當中,而非去找到錯誤,改變錯誤。只要這樣,每個人都有能力完成想做的事。”

“老師,您說了這麼多,卻沒有告訴我怎麼找到錯誤,別再癡人說夢了吧!”年輕人嘲諷著。

“人生只是瞬間的集合,我們只能把握當下。此時此刻你看見了overflow,就不要想東想西的,看看上一步的輸出結果。你發現有一個除以0。此時此刻,又為什麼有0呢,是因為你用`int`來儲存除法的結果。如果你利用`static_cast`變成`double`,不就對了嗎。”

“老師,您說過‘不要試著改變對方,而是改變自己’,就是這個意思嗎?既然無法儲存小數點,那麼就更改資料結構,達成雙贏的局面。”

“不是我說的,是阿德勒說的喔。”工程師笑著說。

>>> 運用現有的工具,完成未知的任務 <<<

“那請問老師,這題叫我把多項式相乘,但是C++就沒有多項式這種形態,簡直是不可能的任務啊!如果是Mathematica,就可以直接相乘,教授卻偏要我用C++來做,不是自找麻煩嗎?”

“真的沒有辦法嗎?”

年輕人搖搖頭。“不可能的,我已經試過了。”

“雖然C++沒有多項式的型態,卻有別的型態啊。你何不問問自己,什麼是多項式。”

“係數的集合,和一個未知數。”

“如何儲存1個係數呢?”

“用`double`或是`float`。”

“如何儲存3個係數呢?”

“宣告長度為3的陣列。”

“那麼如何把兩個2個二次多項式相乘呢?”

“那就把常數相乘,把一次項交叉相乘....”年輕人呆若木雞,沒有把話說完。

“就像阿德勒說的,不要抱怨天生擁有的少,而是如何活用擁有的資源。”工程師靜靜地說。

--------

更多精彩內容,詳見《區段錯誤的勇氣----阿德勒教你寫程式》!全省各大書局熱賣中!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 QED314159 的頭像
    QED314159

    定理至此證畢。

    QED314159 發表在 痞客邦 留言(0) 人氣()