爲什麼要學習 Rust

緣起

爲什麼學習 Rust?於我而言,也許是兩年前當我邁入區塊鏈的第一腳時就已經決定了。

選擇一門編程語言是很困難的,但卻又是重要的,其重要程度絕對不亞於你選擇在哪個地方買房子或者是你選擇在哪個地方紮根發展。因爲當你開始學習一門編程語言的時候,不僅僅是你選擇了這麼編程語言,同時還選擇了編程語言相關的技術領域。

我和 Rust 的緣分來自於對 libra 的學習,然後就被它吸引了。雖然很多時候選擇編程語言就如同你戀愛結婚一樣,都是在不知不覺就開始的,但是這裏我還是想用比較有邏輯的理由來說一下爲什麼要選擇 Rust。

技術角度

從技術上說,Rust 語言擁有非常顯著的和引人注目的優勢,這不僅僅體現在它追求替代 c++ 方面,還表現在它在工業界實際的優秀表現:出色的性能、高度控制、內存安全。
微軟一項調查顯示,在微軟的系統中,有 70% 的漏洞是因爲使用 c/c++ 語言而造成的。但是這些漏洞又無法通過使用 c# 來避免,因爲無法具有與 c/c++ 相媲美的性能。Rust 被微軟認爲是替換 c/c++ 唯一的候選人,因爲它性能出色、安全,如果加以利用則能解決微軟系統中 70% 的漏洞。
除了內存安全、高性能和高度控制外,Rust 還在其它方面具有強大的吸引力,如強大的類型安全保證等。實際上很多人都將 Rust 和 C++ 比較,但是光從這一點上,其實是很難抉擇的。

工程實現角度

在做一個項目進行語言選擇時,通常會考慮以下問題:

(1)僱傭這類語言的開發人員是否容易?
(2)定製編程標準是否容易?
(3)開發人員的平均交付時間多長?

Rust 語言雖然創建於 2006 年,但是卻在 2015 年才發行其第一個版本,目前國內的熟手並不是很多,但是也有不少的大廠開始在進行這方面技術的使用。Rust 語言作爲能和 C++ 媲美的語言,其上手比 c++ 更容易,尤其是 c/c++ 熟手轉 Rust 就更容易。

Rust 語言本身有一條開發規範,如結構體、trait 等要求首字母大寫、駝峯命名,函數要求蛇形命名法等,因此非常利於項目組統一風格。另外就是 Rust 語言至今時間尚短,不會像 c++ 那樣出現 c99 到 c11 這麼巨大的語法差距。

Rust 功能強大,即適合進行 web 開發,又適合嵌入式系統層面的開發,並且具有豐富的軟件庫,而且編譯後的軟件產生 bug 的概率更小,因此開發效率遠勝於 c++。

經濟收益角度

這一點我不想從開發成本上來闡述,因爲前面兩點已經完全能夠體現了。這一點我想說明的是選擇 Rust 對個人成長和個人收益上的好處。Rust 作爲一門新語言,目前國內的熟手人羣相對於其它語言來說要少的多,而且相對於 go 語言來說,它相對更難上手。但是由於其出色的性能和安全性,又在逐漸成爲業界的寵兒,前面提到兩大巨頭微軟和谷歌都在其項目中使用 Rust,還有前段時間滿城風雨的 facebook 使用 Rust 來構建其區塊鏈系統 libra。種種的種種,都表明,這是一門很有錢途的語言。

前面我提到,選擇某種語言,其實也就選擇相關的技術棧。Rust 語言天然適合區塊鏈這種要求高度安全的系統的開發,學習 Rust,再進一步進軍區塊鏈相關的技術,對個人來說是比較不錯的選擇。

結論

上面羅列了貌似比較有邏輯的理由,但其實並不重要,因爲作爲一個 IT 技術從業人員,其實只有一句話:學,就完了。

發佈了108 篇原創文章 · 獲贊 10 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章