強調記憶體安全特性的程式語言採用率增加,但防護較差的C/C++仍因IoT需求持續蓬勃發展

強調記憶體安全特性的程式語言採用率增加,但防護較差的C/C++仍因IoT需求持續蓬勃發展

JFrog資料顯示Rust套件管理程式Cargo儲存庫數量兩年成長30%,有助於提升應用程式的記憶體安全,但C/C++受歡迎度並沒有因此下降,反而因物聯網裝置開發需求上升而採用增加。


DevOps平臺JFrog使用自家構件儲存庫管理程式Artifactory的資料,分析其全球7,000家客戶,涵蓋85%財富100企業的套件和程式語言使用狀況,釋出軟體構件技術調查報告Software Artifact State of the Union

官方提到,Overflow開發者調查或是Tiobe等指標,使用搜尋和討論熱度等間接資料,供企業了解開發趨勢,並且作為開啟新專案的參考,而JFrog軟體構件技術調查報告,則使用實際儲存庫分析資料,可以更直接掌握套件流行度和趨勢。

由於套件和二進位檔案是企業從軟體設計到產品交付真正使用的元件,大多數套件也只提供一到兩種程式語言,因此套件也能夠作為了解程式語言的代理指標。在Artifactory中,超過10萬儲存庫的軟體開發技術,依序為Docker、Maven、Npm、YUM、Helm、Pypi、NuGet和Debian,官方提到,儲存庫總數反應特定技術的受歡迎程度(下圖)。

Docker容器和Helm Charts的使用量急速增加,說明企業已經普遍採用雲端原生DevOps方法,容器化應用程式已經改變企業交付軟體的方式,官方還提到,雖然Kubernetes在2013年就已經出現,但是一直到最近,才開始被大型組織用於在生產環境部署容器,不過距離成熟還有一段時間。

根據JFrog的調查,著重記憶體安全特性的程式語言Rust,其套件管理程式Cargo使用增加,代表不少企業逐漸擴大Rust的採用,Cargo從2020年1月到2022年12月的儲存庫數量增加30%。而且,不只Rust,Swift和Go等內建記憶體安全機制的新興語言,也都同樣受到關注。

不過,即便有越來越多的政府單位和企業,都認為應該以諸如Rust等記憶體安全語言來代替C/C++,但是這兩個傳統語言的地位仍不容動搖,尤其是C++最近獲得許多關注,不只獲頒2022 Tiobe年度程式語言獎,在2月的Tiobe指標,C與C++也都維持一定成長率,C++的成長率甚至接近6%

這個現象從JFrog的軟體構件技術調查,獲得了另一個角度的解釋,JFrog表示,由於C/C++是物聯網裝置軟體的主要開發語言,而Conan則是常用的C/C++部署管理器,從2020年1月到2022年12月Conan使用率成長達5倍。這代表著有更多的企業正在進行邊緣物聯網開發,進而帶動了C/C++受歡迎程度。

JFrog還觀察到基礎設施即程式碼(IaC)成長趨勢,從2022年5月JFrog推出Terraform套件以來,成為JFrog中採用率成長最快速的套件。

即便在後疫情時代,企業正在招回員工,但JFrog提到,雲端、協作工具的採用率仍持續增加,而雲端原生技術使用的趨勢,將帶來更多開發時程的壓力,開發者被要求快速交付新穎且行動優先的功能。

JFrog認為,由於加密貨幣、元宇宙、雲端遊戲和區塊鏈技術的發展,Docker和容器使用率將會保持強勁成長,雖然元宇宙技術還在發展初期,但是C++、Python、Rust和容器化技術採用增加的情況顯示,企業正在此一領域積極試驗。

另外,JFrog也提到,C++、Python和Java技術的廣泛採用,則代表著區塊鏈應用的開發增加,而Rust、Java和JavaScript的流行,則是企業正推動去中心化網路基礎設施,創建新應用程式工作流程,發展下一代網路服務的訊號。


文章來源:iThome