ansi c标准_C/C++的起源与发展故事,我是最牛的软件编程语言,不接受反驳
C語言和C++語言絕對是計算機軟件界最經典和堅挺的編程語言,不論多少語言走完了誕生、發展、消亡的生命歷程,這兩種語言依然保有旺盛的生命力。而兩者之間的關系,說是繼承也好、擴展也好、父子也好,總之是有千絲萬縷的關系。
C語言和C++語言之所以被稱為經典,是因為Windows、Linux、UNIX、DOS四大操作系統的核心代碼大部分是使用C和C++編寫;之所以說堅挺,是因為當前軟件領域采用的編程語言中,這兩種語言基本上長期處于TOP 10的序列。所以可以說這兩種語言是最牛的編程語言。
對于C語言的誕生和起源,可以說是偶然中的必然。兩位天才人物發揮了決定性的作用,不僅僅創造了一門流傳于世的經典編程語言,還發明了一個超級牛叉的操作系統,稱之為現代操作系統的祖父都不為過。
在詳細講述天才人物的故事之前,還需要說明一下CPL(Combined Programming Langurage)語言,因為C語言的名字就取之于其中的“C”。CPL語言是基于 ALGOL 60 的高級編程語言,由英國劍橋大學于1963年推出。發展到1967年時,英國劍橋大學的 Matin Richards對其進行了簡化,推出了 BCPL (the Basic Combined Programming Language)語言。
C語言
C語言是一種結構化語言,有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利于程序的調試,最大特點就是高效。C語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接尋址以及對硬件進行直接操作。因此既能夠用于開發系統程序,也可用于開發應用軟件。
C語言的起始,源自于美國AT&T公司貝爾實驗室的研究員Ken Thompson。20世紀六十年代,這位天才人物某一天上班走神,閑來無事,手癢難耐,想玩一個他自己編的,模擬在太陽系航行的電子游戲 —— Space Travel。于是其背著老板,找到了一臺空閑的機器 —— PDP-7。
但是這臺機器沒有操作系統,而這個游戲必須使用操作系統的一些功能。于是其充分發揮毛主席倡導的“自力更生、豐衣足食”的精神,著手為PDP-7開發操作系統。從此,一個超級牛叉的操作系統誕生了,后來,這個操作系統被命名為 —— UNIX。
1970年,Ken Thompson 以 BCPL 語言為基礎,設計出很簡單且很接近硬件的B語言(取BCPL的首字母),之后他開始用 B 語言寫出了第一個 UNIX 操作系統,這可以被稱之為 “0”號版本的UNIX操作系統。一個翹班者,設計出了一種新的編程語言,并用其編寫了一個偉大的操作系統,其人不被稱之為天才,什么樣的人才能被稱之為天才呢。
緊跟著第二年(1971年),C語言的創始者出現了,這又是一個天才人物。同樣酷愛Space Travel游戲的 Dennis M.Ritchie 為了能早點兒玩上游戲,加入了Thompson的開發項目,合作開發UNIX,其主要工作是改造B語言,使其更成熟。他的最終工作成果產生于1972年,是一門新的編程語言,取了 BCPL 的第二個字母作為這種語言的名字,C語言真正誕生了。可以這樣說,C語言的誕生就是UNIX操作系統的“副產品”。
誰能想象,一個游戲催生了一門經典的編程語言,這絕對是一個奇跡。能讀到此的看官,是否有一試此游戲的沖動。千萬別沖動,那可是20世紀六十年代的游戲,對現在的游戲玩家來說,絕對是一個打擊。
到1973年初,C語言的主體完成。Thompson和Ritchie迫不及待地開始用它完全重寫了UNIX操作系統。此時,編程的樂趣使他們已經完全忘記了那個"Space Travel",一門心思地投入到了 UNIX 和 C語言的開發中。
隨著UNIX的發展,C語言自身也在不斷地完善。直到2020年,各種版本的UNIX內核和周邊工具仍然使用 C語言作為最主要的開發語言,其中還有不少繼承 Thompson 和 Ritchie 之手的代碼。
隨著 C語言繼續發展,在1982年,很多有識之士和美國國家標準協會為了使這個語言健康地發展下去,決定成立C標準委員會,建立C語言的標準。1989年,ANSI發布了第一個完整的C語言標準——ANSI X3.159—1989,簡稱“C89”,不過人們也習慣稱其為“ANSI C”。截至2020年,最新的C語言標準為2017年發布的 “C17”。
C++語言
C++語言是C語言的繼承,既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基于對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。由于C++語言擅長面向對象程序設計的同時,還可以進行基于過程的程序設計,因而C++語言就適應的問題規模而論,大小由之。微軟的Windows 操作系統中,80%的代碼是由C++語言完成的。
1979年,大牛 Bjame Sgoustrup 到了Bell實驗室,開始從事將 C語言改良為帶類的C(C with classes)的工作,1983年該語言被正式命名為C++。自從C++語言被發明以來,經歷了三次主要的修訂,每一次修訂都為C++增加了新的特征并作了一些修改。
在20世紀90年代早期,人們開始為C++語言建立標準,并成立了一個由 ANSI和ISO國際標準化組織的聯合標準化委員會。該委員會在1994年1月25日提出了第一個標準化草案。在這個草案中,委員會在保持Stroustrup最初定義的所有特征的同時,還增加了一些新的特征。
標準化委員會于1997年11月14日通過了該標準的最終草案,1998年,C++的ANSI/ISO標準被投入使用。通常,這個版本的C++被認為是標準C++,所有的主流C++編譯器都支持這個版本的C++。
總結
作為兼顧了高級語言和匯編語言優點的C語言,應用范圍很廣,尤其在目前各領域的嵌入式編程中更是大放異彩。但鑒于其靈活性大的特性和對馮諾依曼構型計算機的深度理解(特別是存儲)的要求,讓很多人選擇了更易學習的其他高級語言。
在本人看來,目前的C/C++語言頗有些當年匯編語言的意思,那就是被應用型程序員不屑,被真正的程序員所追求,被入門型程序員仰視。原因就在于只有對C/C++語言精通掌握的程序員才是真正的程序員,才是真正對計算機系統掌握的程序員。這也是目前C/C++語言作為大學相關專業的必教課程的原因。
總之,作為最接近操作系統核心的編程語言、最高效的語言,C/C++語言必然是最經典、最牛的軟件編程語言。
附錄:
編譯器:
- GCC:GNU組織開發的開源免費的編譯器
- MinGW:Windows操作系統下的GCC
- Clang:開源的BSD協議的基于LLVM的編譯器
- Visual C++ :: cl.exe:Microsoft VC++自帶的編譯器
- C-Free
集成開發環境:
- Code::Blocks:開源免費的C/C++ IDE
- CodeLite:開源、跨平臺的C/C++集成開發環境
- Dev-C++:可移植的C/C++IDE
- C-Free
- Light Table
- Visual Studio系列
歡迎大家關注“夢想視角”!關注互聯網、科技、手機、數碼資訊!
總結
以上是生活随笔為你收集整理的ansi c标准_C/C++的起源与发展故事,我是最牛的软件编程语言,不接受反驳的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab模拟三体运动_从灯泡到超级计
- 下一篇: 周一 周五 记录_6.12日独家提示买入