歷史上與計算機相關的科學家都首先是數學家,由此說明了什麼?

例如帕斯卡,萊布尼茲,圖靈,馮.諾依曼


你想問什麼?「歷史上」在提問的問題中的成分是什麼?

如果你想說,為什麼「歷史上是,而現在不是」,那這就是個前提錯誤的提問,因為歷史上是,現在還是,只是可能有些地方的計算機教材比較過時,所以一個人知道的「現在」的計算機科學家比較少罷了。就好比我也沒在本科的課堂上學到多少近20年的數學研究成果,不代表這個世界上現在就沒有數學家了。

當今這個世界上大多數牛逼的計算機科學家依舊是數學家,不信你翻翻每年的圖靈獎得主名單就好了,過半的都有很濃的數學背景,甚至直接就是數學專業出身的。他們可能一輩子寫的代碼還沒有普通碼農一年多,但是對於計算機界的貢獻可不是成百上千普通碼農能比的,這就是數學和證明的力量。

至於為什麼現代的計算機科學家比較少以數學家自居了,我覺得應該是計算機最近幾十年發展的太快了,於是新的需要研究的問題太多了,計算機科學家基本一生的時間都在研究和計算機有關的問題,不再像100年前大家只花20%的時間了,所以他們給自己起了個新的名字叫computer scientist。作為類比,最近十年機器學習發展的很快,你現在問一個人,他可能說自己是做機器學習的,而不再說自己是做人工智慧的了,這不說明機器學習就不再是人工智慧了(*)。因此總結一下,一是研究問題夠多,二是在你知道我在說什麼的情況下,我肯定盡量會說的詳細一點,但是不至於太詳細以至於你聽不懂。計算機科學家就是這樣一個折衷的名字,比數學家更具體(我是做計算機相關問題的)。比如說我隔壁辦公室的 @趙宇 就是做布爾函數分析的。但是這麼說你也不知道他到底在幹什麼,也不能立刻知道布爾函數到底是幹啥的(是用在數學,力學,計算機還是其他領域的?)。所以他還是會說他是計算機科學家,當然研究的都還是數學範疇的問題。

----footnote----

*:順便說一句,你也可以閉上眼睛回想一下很多機器學習的論文長什麼樣子,很多都是推了十幾頁公式,最後有的給兩個圖說一下實際效果不錯有的乾脆什麼實驗也沒有。這也很正常,只有能通過嚴格的定義和嚴謹的論證或者證明的結論才是「科學」。不否認很多經驗性的結果也是很有用的,但是這不是科學的範疇,或者科學的目的就是試圖把這些經驗總結成數學,這樣就再無歧義,一勞永逸。經過證明的東西你知道他在什麼前提下一定是對的,什麼情況下不適用,這樣的結論才能被編進計算機的教材,給大家學習和使用。畢竟要是讓你來寫教材,你也不可能講了一個演算法,讀者光理解就得好兩個小時,然後人家好不容易讀懂了,你說,「我也不知道它效果怎麼樣,對於每個具體問題,都試試,試完就知道效果了」,你保證被讀者打死。而且這不屬於科學。

ps.有人說物理化學生物這些才是科學,而也都是經驗性的。這當然沒問題,不過計算機不同於這些領域。計算機是人創造的,計算機運行的每一步都是確定性的,這是最有別於傳統自然科學的。因此,歸因在計算機的研究中遠比傳統自然科學容易的多,因而如果即便如此,還沒有嚴謹的證明,則說明這個方法通常不太靠譜。當然凡是不能絕對,比如在用計算機處理自然語言或者最近很熱的神經網路,就有很多雖然不知道為什麼但是用起來看起來效果還不錯的方法,不過這些領域的最主要的研究的問題也是:這東西為啥work。如果這個問題(在一定程度上)解決了,現在千千萬每天做實驗的人們的工作量就能極大程度上解放。


我發現世界上所有的計算機科學家生下來都沒有名字,這說明了什麼?


什麼都說明不了

計算機科學還是一門非常年輕的學科,第一台現代計算機 ENIAC 於 1946 年才被發明,關於演算法的理論在 50 年代 後才成為一個獨立分支,並行的研究則是 1958 年之後,被媒體炒作過無數遍的神經網路,迄今為止也不過是個 70 歲的年輕概念。

正如早期的電子工程學者不少是物理出身,物理學家不少是數學出身,數學家是教會的神職人員。任何學科初期發展階段,都是相關領域的研究者來幫其奠定基礎。不光是數學,還有很多其他學科的學者,比如 生物學 Donald Olding Hebb 引入的模擬神經元的想法,引領之後的神經網路;電子工程學 模塊概念奠定了面向對象編程;哲學 Kurt Friedrich G?del 不完備性指定了計算的上限;語言學 給出了程序設計的範式 ...

新興的計算機科學要發展,必然要藉助 數學/物理/電子工程/etc 的力量。數學作為基礎工具,會一直在計算機科學界扮演著重要角色。但正如 Yan Gu 所說,隨著計算機學科的發展和領域的細分,數學出身的研究者會慢慢減少。時代使然,僅此而已。

最後跑個題, 90 後程序員至今無一活過 30 歲,這說明了什麼?


證明在歷史上,計算機只是存在於腦袋裡面的東西,後面才被能工巧匠做了出來。


那不然呢,歷史上的數學家還能首先是計算機科學家?


計算機主要解決兩類問題,數值計算問題和非數值計算問題。

數值計算主要是數學研究領域的問題,因而利用計算機解決數值計算問題的科學家大部分是數學家。

計算機科學領域主要研究的問題是非數值計算問題,如數據結構與演算法。比如排序演算法這類典型的非數值計算問題,屬於計算機科學範疇的問題。雖然在分析排序演算法的複雜度、穩定性的時候,要用到大量的數學工具,但不能因此把排序問題歸為數學問題,把研究排序演算法的科學家歸為數學家。同理,也不能因為數學家在研究過程中用到計算機工具,就把他稱為計算機科學家。

同理,大量非數學領域的理工類學科的研究者,甚至社會科學和經濟學領域的研究者,也都大量使用數學工具,並且在論文中大量使用數學推導、數學證明,同樣不能說他們是數學家。

牛頓在研究微積分的時候,是數學家。牛頓在研究萬有引力、牛頓力學定律的時候,不管用到多少數學分析工具,研究的還是物理問題,還應該把他稱為物理學家。


說明了智商低的,笨的人玩不了計算機科學。

努力什麼的都是徒勞!


我想問題主是要寫大學計算機期末論文吧哈哈哈


證明了計算機只是數學的具體實現。不過計算機涉及的數學知識對於數學系的人來說相對簡單。


軟體的精華是什麼?不就是演算法嗎。演算法的精華是什麼?不就是數學嗎


計算機從業人員=數學家+工程師+物理學家

工程師都是碼農,物理學家都在研究與機器硬體有關的具體問題

剩下哪些不關心實際應用也不怎麼關心硬體具體細節的就是數學家了


科學家都希望在自己的學科走的更遠研究的更深,那僅憑個人大腦是不夠的。在你說的萊布尼茨 圖靈 等數學家的時代前人靠大腦思考的基本的理論有一些了,所以發展已經不像科學興起時那麼迅速。那麼科學家不會滿足於僅依賴人思考的方式來進步,而會藉助工具。物理學家化學家可以通過實驗工具不斷前行,哲學家不需要複雜的計算與證明。那麼數學家為了更快的發展當然會首先想要一個能夠幫他們迅速計算甚至算他們大腦算不了的工具,開始也是有工具的比如算盤等,但發展緩慢。至於計算機是物理中電學迅速發展推動計算機的發展所推動的,當數學家發現可以用他們傑出的抽象思維構建這種機器解決複雜的計算問題,那當然首當其衝啦。有了計算機的數學家的想法如下圖:


因為只有自己擁有解決問題的思想和方法,才能教會機器這麼做。


說明 只有人能造計算機?


我們學校計算機系就是從數理分了幾個老師出來建的。。


他們看到了未來,而你卻在研讀歷史 (參謀們永遠在準備上一場戰役)


歷史上物理學家也是數學家 只是他們不這麼說


工具跟不上唄


說明碼農和計算機科學家根本是兩個概念


沒什麼啊。

最初的計算機科學都是天才才能駕馭的東西。

通過一代又一代天才的奮鬥,在底層的摸爬滾打,才把計算機降維到普通人通過努力就能掌握的程度。

這和程序員把複雜的代碼邏輯變成你滑動手指就能完成操作的過程沒什麼不同。


推薦閱讀:

「Lie group」為什麼會被翻譯成「李群」呢?
金融學本科,大學數學要學好哪幾門課?
為什麼說線性代數是愛因斯坦理論的基礎?
數學問題:如何證明兩直角邊之和大於弧長?
近世代數有哪些教材講的比較詳細呢?有哪些值得推薦的。?

TAG:數學 | 科學史 | 圖靈AlanTuring | 理論計算機科學 |