50歲的C語言掌控WindowsLinuxmacOS等操作系統半邊天 今天小豆培訓網學歷教育小編就來給大家簡單介紹一下。
【CSDN 編者按】誕生于1972年的C語言已經50歲了,目前來看,它還像20歲的小伙一樣活力四射,似乎永不會退休,并且正在賦能全世界重量級應用系統的運行。
作者 | Daniel Munoz 編譯 | 夢依丹
出品 | CSDN(ID:CSDNnews)
不久之前,CSDN發布了一篇《C不再是一門編程語言》的觀點性文章。作者認為,C已經被提升到一個具有威望和權力的角色,它的統治是絕對和永恒的,以至于它扭曲了開發者與該語言之間的對話方式。當下,C是編程的通用語言,大家都必須學C,這也導致C不再只是一種編程語言,它成了每一種通用編程語言都需要遵守的協議。
可以看出,在編程語言眾多的今天,C語言依然代表著權威。近日,Meta高性能C 數據倉庫工程師Daniel發文表示,盡管C語言面世多年,甚至不少人用暮年來形容它,但它依然在為世界編程賦能,并且還將活躍很長一段時間,因為C語言在某些應用中以壓倒性優勢領先,且無可匹敵。他列舉了C語言是如何滲透到千家萬戶,影響著世界運行的。對此,筆者對原文進行了編譯,與大家共享!

現今存在的很多C語言項目都是幾十年前開始的:
開發于1969年的UNIX操作系統,其代碼在1972年基于C語言進行了重建,幫UNIX系統代碼從匯編轉移到更高層次的語言,進而實現用更少的代碼完成相同的任務;
開發于1977年的Oracle,其代碼也在1983年轉向了C語言,Oracle是當下最受歡迎的數據庫之一;
發布于1985年的Window 1.0操作系統,盡管源碼并未公開,但據說大部分內核代碼也是基于C語言構建,還有一部分是匯編;
開發于1991年的Linux,其內核也是基于C語言。Linux在1992年基于GNU重新獲得許可,被作為GNU操作系統的一部分使用。GNU系統本身也是使用C和Lisp編程語言構建,所以它的許多組件都是基于C開發。
不少人可能會提出,這些系統都是幾十年前的項目,當時的編程語言還不多,可供選擇的就更少了。其實不然,C語言不僅僅局限于幾十年前的項目,當下不少項目也是基于它啟動的。

世界上最流行的數據庫,包括Oracle、MySQL、MS SQL Server和PostgreSQL,都是用C語言構建(其中前三個實際上是C和C )。
數據庫被用于所有類型的系統:金融、政府、媒體、娛樂、電信、健康、教育、零售、社交網絡、網絡等等。

此類應用程序需要高效、快速。它們需要在數秒內進行許多計算和處理大量數據,這樣藝術家和動畫師生成的電影鏡頭所需的時間才越短,公司也能節省更多資金。這類大部分應用也都是基于C和C 制作而成。
嵌入式系統想象一下,某一天你醒來后的行程:喚醒你的鬧鐘很可能是用C語言編寫,然后你用微波爐或咖啡機來做早餐,它們也是嵌入式系統,因此有可能也是基于C語言構建;你在吃早餐時打開電視或收音機,當你用遙控器打開車庫門時,也在使用一個很可能是用C語言編程的嵌入式系統。
然后你準備開車外出。如果它有以下功能,也是用C語言編程的。
自動變速器
輪胎壓力檢測系統
傳感器(氧氣、溫度、油位等)。
座椅和后視鏡設置的記憶。
儀表盤顯示
防抱死制動系統
自動穩定控制
巡航控制
氣候控制
兒童安全鎖
無鑰匙進入
座椅加熱
安全氣囊控制
到商店,停好車,去自動售貨機買汽水。那么自動售貨機有可能也是基于C構建運行。隨后你在商店里買東西,結賬,那么收銀機也是用C。當你用信用卡付款時?你猜對了:信用卡閱讀器也可能是用C語言寫的。
所有的這些設備都是嵌入式系統。它們就像小型計算機,里面有一個微控制器/微處理器,在嵌入式設備上運行一個程序,也叫固件。程序必須檢測按鍵并采取相應的行動,同時向用戶顯示信息。例如,鬧鐘必須與用戶互動,檢測用戶正在按什么按鈕,有時還檢測按了多長時間,并對設備進行相應編程,同時向用戶顯示相關信息。例如,汽車的防抱死制動系統必須能夠檢測到輪胎的突然鎖定,并采取行動,在一小段時間內釋放剎車上的壓力,解除鎖定,從而防止失控打滑。所有這些計算都是由一個編程的嵌入式系統完成的。
盡管不同品牌的嵌入式系統所使用的編程語言可能不同,但由于C語言的靈活性、效率、性能和接近硬件的特點,C語言是開發這些項目的首選。


當下許多編程語言在其預設的用途上都要優于C語言,但這并不意味著就能擊敗C,當考慮性能優先的時候,C依然是王者。世界正運行在C語言驅動的設備上,無論你是否意識到,你使用的諸多設備的的確確都用到了C語言。
原文鏈接:https://www.toptal.com/c/after-all-these-years-the-world-is-still-powered-by-c-programming
