農林漁牧網

您現在的位置是:首頁 > 農業

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

2022-08-16由 鯊魚程式設計 發表于 農業

python能編手機程式嗎

谷歌以及其他一些相關組織的人認為,是時候繼承C++語言了。

C++自從成立以來,就一直是構建效能密集型應用的首選,但是有人認為該語言有點 “過時”。

2022年7月19日,在加拿大舉辦的CPP North C++會議上,谷歌的工程師Chandler Carruth就帶來了Carbon語言。

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

萎縮的C++

C++在幾十年的技術積累後,存在許多過時的問題,這也讓許多現代開發者感到困擾。再加上如今C++委員會以標準化為發展導向,而不是設計,導致新增一個新功能會變得非常困難。

當然了,委員會是為了確保語言足夠具有代表性,而不是建立一個包容開放的社群。谷歌工程師們就想透過一個更開放的社群主導環境來構建Carbon,因此雖然目前它是個谷歌內部的專案,但他們打算之後把專案交給由志願者領導的獨立軟體基金會。

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

什麼是carbon?

就像之前說的,谷歌工程師開發Carbon語言是為了解決C++存在的問題。

其實已經有一些語言就是為了彌補C++缺點的,比如Golang和Rust等,不過它們都在遷移C++程式碼庫上存在著巨大的困難。

Carbon的目標就是能夠方便開發人員對現有程式碼庫進行大規模採用和遷移。簡單來說它不是為了替代C++,而是成為一種圍繞與C++的互操作性而設計的後續語言。

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

carbon的主要特性

Carbon的一些關鍵功能包括C++互操作性,現代泛型和記憶體安全。

以下是官方提供的案例程式碼,C++如下:

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

這是用Carbon編寫的相同函式:

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

為什麼不直接做Rust

其實Chander自己也說了,如果環境支援使用Rust,那麼就應該直接使用Rust,只有當C++程式碼庫太過於龐大或者和其他庫深度繫結,很難轉換成Rust的時候,才需要Carbon。

什麼?谷歌開發的Carbon語言旨在成為更好的C++?

弊端

老實說,能夠滿足需要使用Carbon條件的只有一些大公司,而他們一般都會為滿足自己的一套需求而搞特殊的技術。Carbon就相當於是谷歌工程師們自己搞的特定小眾語言,讓其他公司來接受該程式語言是非常苦難的一件事。

你覺得Carbon能夠替代C++嗎?