走過半個世紀的C語言還在前行
50年,半個世紀,很多人的大半生,C語言從誕生到現在已經過了這么久,它見證了無數多編程語言的誕生,有的語言曾經獨領風騷,有的語言曇花一現,只有它,50 年過去了,還依然活躍在歷史的舞臺上。
C語言的誕生
C語言是經過一系列系統編程語言演變出來的,從 EPL,到 BCPL,再到 B,最后演變成了 C 語言。
C語言是伴隨著 unix 誕生的,最初只是使用在 unix 上,不過后來很多其它操作系統采用了 C 語言進行編寫。
unix 最初采用的是匯編語言編寫的,直到第四版本,才采用 c 語言進行開發,而正是因為采用了C 語言進行開發,所以很多軟件才可以通過編譯就移植到不同類型的計算機上,可以說C語言成就了 unix,而 unix 的成功也讓 C 語言被世人所認可。
C 為什么備受歡迎
早期的主要原因是它與迅速傳播的 Unix 有關聯。如果你使用 Unix,你就要使用 C 編寫。后來,C 開始被其它操作系統所使用,出現了可移植的設備 C 編譯器,在 1982 年,C成為了標準語言之一,那時候的 windows 也是采用 C來開發的。
隨著時代的發展,互聯網的誕生和發展,c 語言似乎沒有其它語言那么奪目?但是如果你深究內幕,你就會發現,很多高性能高并發的軟件背后都是 C 語言在支撐,我們熟知的 nginx, redis 都是使用 C 語言開發出來的。
在早期的時候,計算機速度很慢,內存也很有限,而C非常高效,因為它可以被編譯成機器碼,并且它足夠簡單,因此它一經推出,就受到了程序員們的喜愛。
直到今天,在控制內存管理方面,C語言依然是很出色的。
C更適合開發什么
隨著硬件的發展,如今的內存變得異常廉價,相比于程序的可維護性,人們也不再過多關注內存的使用。在這個時候,C 語言更適合開發一些和硬件相關的程序。比如一些驅動程序,一些解碼器等。
對于一些嵌入式的應用,或者是 web 服務器,c 語言也是非常適合的。
C 對其它語言的影響
C++ 是在C語言的基礎上演進的,提供了面向對象的特性,主要是對代碼的控制信息的訪問進行了改進。
Java 是對 C++的復雜性進行了改良,而 golang 是在 C++ 和 java 的基礎上進行了改良。
Rust 則是在性能上堪比 C,在內存管理上強于 C。
總結
50 年的歷史,如果你查看編程語言排名的話,雖然前十的榜單經常輪換,但是 C 卻一直在榜單中。我們只能感嘆前人思想的偉大。如果你真的想要了解計算機工作原理,了解操作系統是如何工作的,那么 C 語言一定是你必須要學習的。