Google 的新程式語言Carbon

Google 最近發表了新的程式語言 Carbon, 其主要的目的是用來作為C++的後繼語言;從目前的資訊可以知道,它的角色比較像是 Kotlin 之於 Java, 除了強調現代化的編程方式以外,且能夠繼續支援舊有的C++程式庫(這點其實蠻吸引人的XD)。

通常看到C++程式語言的繼任者,現在大概都會想到Rust吧,但其實定位不太一樣…

Rust 在設計之初主要是作為更安全的系統語言為出發點而設計的,所以它並不相容於既有的C++程式,所以對於已經有許多C++ 程式的組織而言,使用Rust 就相當於要改寫許多內部的程式…

Carbon在這邊則採用類似於Kotlin的模式,新的語法但又可與公司現有的C++程式一起編譯的特性,想必正式GA之後應該可以有不錯的發展…

Reference:

與C/C++整合的語言 – Zig

Hacker News上看到關於一個新的程式語言 – Zig, 從語言的哲學來看,它並不是要完全取代C/C++,相對的它是想要完善C/C++的生態與解決C/C++的痛點。

從生態來看,要在市場上找到很熟悉C/C++的開發者其實是困難的,相較於市場上找到會php/python/javascript 等程式語言的開發者而言;但問題是,目前幾乎所有重要軟體的基石都是使用C/C++來撰寫的。

從痛點來看,常常要編譯C/C++的程式時,可能會需要安裝許多toolchain 與dpendency,且依賴版本的管理上也不像其它語言那麼的平易近人,所以也造成要維護些C/C++專案的門檻也相對高。

所以Zig在這邊找到了它的利基,並提供了下面列出的優勢:

  • 可以整合C/C++的編擇流程,並整合成其編擇工具。
  • 在依賴管理上更貼近於現代程式語言的方式。
  • zig 語言的程式是可以與C/C++互通的,只需要用zig 編譯即可。

相較於把許多程式使用Rust改寫,Zig提供不同的切入角度來完善系統軟體的生態…

Reference: