rust為什么比c語言快 哪些軟件應(yīng)用值得用Rust重寫?
哪些軟件應(yīng)用值得用Rust重寫?Rust是一種系統(tǒng)級編程語言,C和C的性能幾乎相同。大多數(shù)研究rust的程序員都對它替代C和C感興趣,因此原則上,C和C軟件可以用rust重寫。但是rust是一種新的語
哪些軟件應(yīng)用值得用Rust重寫?
Rust是一種系統(tǒng)級編程語言,C和C的性能幾乎相同。大多數(shù)研究rust的程序員都對它替代C和C感興趣,因此原則上,C和C軟件可以用rust重寫。
但是rust是一種新的語言,它還沒有進入成熟階段,所以在GUI領(lǐng)域它不能取代C。目前,rust還沒有任何成熟可用的GUI庫,著名的QT也沒有rust版本。我也期待著像pyqt這樣的三方圖書館。
在web開發(fā)領(lǐng)域,當前的版本Actix web、rocket、wrap尚未滿足我對web框架的期望。他們可以使用,但解決方案并不完美。有時我想花一些時間來實現(xiàn)一個web框架。
用rust完全重寫一些流行的軟件是不現(xiàn)實的,但是你可以用rust來解決一些難點,就像tidb的一些函數(shù)使用rust一樣。其實,我真的希望微軟能夠發(fā)揚鐵銹,比如重寫一些微軟的軟件應(yīng)用程序。
Rust可能取代C語言嗎?
某些區(qū)域可以替換,但仍有一些場景將堅持使用C語言。因為歷史的原因,C語言是為UNIX系統(tǒng)誕生的,它的所有特性都是為硬件層上的抽象層服務(wù)的,就像一個內(nèi)置的建筑來代替基礎(chǔ)。雖然這是可能的,但它是非常困難的。據(jù)估計,要從rust重寫Linux內(nèi)核將需要大量的工作。這些不是語言能否實現(xiàn)的問題,而是選擇的問題。重寫信任的收入真的那么可觀嗎。操作系統(tǒng)的模式已經(jīng)存在,不可能有太大的改變。
信任可以用在操作系統(tǒng)的應(yīng)用開發(fā)中,比如:一些傳統(tǒng)的工控軟件,企業(yè)級的后臺軟件,直接面對的應(yīng)該是C、CSharp、Java、golang等
其實未來的趨勢應(yīng)該是集成,而不是替代。一個系統(tǒng)中的不同系統(tǒng)側(cè)重于不同的語言,這也是大型企業(yè)的發(fā)展趨勢。
還有一種可能是trust并沒有完全取代C,而是一種新的語言將取代它。
為什么大部分高校還在只教C/C /Java,而不教更加強大的Rust/Go/Scala?
客觀環(huán)境:C、C、Java的開發(fā)比較成熟,學習者多,生態(tài)比較好。[翻白眼]企業(yè)的需求比較大,保證了就業(yè)的基本面,學生學習后不容易失業(yè)。[笑聲]新語言由學生自己教授,以確保有效的技術(shù)變革。
主觀環(huán)境:美味的老資本,易于混合的資金。[傻笑
]一句話:穩(wěn)定是絕對的原則,每天改變不是正確的方式。
注意:個人觀點,請繞道而行。[白眼
Adobe軟件工具的核心是算法,這三種語言都可以很好地實現(xiàn)。
上世紀90年代初,我做了一個骨折圖像處理的基金項目,它有很多類似adobe的功能。當時,還沒有用C語言編寫的CSharp、Java語言或Adobe軟件,更不用說這些面向?qū)ο蟮恼Z言了。
用C語言編寫,相當于手工制作。擦除一行需要逐位對每個點進行異或處理。與C#不同,可以刪除對象。對于圖像去噪、去毛刺、二值化和特征提取,需要編寫相應(yīng)的算法。例如插值算法用于邊緣增強和平滑,圓形鄰域法用于模式匹配,現(xiàn)在很多算法都有函數(shù)庫,可以通過接口調(diào)用函數(shù)庫。它簡單得多,使用C#、C和Java就足夠了。