數學對於程式設計有多重要?

時間 2021-05-07 07:40:54

1樓:「已登出」

數學研究的是人類所能理解的計算模型,而程式設計是用0和1的與或非去構建圖靈機能理解計算模型。

數學對於程式設計有多重要?類似於,數學對物理有多重要?數學對造太空梭有多重要?

事實上,從某種意義上來說電腦科學比數學設計更"高明",圖靈和馮諾依曼首先是數學家而後才開創了電腦科學,費曼也多次公開嘲諷過數學。0和1,陰和陽,正負極,量子態,物質和暗物質這種二元結構更符合宇宙的本質。而不是一堆唧唧歪歪的阿拉伯希臘符號。

2樓:王睿逸

數學對於多數程式設計師並不重要。

很多任務作了多年的程式設計師依然會覺得資料結構與演算法難以掌握,因為他們覺得掌握演算法需要很多的數學知識。其實演算法與資料結構要求的數學知識連高中的數學範疇都沒超過。

多數的行業軟體的流程也都不怎麼涉及到數學知識。不管你是在金融,電商,還是醫藥,土建等領域搞開發,都很少會涉及到數學。

不過現在人工智慧的崛起,使得數學變得越來越重要了。因為這些AI演算法都是以數學為基礎的,對概率統計,微積分,線性代數都有要求。另外在一些通訊演算法,圖形演算法等領域也會用到很多數學知識。

3樓:

反正你只能編出來你能理解的東西。

但是加上能夠ctrl+v的一部分,可以編出來稍微超過一點點自己的數學水平的東西。但超不了太多。

4樓:冰糖葫蘆

對程式設計不重要,程式設計熟悉語言和基本套路就可以了,相對簡單。但對具體現實世界的問題,尋找演算法、解決問題(建模),非常非常重要,可以說沒有數學這事就幹不了。

5樓:Fredric

我試圖根據自己的經驗將這個答案說的清楚一點,供參考:

通常計算機所說的演算法,如排序、搜尋、貪心、回溯等都不涉及數學;

幾乎所有計算機領域如果走科研(讀博)全部依託數學;

絕大部分應用開發都不涉及數學,下面這些領域我理解你在用之前至少大致要懂,所以我認為應該算需要數學:

機器學習領域:

回歸演算法如最小二乘法,採用梯度下降利用極值優化的都涉及高數知識;採用極大似然估計法則涉及概率統計知識;對於多維資料處理涉及線性代數(事實上jacobian矩陣這些一般還不包在本科線性代數裡)知識;

資料降維如主成分分析,涉及線性代數知識;

聚類分析若用到高斯混合聚類,涉及概率統計知識

隱馬爾科夫模型建模,涉及隨機過程,隨機過程前置課程為概率統計

樸素貝葉斯、決策樹這些分類演算法都依託概率統計知識,決策樹還會涉及一點資訊理論

支援向量機,涉及拉格朗如對偶,涉及知識凸優化;機器學習問題由於都屬於處理特徵空間,因此需要對泛函分析這門課程有概念,泛函分析的前置是實變函式

深度神經網路,深度網路在優化訓練時都涉及高數線性代數知識;

訊號處理:

傅利葉變化和離散余弦變換等,影象處理也用,涉及復變函式課程

小波變換屬於Hilbert空間,涉及泛函分析課程

離散訊號處理還涉及差分方程

密碼學:

傳統密碼學涉及數論基礎;如果是現在用得比較多的橢圓曲線,則涉及課程代數幾何,前置課程很多,最基本是抽象代數-- 代數幾何之類我完全沒看過,不好亂講

圖形學裡的影象變換、圖形對映、3D建模;機械人裡的運動軌跡控制都採用矩陣計算,都涉及線性代數知識,這塊比較深的知識點應該可以算矩陣論

時序訊號處理會用到很多訊號均值、方差、隨機雜訊等,涉及概率統計知識;

數學建模很多構建的結果是多個微分方程,這塊也屬於高數,複雜的話要專門學常微分方程偏微分方程

其他聽說SLAM還用到一些李群--- 這塊完全沒接觸過,不好亂講

6樓:風一樣的男子

隨便翻了一下大家的回答。有不少人是在講某個數學方法在業務上的應用等之類的,還有個朋友回答『如果你意識不到數學對程式設計的重要性,那麼他就不重要』,大概這麼個意思,我很贊同。

再說說我的想法,我理解數學對於程式設計的作用可能是在邏輯思維方面吧,這一點很重要。我們在學校學的計算機課,要麼是教你程式語言的語法,要麼是教你計算機是這樣執行的,即使學演算法也是講怎麼讓程式跑的快之類的。

但是對於程式設計師來說,拿到乙個需求,你需要具備這麼幾方面能力,首先程式語言,這是工具,這個對於大多數工作中的程式設計師來說,不是問題。第二個是怎麼將乙個客戶的需求一步一步拆解為用你掌握的程式語言可實現的。第三個是怎麼程式執行效率更高。

其中第乙個,第三個在學校的計算機課上都有學,老師有教。第二個誰教呢?那就是數學老師了。

怎麼說呢?學程式設計的每個人可能都知道登入是個怎麼回事。就是頁面兩個輸入框,輸入值,然後傳到後台去根據輸入框的使用者名稱和密碼去查詢,看能不能查到,如果查到就成功了,否則就失敗,給使用者乙個提示。

我說的這個就是將乙個客戶需求拆解為計算機語言可實現的過程。大多數人都會,也理解。但是這種方法要麼是程式設計老師交給你的,或者是網上查到的,或者是自己理出來的。

那麼理思路的這個過程沒有人感覺到和解決很多數學題的思路有相似嗎?可能初級階段,不用你這麼去思考,因為你做的很多東西,都有別人現成的方案了。但是隨著工作的時間越久,CASE做的越來越大,你要做的很多東西,別人都還沒做過,這就需要你自己去分析解決方案了,這時很多數學的思路方法就可以參考了。

這就是我對於數學在程式設計上應用的理解。

7樓:小玉vivi

正常來說學完Calculas建議你學程式設計,例如Scheme,雖然Scheme這個程式設計沒有多大用處,但是可以很好的幫你嚴謹邏輯思維。雖然現在全世界只有三所大學在教,哈佛大學就是其中之一,學完Scheme,Python就很好理解了,舉個例子Scheme就像加法,Python就像減法,你學完加法後減法學起來就容易很多。不過在我看來學Scheme並不需要很多的數學思想,基本上你高中畢業學這個毫無壓力…

8樓:

取決於想做的方向。不同的方向有不同的側重,機器學習/資料探勘需要良好的統計學基礎,圖形學需要線性代數,資訊保安、理論電腦科學對於形式化抽象思維要求很高。而如果只是做乙個碼農,數學只要能過掉課程拿到學位就夠了。

9樓:李雷

相當重要!我用統計學的知識論證了我們公司以前獲取測試資料的方法是錯誤的(當然我的結論還在驗證中),但如果不用數學,我們這輩子都無法解釋為什麼有的資料偏差那麼大。被數學虐了那麼多年,總算是第二次感受到了數學的魅力。

同志們,一定要好好學習大學數學!!!

10樓:不懂

要看做哪方面的程式。Ruby的創始人數學水平不怎麼樣,也還發明了一種語言。一般的軟體開發對數學沒什麼要求,比如做乙個QQ的客戶端軟體,需要高深的數學知識嗎。

但是做一些像Adobe公司的軟體,或者eda軟體還是需要一些數學知識的。貌似國內做這些專業軟體的很少。

11樓:王賀

亮明觀點,對於應用軟體領域,數學不重要,但是得對數學有敬畏之心。軟體行業,數學高中水平,並不妨礙你月薪兩萬,但做人還是不要那麼功利,對科學懷有敬畏之心,對前輩懷有敬畏之心

12樓:鄧迪

以前老師說數學是程式設計的基礎。

看到np什麼的頭暈,於是放棄了程式設計。

後來沒辦法工作要用程式設計,發現數學確實重要,但數學之於程式設計如同剁骨頭用砍刀用的時候拿來用就行了不用為了剁骨頭掌握所有刀的技法。

老師啊,你當年把我嚇著了。你幹嗎不說對於程式設計,邏輯最重要,思維最重要,IQ最重要,低於1000的就別幹啦。

13樓:馮東

有乙個軟體界的先驅(可能是寫 Word 那個,否則也是同時代同級別的)說過他的數學能力侷限於可以 visualization 的程度。大多數程式設計師都是這個水平。當然這不是說程式設計師的數學水平限於三維(事實上很多人連三維正交投影都很難畫好),因為通過使用自創符號還是可以 ad hoc 的表達一些高維問題,但是大多數程式設計師並不具備 general 的高維抽象能力。

14樓:小偉

曾經用過國外的一些軟體,發現有的效率很高,有些很差。我覺得數學最大的好處是使程式更加精簡和快速,數學是一些思維,有了這些你才能更加厲害。君不見開發GPS定位的時候,主要是一些數學家在搞,為什麼,你都沒有建立相應的數學模型,你拿什麼編。

越大的工程,必定要有數學參與。

15樓:

程式設計是乙個有層級的生態系統。看下Turing, Church, Von Neumann... 以及後來的歷屆圖靈獎得主,就知道數學家是在生態系統的上層。

以下鏈結提供了圖靈獎的歷屆得主資料,絕大部分是解決數學問題

圖靈獎在整個系統中,上面常常要發明一些框架出來,幫助下面更方便地實現一些東西。而且往往這些框架就是自己服務於自己。比如Thompson和Ritchie當時發明UNIX和C就是這樣。

16樓:開源醬

你只寫寫 iOS / Mac OS X 應用啊,寫個什麼「Mac OS X 高階指南」啊這些東西,初中畢業的數學夠你吃一輩子了

你想學真正的「程式設計」,起碼先學好本科純數學系的內容再說,包括但不限於:

集合論圖論

抽象代數

邏輯學etc.

就這樣不匿

17樓:WXF22

看你希望走到哪個高度,想知道為什麼,還是想知道是什麼?

演算法背後的證明是數學的,演算法的實現改進是強調細節的。演算法工程師與編碼工程師承擔的責任不一樣,現實需求決定國內的大部分程式設計師不需要很深的數學背景或者基礎。

「糟糕的程式設計師可以用各種語言寫出hello world,卻寫不出乙個快排」 這句話源於知乎某答案。

當然快排這個級別的演算法已經是最低階的了,實際演算法的CROWN是在訊號處理,最優化,機器學習,模式識別,人工智慧領域,每年大量的SCI出自上述領域,這些領域無一不是以數學為基礎!你說數學重要嗎?

對於程式設計師,有些技能很容易被後來人替代,有些卻不那麼容易。

18樓:Wind Green

數學對於程式設計本身不重要

數學對於做應用性程式不重要

數學對於做cs科學研究很重要

數學對於做演算法很重要

程式設計是門工具,可以通過這個工具來實現不同功能,例如,來做個社交平台,這個時候數學不重要。例如,在這個社交平台上來做個資料分析,這時數學很重要。

所以說,要看你拿程式設計來做什麼了。

19樓:Gimli King

實際上並非那麼重要,關鍵還是要看你的開發領域。

作為開發者來說,單純開發過程需要的數學主要源自你必須學習過數學,從而理解分析和處理的方法順序等,實現需求的過程實際上和解方程還是很類似的。

很多人說數學不好在開發一些產品時會撞牆,其實那個是領域問題,不是數學問題。

數學有多重要?

啊偶 單論高中數學的重要性,這門課能落後面的人很多分,而且數學好可以為你省很多時間去學其他科目如英語,況且數學好學理科的其他科目也會有優勢。當然數學太好也會有壞處,那就是學物理和化學生物容易但會很難受,這也是數學嚴謹性和過於看重推理性帶來的弊端,數學好給你的自負也會是極大的成長路障。 數學思想最重要...

素食對於修行有多重要?

婷粉xy 佛家修行最初並沒有素食的說法,漢傳佛教吃素的傳統是從梁武帝時期開始的。上座部佛教和藏傳佛教都沒有吃素的要求,一般是要求三淨肉。素食對修行的利益個人觀點 1 素食戒殺與佛家慈悲心符合 2 素食沒有膽固醇,吃素人體激素水平低,情緒波動就少 素食者需要更加注意營養均衡,不然長期下來可能身體受不了...

冰對於 Martini 有多重要?

武小姐的酒途人生 冰對於酒的影響主要在於化水量。由於,Martini並不需要加入冰塊,僅在攪的時候使用,所以,主要影響攪動時的香氣,如果化水量太大,香氣會差一點。另外,有一些Martini的變形,比如Tuxedo,我更傾向於用Absinthe洗冰而不是直接加入酒裡,這時就需要使用稍小的冰塊,來增加化...