電腦科學
出自 MBA智库百科(https://wiki.mbalib.com/)
電腦科學(computer science,CS)
目錄 |
電腦科學是系統性研究信息與計算的理論基礎以及它們在電腦系統中如何實現與應用的實用技術的學科。它通常被形容為對那些創造、描述以及轉換信息的演算法處理的系統研究。電腦科學包含很多分支領域;有些強調特定結果的計算,比如電腦圖形學;而有些是探討計算問題的性質,比如計算複雜性理論;還有一些領域專註於怎樣實現計算,比如編程語言理論是研究描述計算的方法,而程式設計是應用特定的編程語言解決特定的計算問題,人機交互則是專註於怎樣使電腦和計算變得有用、好用,以及隨時隨地為人所用。
有時公眾會誤以為電腦科學就是解決電腦問題的事業(比如信息技術),或者只是與使用電腦的經驗有關,如玩游戲、上網或者文字處理。其實電腦科學所關註的,不僅僅是去理解實現類似游戲、瀏覽器這些軟體的程式的性質,更要通過現有的知識創造新的程式或者改進已有的程式。
早期電腦科學創建的基礎得追溯到最近電子電腦的發明。那些計算固定數值任務的機器,比如算盤,自古希臘時期即已存在。Wilhelm Schickard在1623年設計了世界上第一臺機械計算器,但沒有完成它的建造。布萊茲·帕斯卡在1642年設計並且建造了世界上第一臺可以工作的機械計算器Pascaline。埃達·洛夫萊斯協助查爾斯·巴貝奇在維多利亞時代設計了差分機。1900年左右,打孔機問世。然而以上這些機器都局限在只能完成單個任務,或者充其量是所有可能任務的子集。
到了20世紀40年代,隨著更新更強大的電腦器被髮明,術語“電腦”開始用於指代那些機器而不是它們的祖先。電腦的概念變得更加清晰,它不僅僅用於數學運算,總的來說電腦科學的領域也擴展到了對於計算的研究。20世紀50年代至20世紀60年代早期,電腦科學開始被確立為不同種類的學術學科。世界上第一個電腦科學學位點由普渡大學在1962年設立。隨著實用電腦的出現,很多計算的應用都以它們自己的方式逐漸轉變成了研究的不同領域。
雖然最初很多人並不相信電腦可能成為科學研究的領域,但是隨後的50年裡也逐漸被學術界認可。IBM公司是那段時期電腦科學革命的參與者之一。在那段探索時期,IBM(International Business Machines的縮寫)發佈的IBM 704以及之後的IBM 709電腦被廣泛使用。“不過,使用IBM電腦工作仍然是一件很沮喪的事情。如果你弄錯了一條指令中的一個字母,程式將會崩潰,而你也得從頭再來。”20世紀50年代後期,電腦科學學科還在發展階段,這種問題在當時是一件很常見的事情。
隨著時間的推移,電腦科學技術在可用性和有效性上都有顯著提升。現代社會見證了電腦從僅僅由專業人士使用到被廣大用戶接受的重大轉變。最初,電腦非常昂貴,要有效利用它們,某種程度上必須得由專業的電腦操作員來完成。然而,隨著電腦變得普及和低廉,已經幾乎不需要專人的協助,雖然某些時候援助依舊存在。
雖然電腦科學被認定為正式學術學科的歷史很短暫,但仍對科學和社會作出了很多基礎貢獻。包括:
- “數位革命”的開端:信息時代與互聯網。
- 對於計算和可計算理論的正式定義,證明瞭存在計算上不可解及難解型問題。
- 提出程式語言的概念,作為一種使用不同的抽象層次來精確表達進程的工具。
- 在密碼學領域,恩尼格瑪密碼機的破譯被視為盟軍在二戰獲取勝利的重要因素。
- 科學計算實現了高複雜度處理的實用價值,以及完全使用軟體進行實驗。同時也實現了對人類思想的深入研究,使得人類基因組計劃繪製人類基因成為可能。還有探索蛋白質摺疊的分散式計算項目Folding@home。
- 演算法交易增長了金融市場的經濟效益與市場流通性,通過人工智慧,機器學習及大規模的統計和數值技術。
- 電腦成像廣泛用於娛樂,包括電視、電影、廣告、動畫、電子游戲等。
- 自然語言處理,包括語音到文字(speech-to-text)轉換、語言間的自動翻譯。
- 對各種過程的模擬,包括計算流體力學、物理、電氣、電子系統和電路,以及同人類居住地聯繫在一起的社會和社會形態(尤其是戰爭游戲,war games)。現代電腦能夠對這些設計進行優化,如飛機設計。尤其在電氣與電子電路設計中,SPICE軟體對新的物理實現(或修改)設計具有很大幫助。它包含了針對集成電路的基本設計軟體。