姓名:王偉旗口叙;學號:21021210962乡数;學院:電子工程學院
改編自https://blog.csdn.net/csdnnews/article/details/123988894?spm=1000.2115.3001.5927
【嵌牛導讀】
眾所周知椭蹄,C 是一種被廣泛使用的語言,從操作系統(tǒng)內(nèi)核到加密算法的編寫净赴,到處都在使用 C绳矩,它在多個領(lǐng)域發(fā)揮著重要作用。不久前玖翅,國外一位 Swift 和 Rust 專家 Aria Beingessner 在其文章《 C 不再是一種編程語言》中說翼馆,如今 C 不再只是一種編程語言,而成了每一種通用編程語言都需要遵守的協(xié)議金度,它具有絕對的統(tǒng)治地位应媚。
不過近日 The Register 網(wǎng)站的作者 Liam Proven 卻在其發(fā)表的關(guān)于 C 的文章中表示,古往今來有很多不涉及 C 的編程語言和操作系統(tǒng)都發(fā)展得不錯:“并不是所有東西都基于 C审姓。在 C 出現(xiàn)之前珍特,許多當前流行的商業(yè)操作系統(tǒng)就已經(jīng)出現(xiàn)了,還有一些用新舊語言編寫的操作系統(tǒng)魔吐,也基本不涉及 C 語言扎筒。”
【嵌牛鼻子】操作系統(tǒng)
【嵌牛提問】讀完本文酬姆,了解操作系統(tǒng)了嗎嗜桌?
【嵌牛正文】
ALGOL 語言
ALGOL(ALGOrithmic Language),計算機發(fā)展史上首批清晰定義的高級語言辞色,在20世紀60年代骨宠,ALGOL 影響力巨大,是大多數(shù)現(xiàn)代指令性語言的鼻祖。
美國 Burroughs 公司曾圍繞 ALGOL 高級語言編寫操作系統(tǒng)以及應(yīng)用程序层亿,開創(chuàng)性地設(shè)計了一系列大型機桦卒,即 Burroughs 大型系統(tǒng)。其中第一臺大型機 B5000 于 1961 年推出匿又,所使用的操作系統(tǒng)為 Burroughs 公司在 1916 年引入的 MCP(Master Control Program)大型機操作系統(tǒng)方灾。(MCP 最初是于 1961 年用 ESPOL 語言編寫的,而 ESPOL 為 ALGOL 60 的超集碌更。 )
在眾多商用操作系統(tǒng)中裕偿,MCP 是一款為數(shù)不多仍然沿用至今的“古老”操作系統(tǒng),目前主要應(yīng)用在 Unisys ClearPath/MCP痛单。ClearPath MCP 當前的版本是 20.0嘿棘,于2021年5月發(fā)布。
PASCAL 語言及其“后裔”
Pascal 語言是由瑞士計算機科學家 Niklaus Wirth 在上世紀六十年代末所設(shè)計的旭绒。Pascal 語法嚴謹鸟妙,一出世就受到廣泛歡迎,迅速地從歐洲傳到美國挥吵。Pascal 語言是 Apple Lisa(蘋果公司發(fā)布的世界首臺圖形界面計算機)和早期 Mac 開發(fā)使用的高級語言圆仔,此外最初 Macintosh 操作系統(tǒng)的部分也是從 Pascal 源代碼手工翻譯成 Motorola 68000 匯編語言的。
不少人眼中的 Pascal 語言是一種并不流行的語言蔫劣,但實際上 NOI(全國奧林匹克信息學競賽)將 Pascal 、C 與 C++ 作為競賽使用的程序設(shè)計語言个从, 同時 IOI(國際信息學奧林匹克競賽)也將 Pascal 作為三種程序設(shè)計語言之一——事實上 Pascal 并沒有大家想的那么不受歡迎脉幢。
20 世紀 80 年代,Wirth 為操作系統(tǒng)和應(yīng)用程序?qū)iT設(shè)計了 Modula-2 語言嗦锐。目前嫌松,世界上已經(jīng)開發(fā)了近百個 Modula-2 編譯系統(tǒng)。歐洲奕污、加拿大萎羔、澳大利亞等不少大學已經(jīng)用 Modula-2 代替 Pascal 語言作為計算機科學系本科生的第一門程序設(shè)計課。
此外碳默,Wirth 設(shè)計的 Oberon 操作系統(tǒng)也具有重要的價值贾陷。如今,Oberon 仍有多個項目正在運行中嘱根,如 Project Oberon 項目髓废,該項目在基于 FPGA(現(xiàn)場可編程邏輯門陣列)的現(xiàn)代硬件上運行一個現(xiàn)代化的操作系統(tǒng)版本;還有 Native Oberon 項目该抒,在 x86-32 PC 和 QEMU(一款開源的模擬器及虛擬機監(jiān)管器)下運行慌洪。
C 的“后裔”
以上所講的與 C 并無關(guān)聯(lián)的編程語言還是有些晦澀難懂,下面可以看一看 C 的“后裔”如今發(fā)發(fā)展如何。
C++
首先是 C++冈爹。雖然 Linux 之父曾多次表明自己不喜歡 C++ 涌攻,還將其批得一無是處:“C++ 是一門很糟糕的語言”、“很多不合格的程序員都在使用它” 频伤、”C++ 最后做出來的就是一堆可怕且難以維護的垃圾”…但 C++ 依舊是目前非常受歡迎的一種語言恳谎。由 C 擴展升級而產(chǎn)生的 C++,擁有計算機運行的實用性特征剂买,同時還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計語言的問題描述能力惠爽。像是曾經(jīng)輝煌的 Symbian 系統(tǒng)(塞班公司為手機而設(shè)計的操作系統(tǒng))和目前流行的開源數(shù)據(jù)庫 MySQL 等等,都基于 C++ 語言設(shè)計瞬哼。
C#
C# 則是由 C 和 C++ 衍生出來的一種安全穩(wěn)定婚肆、簡單優(yōu)雅的面向?qū)ο缶幊陶Z言,在繼承 C 和 C++ 強大功能的同時去掉了一些它們的復雜特性坐慰。它憑借其強大的操作能力以及優(yōu)雅的語法風格等條件成為 .NET(用于構(gòu)建多種應(yīng)用的免費開源開發(fā)平臺)開發(fā)的首選語言较性。C# 是兼顧系統(tǒng)開發(fā)和應(yīng)用開發(fā)的實用語言,因此被很多人認為其很有可能成為編程語言歷史上的第一個“全能”型語言结胀。
Rust
事實上赞咙,近幾年來有關(guān) C 是否會被 Rust 語言取代的話題一直層出不窮,其中被討論最多的應(yīng)該就是 Rust 能否成為繼 C 語言之后 Linux 內(nèi)核的第二官方語言糟港。作為上線時間并不是很久的 Rust 語言目前已經(jīng)受到了足夠的重視攀操,從微軟探索將 Rust 作為 C 和 C++ 的安全替代方案開始,Rust 吸引了越來越多的目光:內(nèi)核維護者表示愿意接受用 Rust 開發(fā) Linux 驅(qū)動秸抚;AWS(亞馬遜 Web 服務(wù))也伸出橄欖枝速和,宣布贊助 Rust……
“C 不等于整個世界”
雖然 C 的世界是吸引人的,但同時 C 以外的世界也很精彩剥汤,作者 Liam Proven 在其文章的最后表示:“我希望這些例子可以說明一點:操作系統(tǒng)不以 C 開頭和結(jié)尾颠放,C 也不等于整個世界】愿遥”