關於數學和軟體設計
喜歡這裡的氛圍,所以對於一些想法我也很想提出來,讓大家來分享一下。
經常看見bang老師和大家熱烈的討論數學中的演算法和軟體的思想,那我也談談這方面的論點。演算法其實是數學的一部分,也是比較特定的,就像軟體開發中的硬編碼,即這段程式碼是死的,沒有很大的靈活性重用性,人們之所以學數學也不是為了記幾個有用的公式和演算法,不然我們中的大部分人學到初三就行了。之所以學數學,有一個原因我想大家都知道那就是可以提高邏輯能力,沒有一定邏輯能力你的推導就會是處處矛盾,你的程式也會錯誤百出。
其實學數學還有另為一個作用,也是我想說的,那就是讓你有抽象的能力,學會站在一定的高度去看待問題。為什麼這麼說呢,縱觀數學歷史,起初只有幾串數字而已,接著出現了數學的變數(不是指軟體語言的變數),這是一個很了不起的發現,變數代表了所有的數。接著是符號的產生,這更是偉大的變革,符號的產生可以說是極大的解放了我們人類的思維,因為符號可以代表一切事物。然後你可以利用符號對一切事物建模,進行演算並得出合理的解決方案。所以說學了數學可以讓你有抽象的能力,而抽象正是軟體設計中強有力的工具,沒有抽象也就沒有設計模式,更加沒有程式語言的函式,當然也不會有龐大的軟體。我想每一個軟體人員還是得懂點數學知識的。而bang老師如此反對演算法的重要性以及區分數學和軟體設計,我想是國內的環境導致了對演算法和數學的誤解吧。
數學也是一種大道至簡,沒有一門學科或者應用可以如此的簡潔。
經常看見bang老師和大家熱烈的討論數學中的演算法和軟體的思想,那我也談談這方面的論點。演算法其實是數學的一部分,也是比較特定的,就像軟體開發中的硬編碼,即這段程式碼是死的,沒有很大的靈活性重用性,人們之所以學數學也不是為了記幾個有用的公式和演算法,不然我們中的大部分人學到初三就行了。之所以學數學,有一個原因我想大家都知道那就是可以提高邏輯能力,沒有一定邏輯能力你的推導就會是處處矛盾,你的程式也會錯誤百出。
其實學數學還有另為一個作用,也是我想說的,那就是讓你有抽象的能力,學會站在一定的高度去看待問題。為什麼這麼說呢,縱觀數學歷史,起初只有幾串數字而已,接著出現了數學的變數(不是指軟體語言的變數),這是一個很了不起的發現,變數代表了所有的數。接著是符號的產生,這更是偉大的變革,符號的產生可以說是極大的解放了我們人類的思維,因為符號可以代表一切事物。然後你可以利用符號對一切事物建模,進行演算並得出合理的解決方案。所以說學了數學可以讓你有抽象的能力,而抽象正是軟體設計中強有力的工具,沒有抽象也就沒有設計模式,更加沒有程式語言的函式,當然也不會有龐大的軟體。我想每一個軟體人員還是得懂點數學知識的。而bang老師如此反對演算法的重要性以及區分數學和軟體設計,我想是國內的環境導致了對演算法和數學的誤解吧。
數學也是一種大道至簡,沒有一門學科或者應用可以如此的簡潔。
[該貼被admin於2010-08-09 16:32修改過]
相關文章
- MATLAB R2023a 數學計算和程式設計軟體 mac版Matlab程式設計Mac
- 關於心態建設,程式設計和自學程式設計
- MATLAB R2022a for Mac(專業程式設計和數學計算軟體)MatlabMac程式設計
- Mac專業程式設計和數學計算軟體:MATLAB R2022aMac程式設計Matlab
- MATLAB R2022b Mac(專業程式設計和數學計算軟體)MatlabMac程式設計
- 關於軟體專案開發的分析與設計
- MATLAB R2023b for Mac(程式設計和數學計算軟體) 啟用版MatlabMac程式設計
- MATLAB R2023b for Mac 專業的程式設計和數學計算軟體MatlabMac程式設計
- 功能強大的程式設計和數學計算軟體:MATLAB R2023b程式設計Matlab
- 書評:軟體設計哲學
- UI設計需要學會哪些軟體?UI
- 軟體六大設計原則和設計模式設計模式
- 學好UI設計,需要學習哪些軟體?UI
- 鮑勃大叔認為軟體不同於數學,軟體是科學,科學與數學是有區別的
- 關於 Laravel 設定跨域的中介軟體整理Laravel跨域
- 微服務設計學習(一)關於微服務和如何建模服務微服務
- 軟體設計模式學習(十八)命令模式設計模式
- 關於中介軟體的思考
- 關於diffusion model一些統計和數學的基礎知識
- 2021年至關重要的頂級程式設計技能:軟體架構、Java和機器學習 - itbrief程式設計架構Java機器學習
- 關於軟體架構和業務架構的思考架構
- 關於 SaaS 軟體銷售領域中的 Renewal 和 linearity
- 讀軟體設計的要素04概念的關係
- 軟體設計模式設計模式
- 軟體設計模式學習(二十)迭代器模式設計模式
- 軟體設計模式學習(十三)裝飾模式設計模式
- 2023軟體架構和設計的趨勢架構
- 帶UI的小初高數學學習軟體——湖南大學結對程式設計總結UI程式設計
- 數學計算軟體:Wolfram Mathematica for Mac 中文版Mac
- 電路設計軟體
- 軟體設計師:UML
- 軟體測試設計
- 軟體設計原則
- 軟體設計模式學習(十七)職責鏈模式設計模式
- 關於“新手教學”的新手教程(三):教學節奏設計
- 總體設計(軟體專案)
- CNCKAD數衝鐳射程式設計排版軟體介紹程式設計
- ui設計教程分享:關於Logo設計要素UIGo
- 關於動態音樂設計的思考-Part 1-設計分類學