程式設計師為什麼一定要學好數學?駐足聽一下「老人言」

2021-09-08 01:53:39 字數 1201 閱讀 3411

講一下自己的慘痛經歷!三個方面:

1、數學?不存在的,老子只學專業課!

2、數學?不學不行,老子還得去補一下!

3、數學?不僅僅要學,還要深入學!

1、數學?不存在的,老子只學專業課!

學習之初,很多人都會有這樣的困惑。包括我在內,我想學計算機專業,老師你就直接單槍直入,教我專業性的東西啊,光教一些跟程式設計八竿子打不著的數學幹啥?!

這樣導致的乙個結果就是,每次基礎學科考試總是應付了事,抱著能過能及格的心態一路走來,不遇坎坷就一直坐著自由落體的運動!

2、數學?不學不行,老子還得去補一下!

我學習資料結構和演算法時,總感覺自己用起來沒有得心應手的感覺,做一些演算法優化的時候,基本上也是只能現搬書裡的演算法,遇到不太一樣的問題,就不知道怎麼解決了。就比如那些什麼排序,快速排序堆排序希爾排序。。。只能記住他們的時間複雜度和空間複雜度和寫法,卻從來不知道這些演算法是怎麼設計出來的,這些演算法為什麼是正確。

於是開始不斷地翻看演算法相關的書籍,原因正是數學基礎不好,因為沒有從根基上了解其原理,所以學習起來總感覺自己在中間飄著。

其實無論我們以後是學習哪一門程式語言,或者說要學習大資料、人工智慧等,數學是乙個很重要的學科。

3、數學?不僅僅要學,還要深入學!

計算機歸根到底在cpu執行的都是指令操作,每個指令最終都是靠0101二進位制來儲存和解析,這就是數學裡面最基本的東西。所以說,計算機和數學密不可分。

舉例說明:

歸納證明法和遞迴程式設計的關係非常緊密,你不理解其中乙個,就不可能真正理解另外乙個。你可能不知道術語基本情況和歸納假設,但是如果你不能理解這些概念,你就沒有辦法寫 出正確的遞迴程式。所以,即使是在與數學無關的領域內,不理解這些數學概念的程式設計師也會遇到很多困難。 優化方法取決於函式的形式,從目前看,最優化方法通常是基於微分、導數的方法,例如梯度下降、爬山法、最小二乘法、共軛分布法等。 還有線性代數中的矩陣、轉置、秩 分塊矩陣、向量、正交矩陣、向量空間、特徵值與特徵向量等在資料分析中都有很大的關係。

綜上:如果想要在it行業技術上有突破深入發展,還是要深入學習數學的。不能說你為了學程式設計就是寫點應用邏輯,這樣多沒意思。什麼編譯器,作業系統,瀏覽器,資料庫,遊戲引擎,大學期間都可以自己試試造輪子寫一寫,學習過程中不要老是用別人的api,老是用別人寫的庫,要度嘗試自己寫核心,雖然一開始可能會很爛,但畢竟能讓自己學到東西不是?

程式設計師為什麼一定要用Linux?

大多數人推薦linux,基本上都會說linux讓你更高效 更優秀。然而工具只是工具。然而工具只是工具。然而工具只是工具。優秀程式設計師和不優秀程式設計師的區別首先是態度上的區別。他們有自己的理想,思考很多,不管是專案開始之前還是在專案進行中,專案完成之後也會進行總結。他們對待問題比較嚴謹,思考比較全...

程式設計師為什麼一定要用Linux

大多數人引薦linux,基本上都會說linux讓你更高效 更優異。然而工具只是工具。然而工具只是工具。然而工具只是工具。優異程式設計師 和不優異程式設計師 的差異首先是態度上的差異。他們有自個的理想,考慮許多,不管是專案開端之前還是在專案進行中,專案完結以後也會進行總結。他們對待疑問對比謹慎,考慮對...

Python程式設計師為什麼一定要掌握Linux?

不少python新手經常問到學python到底需不需要學習linux?python不是支援windows和linux作業系統嗎?能在windows下開發為什麼還要學習linux?問這樣的問題的朋友,可能還沒有真正入行python開發或者沒有真正參與公司的一些專案部署,上線過程,對於上面問題,首選答案...