自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

為什么C和C++難以被取代

開(kāi)發(fā) 后端
大家應(yīng)該發(fā)現(xiàn)了,近些年編程語(yǔ)言發(fā)展很快,各種新編程語(yǔ)言非常多,有些熱門編程語(yǔ)言如Python js go swift等迅速流行了起來(lái),使用者越來(lái)越多。

 大家應(yīng)該發(fā)現(xiàn)了,近些年編程語(yǔ)言發(fā)展很快,各種新編程語(yǔ)言非常多,有些熱門編程語(yǔ)言如Python js go swift等迅速流行了起來(lái),使用者越來(lái)越多。

但是在嵌入式開(kāi)發(fā)領(lǐng)域,C和C++卻是yyds,幾十年一直排名前列,甚至是唯一的選擇。

這是為什么呢?難道沒(méi)有其他語(yǔ)言能取代C/C++嗎?

我個(gè)人認(rèn)為確實(shí)很難有。即使技術(shù)上有了(如rust)也很難真的流行起來(lái),在市場(chǎng)使用上打敗C/C++。原因有這么幾個(gè)。

一個(gè)重要原因就是前兩天提到的技術(shù)慣性問(wèn)題。人們總是傾向于使用自己熟悉的技術(shù),總是在不得不改變時(shí)才會(huì)去改變。

C和C++經(jīng)過(guò)幾十年的發(fā)展,已經(jīng)培養(yǎng)了大量的成熟開(kāi)發(fā)者,孵化了大量?jī)?yōu)質(zhì)項(xiàng)目和基礎(chǔ)軟件,這些都是全人類全行業(yè)的優(yōu)質(zhì)基礎(chǔ)設(shè)施資產(chǎn),不可能丟棄,也沒(méi)必要重寫(xiě),繼續(xù)使用是非常合理的選擇。

你想讓這些成熟開(kāi)發(fā)者放棄C和C++去用某種新語(yǔ)言,除非有非常明確且充分的理由,有大的好處,否則沒(méi)人會(huì)理你。也許你的新語(yǔ)言會(huì)好一些,但是沒(méi)有帶來(lái)本質(zhì)優(yōu)勢(shì)的95分到98分的好,其實(shí)很難說(shuō)服成熟的傳統(tǒng)開(kāi)發(fā)者。

另一個(gè)原因是C和C++從技術(shù)上已經(jīng)很難被優(yōu)化了。因?yàn)檫@兩個(gè)語(yǔ)言已經(jīng)是直接操作內(nèi)存,并且都支持很好的指針操作,內(nèi)存對(duì)象的建立和維護(hù)。熟悉匯編語(yǔ)言和CPU指令集的同學(xué)們就會(huì)清楚,這些特性和硬件層已經(jīng)深度接軌,效率最高了。

所以不管是java,還是js,python,他們本質(zhì)上都是在更上層和人(程序員)接軌的部分在做文章,提供更多編程者覺(jué)得更好用的特性(譬如垃圾回收機(jī)制),然后在內(nèi)部又使用C和C++式的內(nèi)存對(duì)象建立和管理來(lái)實(shí)現(xiàn)這些特性。

所以你對(duì)這些有所了解后就會(huì)發(fā)現(xiàn),在和硬件接軌的嵌入式開(kāi)發(fā)領(lǐng)域,技術(shù)上確實(shí)很難去優(yōu)化C和C++了。除非CPU自己發(fā)生很大的變化,譬如打破了馮諾依曼結(jié)構(gòu),否則C和C++穩(wěn)如泰山。

那在性能上沒(méi)文章做,在靠近程序員的易用性和語(yǔ)法安全上是否可以優(yōu)化呢?當(dāng)然可以,實(shí)際上java和go,rust等語(yǔ)言就是這樣的思路。

但是要么就是要犧牲效率導(dǎo)致嵌入式領(lǐng)域不想用,要么就是必要性不大發(fā)展緩慢推動(dòng)艱難。rust目前看來(lái)最有希望,但是仍然很幼小,繼續(xù)觀望吧!

最后,C和C++本身都是開(kāi)放使用的。既沒(méi)有限制任何人使用,又不用付費(fèi),沒(méi)有隱患,為什么不用他呢?

所以綜合以上大家就會(huì)明白為什么這倆兄弟這么強(qiáng),并將一直強(qiáng)下去!

責(zé)任編輯:華軒 來(lái)源: 今日頭條
相關(guān)推薦

2022-11-28 09:58:58

C++開(kāi)發(fā)

2023-03-16 15:00:31

CarbonC++編程語(yǔ)言

2023-10-28 00:02:55

2020-05-12 09:01:30

IPv6IPv4網(wǎng)絡(luò)協(xié)議

2013-02-28 09:42:25

DIND 10C++Python

2024-01-24 11:24:03

C++編程異常處理

2010-01-20 14:03:12

C++程序

2010-01-22 15:14:37

學(xué)習(xí)C++

2022-05-10 08:40:19

編程語(yǔ)言C#

2015-11-17 08:54:42

語(yǔ)言gorust

2015-11-17 10:00:50

DGORust

2022-10-21 18:41:23

RustC++Azure

2021-11-19 09:49:00

CC++語(yǔ)法糖

2014-04-24 13:43:37

CC++單元測(cè)試框架

2012-05-18 10:21:30

程序員CC++

2017-09-18 08:53:28

編程語(yǔ)言ERP補(bǔ)丁管理

2011-05-18 18:05:47

C#C++

2020-07-02 14:12:52

C++語(yǔ)言編程

2022-07-21 09:15:28

C++垃圾回收

2011-05-18 17:56:38

C#C++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)