為什么說學(xué)計(jì)算機(jī)對數(shù)學(xué)要求頗高?計(jì)算機(jī)運(yùn)算本質(zhì)不就是數(shù)學(xué)嘛!那計(jì)算機(jī)起源于什么地方呢?
它起源于 20 世紀(jì) 50 年代,當(dāng)時美國要發(fā)射導(dǎo)彈,那導(dǎo)彈飛行軌跡呈拋物線,要精準(zhǔn)打擊目標(biāo),就得計(jì)算軌道,這需要大量運(yùn)算,人力根本算不過來,于是計(jì)算機(jī)應(yīng)運(yùn)而生。所以說計(jì)算機(jī)對數(shù)學(xué)要求高,因其本身就是為解決數(shù)學(xué)問題而誕生的。
慢慢地,它發(fā)展到能在我們?nèi)缃裆畹姆椒矫婷娴靡赃\(yùn)用,但其本質(zhì)依然依賴數(shù)學(xué)來解決問題。從最初計(jì)算機(jī)的 0101 語言,就像我們之前看的電視劇里,氫彈之父于敏研究氫彈時,在上海有那臺超級計(jì)算機(jī),當(dāng)時中國就那一臺,這種國家級科研項(xiàng)目還得排隊(duì)使用。
那時可沒有屏幕和鍵盤,都是一張張紙上的洞,用 0101 來表示。再往后,發(fā)展到了匯編語言,60 年代出現(xiàn)了 C 語言,接著是 C++,而后又有了 Java、Python 這類語言。這些語言其實(shí)都類似于把之前的 0101 語言打包成一個個功能,給這些功能取個名字就叫函數(shù)。
你想想,高中哪一科會用到函數(shù)?所以從計(jì)算機(jī)的起源來看,它就是為了解決計(jì)算問題。發(fā)展到現(xiàn)在,之所以比之前的計(jì)算機(jī)先進(jìn)許多,所運(yùn)用的知識便是函數(shù)思想。比如說開發(fā)一個淘寶,點(diǎn)開里面有主頁,可以上下滑動,上面有各種功能,比如關(guān)注、點(diǎn)贊、收藏、綁定手機(jī)號等等,每一個功能就是一個函數(shù)。里面寫著一串代碼,點(diǎn)擊就會觸發(fā)相應(yīng)代碼。
在實(shí)現(xiàn)這些的時候,你的腦海中得有函數(shù)思想,要清楚這些函數(shù)是并列關(guān)系、遞進(jìn)關(guān)系還是其他關(guān)系。這一堆函數(shù)可能是圍繞某個大功能來實(shí)現(xiàn)的,非常復(fù)雜。您孩子高中就學(xué)個函數(shù) f(x)=x2 + Ax + B 可能都暈頭轉(zhuǎn)向,那到開發(fā)程序時,要是程序再復(fù)雜一點(diǎn),你說能不迷糊嗎?連關(guān)系都理不清。能不需要數(shù)學(xué)嗎?
這里需要的數(shù)學(xué)可不是 1+1=2、2+2=4 這樣的簡單運(yùn)算,而是數(shù)學(xué)的思想,也就是邏輯。其實(shí)說你孩子數(shù)學(xué)好,并非指其數(shù)學(xué)計(jì)算能力比別人強(qiáng)多少,關(guān)鍵在于孩子的數(shù)學(xué)思維、邏輯思維能力強(qiáng)不強(qiáng)。如果具備這種能力,那學(xué)習(xí)計(jì)算機(jī)就能比別人搶先一步;要是能力較弱,你瞧,人家剛畢業(yè)能拿 20 萬,你孩子可能就只能拿 5 萬。何必去和別人競爭呢?這就是為何計(jì)算機(jī)對數(shù)學(xué)要求高的原因。
當(dāng)然,剛才所說的是第一個層面,不管是從計(jì)算機(jī)的起源,還是如今成熟的語言,本質(zhì)都是函數(shù)思想。發(fā)展到當(dāng)下,在語言之上又新增了一個要素,那便是算法。要解決一個問題,這世上很多工科問題本質(zhì)上就是數(shù)學(xué)問題,因?yàn)閿?shù)學(xué)是自然科學(xué)之母,只要把數(shù)學(xué)問題研究透徹,很多問題便能迎刃而解。
包括當(dāng)下我們眾多物理學(xué)的難題,有時深入研究,最后會發(fā)現(xiàn)其本質(zhì)就是數(shù)學(xué)問題。甚至很多物理現(xiàn)象無法解釋時,還可以先通過數(shù)學(xué)演算對未來的物理現(xiàn)象進(jìn)行預(yù)測,就像冥王星的發(fā)現(xiàn),牛頓先是通過萬有引力計(jì)算出那里必然存在一顆星,而后再去驗(yàn)證,果不其然,真有這顆星。牛頓既是數(shù)學(xué)家又是物理學(xué)家。計(jì)算機(jī)亦是如此,發(fā)展到一定高度,所解決的問題其實(shí)就是算法問題。1+2+3 一直加到 50,正常得加 49 步,而小學(xué)學(xué)的算法是首尾相加乘以個數(shù)再除以 2,三步就搞定。
對于計(jì)算機(jī)而言,同樣的性能、同樣的程序、同樣的語言編寫,哪個更快?這速度可是差了 16 倍之多。你說你的電腦卡不卡,不就因?yàn)檫@個嗎?說你的電腦性能夠不夠,不就是因?yàn)榇蜷_的程序多了就卡嗎?但要是每個程序的運(yùn)算速度都比之前快 10 倍,你會發(fā)現(xiàn)打開之前 10 倍的數(shù)據(jù)都不卡了。對于電腦企業(yè)和程序開發(fā)企業(yè)來說,遇到這種能寫算法的孩子,給他們開的薪資能不高嗎?
這就是算法崗位薪資高但從業(yè)者不多的原因,畢竟不是每個孩子的數(shù)學(xué)成績都那么出色。所以我認(rèn)為計(jì)算機(jī)方向?qū)?shù)學(xué)成績要求高。
一是其起源就是為解決數(shù)學(xué)問題;
二是其中要有函數(shù)思想,這是數(shù)學(xué)的邏輯思維;
三是往更高端發(fā)展離不開算法,就像現(xiàn)在人工智能 80%的崗位都是算法相關(guān)。
就像之前我們談到的 35 歲危機(jī),如果能成為數(shù)學(xué)非常優(yōu)秀的人,你覺得會存在危機(jī)嗎?存在危機(jī)的人,說句不好聽的,都是能力受限的。天才永遠(yuǎn)沒有危機(jī),就像國外的谷歌、Facebook、Twitter 這類軟件公司,他們的程序員每天上班 4 到 6 個小時。我大學(xué)室友本科畢業(yè)后讀研考到南加州,畢業(yè)時去谷歌實(shí)習(xí),一天上班 6 到 8 小時,其中有兩小時休息,還有兩到四小時喝咖啡、聽音樂的時間。
咱們國內(nèi)都是固定工位,他們可沒有,隨時能在咖啡廳、會議室敲代碼,而且他們每天的代碼量一般不超過 100 行,能解決問題就行。在國內(nèi),我們對程序員有個標(biāo)準(zhǔn),一年不寫 5 到 10 萬行代碼,都不算優(yōu)秀的程序員。你平均到每天看看,寫的代碼量遠(yuǎn)遠(yuǎn)多于人家所說的幾十行或者 100 行。能實(shí)現(xiàn)功能,但代碼一堆,人家用精簡的代碼,這就是我所說的,數(shù)學(xué)的魅力在于多不代表精。就基于這三個層面,數(shù)學(xué)是工科的基石,更是計(jì)算機(jī)的關(guān)鍵所在。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.