計算機科學
研究信息和計算的理論基礎 / 維基百科,自由的 encyclopedia
計算機科學(英語:Computer science,有時縮寫為CS)是系統性研究資訊與計算的理論基礎以及它們在電腦系統中如何實現與應用的實用技術的學科。[7] [8]它通常被形容為對那些創造、描述以及轉換資訊的演算法處理的系統研究。計算機科學包含很多分支領域;有些強調特定結果的計算,比如電腦圖學;而有些是探討計算問題的性質,比如計算複雜性理論;還有一些領域專注於怎樣實現計算,比如程式語言理論是研究描述計算的方法,而程式設計是應用特定的程式語言解決特定的計算問題,人機互動則是專注於怎樣使電腦和計算變得有用、好用,以及隨時隨地為人所用。
有時公眾會誤以為計算機科學就是解決電腦問題的事業(比如資訊科技),或者只是與使用電腦的經驗有關,如玩遊戲、上網或者文書處理。其實計算機科學所關注的,不僅僅是去理解實現類似遊戲、瀏覽器這些軟件的程式的性質,更要通過現有的知識創造新的程式或者改進已有的程式。[9]
儘管計算機科學(computer science)的名字裏包含計算機這幾個字,但實際上計算機科學相當數量的領域都不涉及電腦本身的研究。因此,一些新的名字被提議出來。某些重點大學的院系傾向於術語計算科學(computing science),以精確強調兩者之間的不同。丹麥科學家彼得·諾爾建議使用術語"datalogy",以反映這一事實,即科學學科是圍繞着數據和數據處理,而不一定要涉及電腦。第一個使用這個術語的科學機構是哥本哈根大學計算科學系(英語:UCPH Department of Computer Science),該學院成立於1969年,彼得·諾爾便是第一任教授。這個術語主要被用於北歐國家。同時,在計算技術發展初期,《ACM通訊》建議了一些針對計算領域從業人員的術語:圖靈工程師(turingineer),turologist,流程圖人(flow-charts-man),應用元數學家(applied meta-mathematician)及應用認識論者(applied epistemologist)。[10] 三個月後在同樣的期刊上,comptologist被提出,第二年又變成了hypologist。[11] 術語computics也曾經被提議過。在歐洲大陸,起源於資訊(information)和數學或者自動(automatic)的名字比起源於電腦或者計算(computation)更常見,如informatique(法語),Informatik(德語),informatika(斯拉夫語族)。
著名計算機科學家艾茲赫爾·戴克斯特拉曾經指出:「計算機科學並不只是關於電腦,就像天文學並不只是關於望遠鏡一樣。」("Computer science is no more about computers than astronomy is about telescopes.")設計、部署電腦和電腦系統通常被認為是非計算機科學學科的領域。例如,研究電腦硬件被看作是電腦工程的一部分,而對於商業電腦系統的研究和部署被稱為資訊科技或者資訊系統。然而,現如今也越來越多地融合了各類電腦相關學科的思想。計算機科學研究也經常與其它學科交叉,比如數學、工程學、認知科學和經濟學等。
計算機科學被認為比其它科學學科與數學的聯絡更加密切,一些觀察者說計算就是一門數學科學。[12] 早期計算機科學受數學研究成果的影響很大,如庫爾特·哥德爾、艾倫·圖靈、路莎·彼得(英語:Rózsa Péter),阿隆佐·邱奇等數學家的研究,這兩個領域在某些學科,例如數理邏輯、範疇論、域理論和代數,也不斷有有益的思想交流。