国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

是時(shí)候退休C語(yǔ)言了嗎?

王尚岱 ? 來(lái)源:王岑王岑 ? 作者:王岑王岑 ? 2022-07-14 08:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

After almost a half-century of use, is it time for embedded developers to move on to a more modern language?

C 編程語(yǔ)言無(wú)疑是計(jì)算機(jī)科學(xué)中最成功的編程語(yǔ)言之一。C 最早出現(xiàn)在 1972 年左右,由貝爾實(shí)驗(yàn)室出來(lái),由 Dennis Ritchie 創(chuàng)建。在過(guò)去 20 年中,C 被 TIOBE Programming Index 評(píng)為世界上最流行的兩種編程語(yǔ)言之一(參見(jiàn)圖 1)。它是嵌入式系統(tǒng)開發(fā)人員最流行的語(yǔ)言,用于近 80% 的嵌入式項(xiàng)目。經(jīng)過(guò)近半個(gè)世紀(jì)的使用,嵌入式開發(fā)人員是時(shí)候轉(zhuǎn)向更現(xiàn)代的語(yǔ)言了嗎?是時(shí)候退休 C 了嗎?

poYBAGLOkuaAK_8DAAQaVtr_v-k180.png

poYBAGLOkuaAK_8DAAQaVtr_v-k180.png


圖 1 – 過(guò)去 20 年編程語(yǔ)言的 TIOBE 編程社區(qū)指數(shù)排名。C 一直是排名前兩位的語(yǔ)言之一。

由于幾個(gè)原因,退休 C 并轉(zhuǎn)向更現(xiàn)代的編程語(yǔ)言的誘惑相對(duì)較高。首先,經(jīng)常受到科技公司高度追捧的入門級(jí)工程師幾乎沒(méi)有使用 C 的經(jīng)驗(yàn)。如今的大學(xué)課程專注于教授 PythonC++ 等現(xiàn)代語(yǔ)言。讓他們加快速度并獲得經(jīng)驗(yàn)可能需要大量的金錢和時(shí)間投資,而很少有公司對(duì)此感興趣。

Next, while very popular, the C programming language is dated. C doesn’t support modern programming concepts like classes and inheritance. If you compare the feature sets of modern languages like C++, Python, and Rust, the C language is starting to look like a dinosaur! The last time the C standard had new features added was 2011! The 2017 standard release only had technical corrections and clarifications, and the upcoming standard release expected in 2023 most likely won’t rock the boat either.

淘汰 C 看起來(lái)仍然很誘人,但是離開 C 有幾個(gè)問(wèn)題。首先,C 對(duì)于接近硬件運(yùn)行的低級(jí)過(guò)程應(yīng)用程序來(lái)說(shuō)是一種很棒的語(yǔ)言。它緊湊而高效。其次,高級(jí)工程師的語(yǔ)言根深蒂固。他們處于使用該語(yǔ)言數(shù)十年的地步,對(duì)學(xué)習(xí)和過(guò)渡到更現(xiàn)代的語(yǔ)言幾乎沒(méi)有興趣。最后,如此多的遺留庫(kù)和代碼庫(kù)使用 C,我們不能放棄它們。移植遺留代碼的成本太高了!

看來(lái)我們有點(diǎn)進(jìn)退兩難了!作為一個(gè)行業(yè),我們應(yīng)該淘汰 C 以利用更現(xiàn)代的語(yǔ)言和技術(shù),但是更改的時(shí)間和成本以及我們必須維護(hù)的遺留代碼量經(jīng)常阻礙 C 的淘汰。需要更現(xiàn)代的技術(shù),同時(shí)保持我們從 C 中獲得的好處,可能會(huì)使我們遠(yuǎn)離使用單一的主導(dǎo)語(yǔ)言,并迫使我們依賴多種語(yǔ)言來(lái)完成工作。

使用其他語(yǔ)言來(lái)支持 C 可能已經(jīng)發(fā)生。例如,下面的表 1 顯示了幾種語(yǔ)言在 TIOBE 指數(shù)中的排名。過(guò)去,一兩種語(yǔ)言主導(dǎo)著計(jì)算機(jī)科學(xué)。今天,前四種語(yǔ)言的評(píng)分都在 10% 左右。我相信這表明單一主導(dǎo)語(yǔ)言的終結(jié)。相反,開發(fā)人員將利用多種語(yǔ)言來(lái)實(shí)現(xiàn)他們的最終目標(biāo)。

排行 語(yǔ) 評(píng)分
1 Python 12.20%
2 C 11.91%
3 爪哇 10.47%
4 C++ 9.63%
27 0.52%

表 1 – 通常與嵌入式軟件開發(fā)相關(guān)的編程語(yǔ)言列表(來(lái)源:TIOBE 指數(shù))。注意:這些評(píng)級(jí)不代表嵌入式軟件的使用,僅代表一般計(jì)算機(jī)科學(xué)行業(yè)的使用。

如果你仔細(xì)觀察這個(gè)行業(yè),這已經(jīng)發(fā)生了。我看到一些公司正在過(guò)渡到使用仍然擁有大量 C 庫(kù)的 C++。我看到一些公司嘗試使用 Rust,但依賴他們久經(jīng)考驗(yàn)的 C 庫(kù)作為構(gòu)建的一部分,反之亦然。不幸的是,或者也許,根據(jù)您的觀點(diǎn),幸運(yùn)的是,這意味著 C 將在未來(lái)無(wú)限期地繼續(xù)成為主導(dǎo)語(yǔ)言。

是時(shí)候退休 C 了嗎?這是一個(gè)簡(jiǎn)單但復(fù)雜的問(wèn)題。我認(rèn)為是的,但這取決于你在做什么。您可能不想在 8 位微控制器上使用 C++ 或其他語(yǔ)言。如果您正在使用機(jī)器學(xué)習(xí)或開發(fā)連接設(shè)備的尖端 32 位微控制器工作,C 以外的語(yǔ)言將為您提供成功所需的額外工具。切換語(yǔ)言的時(shí)間和成本可能太高。我的經(jīng)驗(yàn)法則是,如果是新設(shè)計(jì),請(qǐng)從現(xiàn)代語(yǔ)言開始。如果是遺留設(shè)計(jì),請(qǐng)利用遺留代碼并用現(xiàn)代語(yǔ)言編寫新代碼。

你怎么看?是時(shí)候退休 C 了嗎?

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145598
  • 編程語(yǔ)言
    +關(guān)注

    關(guān)注

    10

    文章

    1964

    瀏覽量

    39570
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    C語(yǔ)言主要特點(diǎn)

    C語(yǔ)言的主要特點(diǎn)有: 1.語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活 。C語(yǔ)言一共只有32個(gè)關(guān)鍵字、9種控制語(yǔ)句,程序書寫形式自由,主要用小寫字母表示,
    發(fā)表于 01-05 07:41

    為什么c語(yǔ)言沒(méi)有輸出?

    我在寫c語(yǔ)言程序的時(shí)候,經(jīng)常在程序編譯的時(shí)候沒(méi)有輸出,經(jīng)總結(jié),發(fā)現(xiàn)有以下原因: 1、scanf里沒(méi)有加 。 2、邏輯問(wèn)題,可能沒(méi)有輸入,才沒(méi)有輸出。 3、輸入scanf(\"%d
    發(fā)表于 01-05 06:40

    汽車網(wǎng)絡(luò)安全開發(fā)語(yǔ)言選型指南:C/C++/Rust/Java等主流語(yǔ)言對(duì)比+Perforce QAC/Klocwork工具支持

    汽車網(wǎng)絡(luò)安全如何選編程語(yǔ)言CC++、Rust、Java……誰(shuí)更適合AUTOSAR、ISO/SAE 21434?一文了解8種主流語(yǔ)言的優(yōu)劣與適用場(chǎng)景,以及Perforce QAC/K
    的頭像 發(fā)表于 12-26 11:13 ?426次閱讀
    汽車網(wǎng)絡(luò)安全開發(fā)<b class='flag-5'>語(yǔ)言</b>選型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++/Rust/Java等主流<b class='flag-5'>語(yǔ)言</b>對(duì)比+Perforce QAC/Klocwork工具支持

    C語(yǔ)言C++的區(qū)別及聯(lián)系

    C語(yǔ)言C++到底是什么關(guān)系? 首先C++和C語(yǔ)言本來(lái)就是兩種不同的編程
    發(fā)表于 12-24 07:23

    C語(yǔ)言中可以嵌套匯編語(yǔ)言嗎?

    請(qǐng)問(wèn)C語(yǔ)言中可以嵌套匯編語(yǔ)言嗎?
    發(fā)表于 12-15 08:14

    C語(yǔ)言C++之間的區(qū)別是什么

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語(yǔ)言是一種面向過(guò)程的語(yǔ)言,它強(qiáng)調(diào)的是通過(guò)函數(shù)將任務(wù)分解為一系列步驟進(jìn)行執(zhí)行。 C++在C
    發(fā)表于 12-11 06:23

    C語(yǔ)言特性

    1、高效性:直接操作硬件 C 語(yǔ)言代碼的執(zhí)行效率極高,這是其最為顯著的優(yōu)勢(shì)之一。它能夠直接訪問(wèn)硬件資源,與底層硬件進(jìn)行緊密交互,充分發(fā)揮硬件的性能潛力。在嵌入式開發(fā)中,硬件資源往往十分有限,對(duì)程序
    發(fā)表于 11-24 07:01

    C語(yǔ)言和單片機(jī)C語(yǔ)言有什么差異

    語(yǔ)言的功能特性外,它可以很好的操作底層的硬件接口。在C語(yǔ)言的基礎(chǔ)上,如果你把一些單片機(jī)的端口或特殊功能寄存器加于定義,使用的時(shí)候會(huì)更加方便,寫語(yǔ)句的
    發(fā)表于 11-14 07:55

    第4章 C語(yǔ)言基礎(chǔ)以及流水燈的實(shí)現(xiàn)(4.5 4.6)

    4.5while循環(huán)語(yǔ)句 在單片機(jī)C語(yǔ)言編程的時(shí)候,每個(gè)程序都會(huì)固定的加一句while(1),這條語(yǔ)句就可以起到死循環(huán)的作用。對(duì)于while語(yǔ)句來(lái)說(shuō),他的一般形式是: ? ? ? ?while
    的頭像 發(fā)表于 11-06 11:21 ?354次閱讀

    MiniVC6(C語(yǔ)言快速部署)資料

    MiniVC6(C語(yǔ)言快速部署)軟件,無(wú)需安裝。
    發(fā)表于 09-04 16:59 ?0次下載

    主流的 MCU 開發(fā)語(yǔ)言為什么是 C 而不是 C++?

    、1MROM是標(biāo)配?多數(shù)時(shí)候咱打交道的,是stm8這種8kRAM的“小矮個(gè)兒”,stm32f1的32kRAM就算是“小康家庭”了。就這么丁點(diǎn)兒地方,C語(yǔ)言打個(gè)轉(zhuǎn)都
    的頭像 發(fā)表于 05-21 10:33 ?1041次閱讀
    主流的 MCU 開發(fā)<b class='flag-5'>語(yǔ)言</b>為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C</b>++?

    單片機(jī)c語(yǔ)言編程實(shí)例大全

    單片機(jī)c語(yǔ)言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?7次下載

    深入理解C語(yǔ)言C語(yǔ)言循環(huán)控制

    C語(yǔ)言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以讓程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無(wú)限循環(huán),C語(yǔ)言提供了多種循環(huán)控制語(yǔ)句,如break、continue和
    的頭像 發(fā)表于 04-29 18:49 ?2046次閱讀
    深入理解<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>:<b class='flag-5'>C</b><b class='flag-5'>語(yǔ)言</b>循環(huán)控制

    C語(yǔ)言的歷史及程序介紹

    電子發(fā)燒友網(wǎng)站提供《C語(yǔ)言的歷史及程序介紹.pdf》資料免費(fèi)下載
    發(fā)表于 04-09 16:10 ?0次下載

    51單片機(jī)C語(yǔ)言學(xué)習(xí)筆記

    c51語(yǔ)言快速入門
    發(fā)表于 03-24 14:04 ?3次下載