簡述c++ 發(fā)展史
C++是一門以C為基礎發(fā)展而來的一門面向?qū)ο蟮母呒壋绦蛟O計語言,從1983年由Bjarne Stroustrup教授在貝爾實驗室創(chuàng)立開始至今,已有30多個年頭。C++從最初的C with class,經(jīng)歷了從C++98、C++ 03、C++ 11、C++ 14再到C++17多次標準化改造,功能得到了極大的豐富,已經(jīng)演變?yōu)橐婚T集面向過程、面向?qū)ο蟆⒑瘮?shù)式、泛型和元編程等多種編程范式的復雜編程語言,入門具有一定的難度。由于C++過于復雜,并且經(jīng)歷了長時間的發(fā)展演變,目前對于C++標準支持的較好主要有GNU C++和Visual C++,嚴格來說,目前還沒有一個完全支持ISO C++的版本。
1954年,John Backus發(fā)明了世界上第一種計算機高級語言Fortran,為之后出現(xiàn)的高級編程語言奠定了基礎。1970年,AT&T的Bell實驗室的 Ken Thompson,以BCPL語言為基礎,設計出簡單且接近硬件的B語言(取BCPL的首字母),并且他用B語言寫了第一個Unix操作系統(tǒng)。到了1972年,Bell實驗室的Dennis Ritchie和Ken Thompson共同發(fā)明了C語言,并使用C重寫Unix。1979年,Bjame Stroustrup到了Bell實驗室,開始從事將C改良為帶類的C(C with Classes)的工作,1983年該語言被正式命名為C++,主要意圖是表明C++是C的增強版,1985年發(fā)布了第一個C++版本。
第一個版本的C++,因其面向?qū)ο蟮乃枷胧沟镁幊套兊煤唵?,并且又保持了C語言的運行效率,在推出的一段時間內(nèi),得到了快速的發(fā)展,占據(jù)了編程語言界的半壁江山。從1985年到1998年,C++從最初的C with Classes新增了很多其他的特性,比如異常處理、模板、標準模板庫(STL)、運行時異常處理(RTTI)與名字空間(Namespace)等。1998年,C++標準委員會統(tǒng)籌C++的所有特性,發(fā)布了第一個C++國際標準C++98。從1998年到2003年,是C++標準從C++98到C++03的迭代期,期間C++擴增了很多額外的特性,比如以Boost MPL(Boost Metaprogramming Library)與Loki等為代表的模板元編程庫的出現(xiàn),讓開發(fā)者更加便捷的使用C++在編譯期的執(zhí)行能力,即通過代碼編譯獲得計算結果,學術性的稱為模板元編程。到了2003年,C++標準委員會總結最新技術并發(fā)布了C++03標準。從2003年到2011年,也就是從C++03到C++11,期間C++引入了對象移動、右值引用、lamba表達式(函數(shù)式編程)、編譯時類型識別(auto)、別名模板以及很多新型關鍵詞(如nullptr、decltype、constexpr)等現(xiàn)代編程語言常具備的能力,讓C++與時俱進,開發(fā)效率得到了很大的提升。這些新的特性隨著C++11標準的發(fā)布而被正式確立下來。近年來,C++標準的變更周期縮短,由C++11到C++14以及最近的C++17都只用了3年的時間。C++14引入了二進制文字常量、將類型推導從Lambda函數(shù)擴展到所有函數(shù)、變量模板以及數(shù)字分位符等。C++14 是對 C++11的重要補充和優(yōu)化,是C++發(fā)展歷程中的一個小型版本,雖然新增的內(nèi)容較少,但是仍然為用戶“帶來了極大的方便”,為實現(xiàn)使C++“對新手更為友好”這一目標作出努力。到了2017年,C++迎來了C++17標準。此次對C++的改進和擴增,讓C++變得更加容易接受和便于使用了。C++17引入了許多新的特性,比如類模板參數(shù)推導、UTF-8文字常量、fold表達式、新類型以及新的庫函數(shù)等。
C++仍在不斷的發(fā)展,下一個版本將是C++20,C++歷史上的標準變更如下。
年份 |
C++ 標準名稱 |
非正式名稱 |
---|---|---|
1998 |
ISO/IEC 14882:1998 |
C++98 |
2003 |
ISO/IEC 14882:2003 |
C++03 |
2011 |
ISO/IEC 14882:2011 |
C++11 |
2014 |
ISO/IEC 14882:2014 |
C++14 |
2017 |
ISO/IEC 14882:2017 |
C++17 |
2020 |
Yet to be determined |
C++20 |
語言的發(fā)展是一個逐步遞進的過程,C語言也不例外,C語言也有自己的標準。C語言從1972誕生以來,先后經(jīng)歷了K&R C、ANSI C、C89、C99和最新的C11標準的變更,其特性不斷豐富,功能不斷強大。語言的發(fā)展也是相互促進和交融吸收的,C++是直接從C語言發(fā)展過來的,而C語言是從B語言發(fā)展過來的,B語言則是從BCPL發(fā)展而來,BCPL(Basic CPL)則從CPL發(fā)展而來,CPL則從ALGOL60演變而來。每一門新語言的誕生以及后續(xù)的演變和發(fā)展,都站在了其他語言的肩膀之上,取其精華,棄其糟粕,讓語言變得更加的強大。
以上就是簡述c++ 發(fā)展史的詳細內(nèi)容,更多關于c++ 發(fā)展史的資料請關注腳本之家其它相關文章!
相關文章
解析wprintf 中使用%I64d格式化輸出LONGLONG的詳細介紹
本篇文章是對wprintf 中使用%I64d格式化輸出LONGLONG進行了詳細的分析介紹,需要的朋友參考下2013-05-05Microsoft?Visual?C++進行調(diào)試的方法實現(xiàn)
VS功能極其強大,使用極其便利,本文主要介紹了Microsoft?Visual?C++進行調(diào)試的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-06-06