不學數學算法原理的編程,是給你源碼你也看不懂

學習編程是這樣一種痛,分分鐘讓自己懷疑人生。之所以嚷嚷學習編程痛苦,就是因為即便高手前輩把代碼開源了,有步驟有算法的一大堆自己也看不下去,最終終於宣告看不懂。編程是一種痛,因為只要 的,都是學識淵博,貫通各種知識的,只學編程語言就想弄懂編程?吹吧。

不學數學算法原理的編程,是給你源碼你也看不懂

學編程,最多也最難的知識量,不是編程語言本身,而是數學、算法、底層原理、協議接口、模型結構等等。除了編程語言本身外,不懂數學/算法、英語,計算機原理的編程,看再多技巧和編程實現,也如同只會一鍵美顏,而不會PS作圖。

不學數學/算法,就是一個應用的實現代碼給你了,你也看不懂,比如利用某個循環畫圖,假如你連中學的時候學過幾個基本公式都忘了的話,你睜著大眼左看右看就是看不懂,人家是怎麼循環出那個圖形的,更何況,很多時候,還要用大量的數學公式,數學公式除了我們上中學學的三角函數對數排列組合等等基礎數學知識外,還有用數學推導公式來實現某種公式和算法。你不會?得了,看著公式算法就發愁,看著長串源代碼就頭暈。

很多編程過程的核心,就是幾個數學問題解決;而很多一個簡單功能的實現,就是一些算法問題;所以學編程,數學要溫習,算法要多學習。當人工智能時代把一切數據化後,那麼現實問題就是一些算法在分析和解決。就好比生活中你的問題,你用什麼既高效又能針對問題的方法來解決它。編程中算法的問題,有時候和我們生活中的問題的解決一樣。

編程寫代碼本身就是需要原理性的知識和計算機對話溝通,指導它辦事。所以計算機原理一定要懂。雖然現在編程越來越高級抽象,越來越不在乎佔用空間的細節問題了,不過一人客個人覺得要實實在在寫代碼(不是寫腳本,不是隨便拼湊個應用就可以裝逼那種),計算機原理一定要懂的。當然話又說回來了,問題就在於這貨太複雜了,從機器語言到彙編,從彙編到高級;從軟件到硬件,從算法到網絡,各種重構各種邏輯各種優化各種精簡。小心翼翼寫完了,一不小心,還有萬惡的BUG問題,模稜兩可、莫名其妙、匪夷所思、奇哉怪也。不懂計算機原理和一些基礎知識,你自己寫的代碼,你自己都不知道是怎麼回事。

當然還有一點,現在的計算機邏輯,01之上就是一堆堆的英文符號。當然在AI時代到來之前,當新的編程形式和智能感應還未出現,目前我們的編程形式,依舊是大量的字符,即便成熟的集成開發環境可以智能提醒很多,但我們面對的,依舊是基於邏輯的一行行具體代碼。英文式的代碼,早已經規範成計算機內置的國際通用語言了,所以懂英文也重要。不懂英語,別說寫代碼的時候困難,容易錯別字,就連學習閱讀的時候,都繞不開要閱讀和理解大量的英文文檔和代碼。

不可否認,時代進步太快,現在其實不懂底層原理,就能輕鬆完成一些應用;但是,在做一些真正的項目解決現實問題時,如果沒有別人提供的模塊,你不懂數學、算法、通用語言和計算機邏輯原理,會舉步維艱束手無策。而在AI機器人時代,特別是涉及到算法、底層等問題,一些基礎的東西更重要。


分享到:


相關文章: