新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 業(yè)界動態(tài) > 編程語言榜單:C++首次超越C,僅次榜首Python

        編程語言榜單:C++首次超越C,僅次榜首Python

        作者: 時間:2024-06-25 來源: 收藏

        在本月的 TIOBE 榜單中,出現(xiàn)了歷史性一幕: 史上首次超越 C,躍升至榜單第二,僅次于 —— 這是 在此榜單中的歷史最高位,亦是 C 語言的歷史最低位。

        本文引用地址:http://www.104case.com/article/202406/460312.htm

        640-4.png

        根據(jù)本月榜單數(shù)據(jù)可以看出, 是唯二市場占比超過 10% 的,而 C++ 與 C 語言相差 0.8%。雖然差距看似不大,但從 C 語言近一年來持續(xù)下滑的占比趨勢來看,此次 C++ 登上榜二或許并不意外。

        640-5.png

        C++ 的發(fā)展歷程

        自 C++ 誕生之初,它就被譽為更好的面向?qū)ο蟮?C 語言版本。想到這一點,TIOBE CEO Paul Jansen 感慨道:在誕生 39 年后,C++ 終于打敗了 C 語言。

        事實上,早期并沒有“C++”這個名字,而是叫做 C with Classes,即“帶類的 C”,出現(xiàn)背景是為了解決計算機性能飛速提高下,C 語言逐漸難以應(yīng)對中大型軟件的編寫。

        在 1979 年,C++ 之父 Bjarne Stroustrup 以 C 語言為背景,又以 Simula(具備利于大型軟件開發(fā)的特點)思想為基礎(chǔ),到貝爾實驗室開始從事把 C 語言改良為 C with Classes 的工作,并將其用于自己的 Unix 內(nèi)核開發(fā)工作中。當時的 C with Classes,還只是作為 C 語言的一個擴展和補充,目的是提高開發(fā)效率。

        到了 1983年,C with Classes 正式改名為 C++,并加入了新的特性,包括虛函數(shù)、函數(shù)名和運算符重載、參考、常量、改良的類型檢查等等。整體來說,C++ 主要是在 C 語言的基礎(chǔ)上增加了面向?qū)ο蠛头盒偷臋C制,提高了開發(fā)效率,以適用于大中型軟件的編寫。

        縱觀 C++ 的發(fā)展歷程,大致可分為三個階段:

        第一階段從 1979 年到 1995 年。這個階段的 C++,基本上是傳統(tǒng)類型上的面向?qū)ο笳Z言,憑借著接近 C 語言的效率逐漸為人所知,慢慢應(yīng)用到工業(yè)界中,并在工業(yè)界占據(jù)了相當大的份額。

        第二階段從 1995 年到 2000 年。這一階段的 C++ 新增了標準模板庫和 Boost 等程序庫,于是泛型程序設(shè)計在 C++ 中占據(jù)了越來越多的比重。不過 Java、C# 等語言出現(xiàn)和硬件價格的大規(guī)模下降,導致 C++ 受到了一定沖擊,但仍有著廣泛應(yīng)用。

        值得一提的是,由于這時 C++ 還沒有統(tǒng)一標準,各個編譯器都有自己的不同實現(xiàn),因此 ANSI(美國國家標準學會)在 1989 年成立了 C++ 標準委員會以建立 C++ 標準,并在 1998 年推出了 C++98 標準——這是 C++ 的第一個官方標準,讓不同編譯器和平臺之間的差異得以統(tǒng)一,由此提高了代碼的可移植性和穩(wěn)定性。

        第三階段便是從 2000 年至今。得益于 Loki、MPL(Boost)等程序庫為代表的產(chǎn)生式編程和模板元編程,C++ 的發(fā)展達到了一個新高峰。這些新技術(shù)和原有技術(shù)的融合,使得 C++ 成為當今主流程序設(shè)計語言中最復雜的一員。

        對于本月 C++ 躍升至第二,TIOBE CEO Paul Jansen 提到:自 2011 年以來,C++ 就展開了新生,每三年更新一次。“雖然大多數(shù)編譯器和工程師都無法跟上這一步伐,但能看到這種語言不斷發(fā)展,也算是一種成功。”

        如今,C++ 作為一種被廣泛使用的,在嵌入式系統(tǒng)、游戲開發(fā)和金融交易軟件等領(lǐng)域都有大量應(yīng)用。它支持多重編程范式,包括過程化程序設(shè)計、面向?qū)ο蟪绦蛟O(shè)計、泛型程序設(shè)計和函數(shù)式程序設(shè)計等。

        Go 和 Rust 也刷新自身紀錄

        除了 C++ 首度超越 C 語言,本月榜單中還有 2 個也達到了名次新高:Go 首次排名第 7,第 17 位的 Rust 也刷新了自身歷史新高。

        曾在 2015 年掉到百名開外(第 122 名)的 Go 語言,自開始嚴格遵循每半年一次的發(fā)布周期,以及由 Go 編寫的 Docker 和 Kubernetes 變得流行后,如今它已被用于許多軟件領(lǐng)域,如后端編程、網(wǎng)絡(luò)服務(wù)和 API 等。自今年 2 月首次進入 Top10 后,Go 一直穩(wěn)定在前十。

        得益于 Rust 在系統(tǒng)編程領(lǐng)域的出色表現(xiàn),近年來它被越來越多的開發(fā)者關(guān)注和支持。作為一種靜態(tài)強類型的編程語言,Rust 最大的特點便是解決了其他語言所面臨的冗長編程和內(nèi)存管理問題。不僅能保證高性能,還能降低內(nèi)存泄漏和安全漏洞的風險,Rust 的這些特點使它成為開發(fā)需要高可靠性和高性能的系統(tǒng)應(yīng)用程序時的最優(yōu)選之一。

        640-6.png

        此外,附上 Top 10 編程語言 TIOBE 指數(shù)走勢(2002-2024):

        640-7.png

        正如上文所說,如今的 C++ 已在嵌入式系統(tǒng)、游戲開發(fā)和金融交易軟件等領(lǐng)域都有大量應(yīng)用,而隨著 C++ 語言的演變,也逐漸演化出相應(yīng)的標準程序庫,其中所引入的程序庫中最重要的便是標準模板庫(STL),這也幾乎是每一位 C++ 程序員繞不開的課題。



        關(guān)鍵詞: 編程語言 C++ C語言 Python

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 略阳县| 灌南县| 宿州市| 同仁县| 青阳县| 新昌县| 榕江县| 台东市| 襄汾县| 沙坪坝区| 博野县| 方正县| 绍兴县| 清流县| 郴州市| 独山县| 临桂县| 东莞市| 柳州市| 原阳县| 诸城市| 新巴尔虎右旗| 宜丰县| 关岭| 茶陵县| 牡丹江市| 子长县| 安化县| 新疆| 汤阴县| 大石桥市| 庆阳市| 九台市| 虞城县| 观塘区| 香河县| 虹口区| 廉江市| 巧家县| 福泉市| 旬阳县|