C++ 的起源可以追溯到 40 年前,但它仍然是當今使用最廣泛的編程語言之一。
到 2020 年 9 月為止,C++ 是僅次于 C 語言、Java 和 Python,位于全球第四的編程語言。根據(jù)最新的 TIOBE 索引,C++ 也是增長最快的語言。
近日,C++ 之父 Bjarne Stroustrup 在接受外媒訪談的時候,對 C++ 成功的關(guān)鍵和 它40 年來的發(fā)展歷程進行了回顧。
C++ 的成功屬于意料之外
1979 年,C++ 的創(chuàng)建者 Bjarne Stroustrup 開始著手開發(fā)這種編程語言,該語言最初被設(shè)計為對 C 語言對改進版,增加了基于面向?qū)ο缶幊痰墓δ堋?/span>
Bjarne Stroustrup 一開始沒想到 C++ 會獲得如此大的成功,他說:“C++ 的成功顯然令人驚訝。我認為它的成功取決于其最初的設(shè)計目標,就是有效的使用硬件,再加上強大的抽象機制,以及它根據(jù)來自實際使用情況的反饋進行謹慎的發(fā)展?!?/span>
構(gòu)建 C++ 之初,Bjarne Stroustrup 希望用通信系統(tǒng)構(gòu)建一個多計算機系統(tǒng),該通信系統(tǒng)可以是共享內(nèi)存,也可以是網(wǎng)絡(luò)。他把重點放在了軟件上,去編寫底層的、接近硬件的代碼。例如存儲管理器,進程調(diào)度程序和設(shè)備驅(qū)動程序,以及分離軟件組件,便于它們可以在運行使用更好的方式運行。
40 年前,是沒有編程語言可以勝任這項工作的,Bjarne Stroustrup 對此花了很多心思。
現(xiàn)在,C++ 已經(jīng)成為了最受開發(fā)人員歡迎的語言之一,鞏固了全球的系統(tǒng)和服務(wù)。
C++ 11 使 C++ 成為一種新的語言
他從很早開始就意識到了這項工作不可能由他一個人來完成,但當時也只有 Bjarne Stroustrup 和他在貝爾實驗室的幾個同事全身心的投入其中。隨著標準化進程加快,加入其中的人也越來越多,如今 C++ 標準委員會已有了 400 多名成員和更廣泛的用戶群體,他們共同努力影響著編程語言的發(fā)展方向。
1998 年是 C++ 正式標準化的一年,從那時起它就成了時間是最常用的編程語言之一,并至今都保持著這種地位。
Bjarne Stroustrup 說,其后 13 年到來的 C++ 11 為 C++ 的發(fā)展奠定了基礎(chǔ),他說:“C++ 11 使 C++ 感覺像是一種新的語言?!睂Σl(fā)的類型安全的支持是必不可少的,C++ 提供了相互支持的功能密集網(wǎng)絡(luò),例如用于編譯時計算的函數(shù)、自動類型推導(dǎo)和可變參數(shù)模板的函數(shù)等等。
正如 Bjarne Stroustrup 所說,C++ 11 添加了一些新功能,這些功能可以使事情變得更簡單,同時保持了兼容性和穩(wěn)定性。不過,盡管 C++ 11 引入了一些使該語言更簡單、更快、更具表現(xiàn)力的新功能,但它還是非常難掌握的。
Bjarne Stroustrup 坦言:“C++ 確實很復(fù)雜,要學(xué)會很好的使用它需要付出很多努力,但很多人想要的是更簡單還具有更多功能的語言,并且不會破壞現(xiàn)有代碼?!?/span>
對一種編程語言來說,最大的挑戰(zhàn)之一是就決定采用和忽略哪些功能達成共識,這本身就需要大量的努力,花費很多時間去討論。但即使是這樣,也不是所有好的功能都可以被采用,必須添加真正對人們有幫助的東西。
C++ 流行幾十年的秘訣
對于如何在幾十年中保持 C++ 生存的秘訣,Bjarne Stroustrup 提到,“應(yīng)該從小做起,闡明長期理想,并根據(jù)實際使用情況的反饋來發(fā)展?!?/span>
確實,C++ 走到今天已經(jīng)超過 35 年了,今天的 C++ 比早期的 C++ 更加強大且富有表現(xiàn)力。但是,直到今天,它的一些簡單程序仍在運行。
對于使用了數(shù)十年的系統(tǒng)來說,穩(wěn)定性是一種非常重要的語言功能。事實上,許多早期的想法只有在 C++ 20 中才可用。Bjarne Stroustrup 說:“從一開始我就知道我無法構(gòu)建理想的語言,所以我必須以漸進發(fā)展為目標。我不相信有完美的語言,這對語言本身和使用語言的人都有不同的標準?!?/span>
Bjarne Stroustrup 還補充道:“進化是應(yīng)對不斷變化的世界的挑戰(zhàn)和融合新思想的必要條件?!?/span>
C++ 是一切的無形基礎(chǔ)
C++ 是一種通用的編程語言,由于其強大的功能和靈活性而受到開發(fā)人員的青睞,這使其成為操作系統(tǒng)、Web 瀏覽器、搜索引擎(包括 Google)、游戲和商務(wù)應(yīng)用程序等的理想選擇。Bjarne Stroustrup 總結(jié)道:“如果有一個問題需要高效使用硬件并處理相當大的復(fù)雜性,那么C++顯然是不錯的選擇?!?/span>
Bjarne Stroustrup 還提到,COVID-19 大流行阻礙了 C++ 下的兩個迭代 C++ 20 和 C++ 23 的進展。未來他們會推出新功能,并在每三年發(fā)布一次修訂的標準,C++ 17 和 C++ 20 也會按時交付。
然而,盡管 C++ 已經(jīng)廣泛流行,但 Bjarne Stroustrup 還是認為很難準確指出它的用途。他說:“在任何大型系統(tǒng)中,通常會在較低級別和對性能至關(guān)重要的部分中找到 C++。最終用戶甚至系統(tǒng)的其他部分的開發(fā)人員通常都看不到系統(tǒng)的這些部分,因此有時我指的是 C++ 是一切的無形基礎(chǔ)?!?/span>
-END-
作者 | 場長
|?整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有?|
|?如有侵權(quán),請聯(lián)系刪除?|
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!