優秀的程式設計師需要擅長數學嗎?
今天有很多年輕人或經驗不足的程式設計師在論壇發帖、在 Stack Exchange 網站問:「為了成為優秀的程式設計師,我需要擅長數學嗎?」,在我還年輕的時候,我也問自己同樣的問題。最近,我醉醺醺地、也是出於無聊,竟然 Google 了同樣問題,差不多有 10 多年沒有思考過這個問題了。在我瀏覽相關話題時,出現的答案模式被歸結為以下三個主要類別:
- 需要
- 不需要
- 看情況
貌似「需要」和「不需要」經常帶有個人主觀偏見,反而顯得有點兒草率的反應綜合徵。因此我把精力更多地放在「看情況」的選項上,以確保「需要」被證明為一種更加普通的觀點。我決定就這個問題寫點兒東西,考慮到這一點,我的醉醺醺的念頭開始興奮起來,這將促使我不會再忽視它。為了成為一名優秀的程式設計師,一個人是否需要擅長數學的問題,可以從哲學和技術兩個方面解答。我打算堅持哲學層面。意識到它為什麼對我重要,是因為一個更年輕的我,為了找到基於不成熟和懶惰而萌生的「不需要」選項,將要投入更多的時間。
首先,我們必須嘗試建立擅長數學的資格。一個人可以在既定數學原理或建模方程上,明白全域性概念以適應情況,而另外一個人或許在數學的分析部分,比如長於計算、以及操作表示式和方程。在我看來,這兩種情況下,二者的平均數學能力都不錯。然而,在上面提到的兩個特徵上有著高度競爭力的一個人,可能成為被視作「擅長」數學的最佳候選人(記得把鳳毛麟角的約翰·馮·諾伊曼歸入精通數學的類別)。就我目前在大學數學課上觀察到的,那些真正擅長數學的人們不屬於大多數。這使得答案更加複雜,「看情況」選項的有效性得到了增強。
在「Hello World」和 C++ 的名字到處亂放、而不明白其所以然時,成為一名程式設計師的階段通常從掌握基礎的教程開始,例子通常包含了數學。設想一下,打算程式設計的某個人,將很可能自然而然地深究問題,開始懷疑數學在程式設計中能否發揮切實作用。
坐下來為了程式設計而程式設計,除了學習既定程式語言的語法和機制,不會摻雜太多目的。最終,程式設計是要解決問題,並在數字王國裡創新。通過為計算機程式設計,你想解決或創新什麼?如果你想編寫網頁或自動化任務的指令碼,數學不會起到較大作用。然而,如果你對圖形程式設計、開發業務和科學方面的應用有興趣,那麼數學在開發週期裡將發揮很大作用。
一旦你在特定領域有了客觀目標,問題就更多地變成了學習與該領域相關的數學。有了必需的數學,以及數學思維的強大基礎,就可以產出偉大的軟體。因此它真正取決於你想用程式設計完成什麼任務。不管怎樣,上面的說法不是要否定學習數學。在學習程式設計中,我已經注意到了一個地方,問自己是否應該學習新東西,是極端錯誤的。因為軟體開發根植於新技術的持續學習。
一個人為了成為優秀的程式設計師是否需要擅長數學,對於這個問題,我們現在考慮它的一個選項「需要」。對於不擅長的人而言,我建議他們看看數字計算機的歷史、以及那些推動機器革命的幕後人。數字計算和程式設計根植於數學。學習數學有助於提高問題解決的技巧和分析思維。是的,如果你想解決需要數學的、各種領域的複雜問題,那麼擅長數學對於優秀程式設計師而言,是不可或缺的。我儘量從不設限,當困難出現時,就勇往直前吧。
相關文章
- 優秀的程式設計師真的不寫註釋嗎?程式設計師
- 你知道python程式設計環境需要具備,哪些優秀的功能嗎?Python程式設計
- 你需要程式設計師鼓勵師嗎?程式設計師
- Java程式設計師如何成為優秀的架構師Java程式設計師架構
- 優秀程式設計師都在注意的十個點程式設計師
- 優秀的程式設計師都熱愛寫作程式設計師
- 程式設計師的數學程式設計師
- 優秀程式設計師,如何提高架構能力?程式設計師架構
- 2019如何成為一個優秀的程式設計師程式設計師
- 成為優秀UI設計師需要具備哪些條件UI
- 10個程式設計好習慣:優秀程式設計師的經驗分享程式設計師
- 初學者成為優秀Java程式設計師的8個步驟!Java程式設計師
- 程式設計師需要有好的英語水平嗎?程式設計師
- Java程式設計師需要學習的技能Java程式設計師
- 有必要參加長沙IT培訓嗎?一名優秀的程式設計師應該具備什麼能力?程式設計師
- 如何確定自己是否適合做程式設計師?程式設計師的成長需要什麼?程式設計師
- "無程式碼"時代的到來,還需要程式設計師嗎?程式設計師
- 幽默:優秀程式設計師過馬路看兩邊程式設計師
- 優秀程式設計師都在用哪些Chrome擴充工具?程式設計師Chrome
- 程式設計師程式設計入門一定知道!程式設計師需要學什麼?程式設計師
- java程式設計師學歷重要嗎?Java程式設計師
- 程式設計師是一個需要天賦的職業嗎?程式設計師
- 程式設計師需要了解的邏輯學思想程式設計師
- 花費優秀程式設計師95%時間精力的事情 - MICHAEL JACKSON程式設計師
- 優秀的程式設計師都有的十條特徵,你中了幾條?程式設計師特徵
- 一名優秀的程式設計師應該向誰提問程式設計師
- [開發故事]成為優秀程式設計師的十個有效方法程式設計師
- Python書單|成為一名優秀的Python程式設計師Python程式設計師
- 幽默:js程式設計師的數學不好?JS程式設計師
- 《程式設計師的數學》思考題(一)程式設計師
- Java程式設計師需要學習哪些知識?Java程式設計師
- 新Rust程式設計師需要學習的9個功能Rust程式設計師
- 程式設計師的路好走嗎程式設計師
- 成為一名優秀程式設計師(&人類)的 101 個技巧程式設計師
- 怎樣把自己培養成為一個優秀的程式設計師程式設計師
- 相愛相殺:程式設計師的數學程式設計師
- 優秀的程式設計師10分鐘內能搞定下面5個程式設計問題,你呢?程式設計師
- 長沙Web前端培訓:優秀的Web前端工程師需要具備什麼?Web前端工程師
- 程式設計師的數學筆記2--餘數程式設計師筆記