網(wǎng)站開發(fā)程序 rust適合開發(fā)什么?
rust適合開發(fā)什么?信任是一種母語。編譯后的代碼直接運行,類似于C語言,但更安全。它引入了變量傳遞、借用、作用域等約束,避免了C語言中頻繁出現(xiàn)的空指針和野指針錯誤。它在語言層次上保證了開發(fā)軟件的健壯
rust適合開發(fā)什么?
信任是一種母語。編譯后的代碼直接運行,類似于C語言,但更安全。它引入了變量傳遞、借用、作用域等約束,避免了C語言中頻繁出現(xiàn)的空指針和野指針錯誤。它在語言層次上保證了開發(fā)軟件的健壯性,不引入GC和虛擬機來保證軟件的運行效率。這就決定了它的替代目標(biāo)是C語言,語言的設(shè)計思想也是這樣的。例如,它沒有復(fù)雜的面向?qū)ο笾С?,只支持strcut和方法綁定,比較原始,類似于C語言。
信任適合發(fā)展。它是代碼的核心部分,需要注意運行效率和穩(wěn)定性。目前應(yīng)用層的框架支持不多(如web開發(fā)和UI表示)。
哪些軟件應(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)域,當(dāng)前的版本Actix web、rocket、wrap尚未滿足我對web框架的期望。他們可以使用,但解決方案并不完美。有時我想花一些時間來實現(xiàn)一個web框架。
用rust完全重寫一些流行的軟件是不現(xiàn)實的,但是你可以用rust來解決一些難點,就像tidb的一些函數(shù)使用rust一樣。其實,我真的希望微軟能夠發(fā)揚鐵銹,比如重寫一些微軟的軟件應(yīng)用程序。
怎么看Fuchsia官網(wǎng)編程語言政策?Go沒有通過,Rust不予提供,建議使用Dart、C/C ?
這次谷歌發(fā)布的微內(nèi)核理念其實和華為鴻蒙是一樣的,就是要打通整個物聯(lián)網(wǎng)生態(tài)系統(tǒng)。Android對于物聯(lián)網(wǎng)來說太大了。物聯(lián)網(wǎng)與嵌入式系統(tǒng)有著千絲萬縷的聯(lián)系。目前,大多數(shù)嵌入式系統(tǒng)仍然使用C/C,Google都選擇了這兩種需求。
Go開發(fā)后需要很大的容量,目前還不是嵌入式開發(fā)的主流。此外,go缺乏框架,錯誤處理不好,軟件包管理不完善。
鐵銹也缺乏相應(yīng)的生態(tài)。
達特是谷歌的親生兒子,谷歌一定會支持他的。最近,自動應(yīng)用程序開發(fā)框架flatter非常流行,所以有dart是很正常的
dart是Google開發(fā)的一種計算機編程語言,后來被ECMA(ECMA-408)認可為標(biāo)準。它用于web、服務(wù)器、移動應(yīng)用和物聯(lián)網(wǎng)的開發(fā)。它是一個松散的開源許可證(修改過的BSD證書)下的開源軟件。
Dart是一種面向?qū)ο?、類定義的單一繼承語言。它的語法類似于C語言,可以翻譯成JavaScript。它支持接口、混合、抽象類、具體化泛型、可選類型和聲音類型系統(tǒng)。
在2015年5月的dart開發(fā)者峰會上,一個基于dart語言的移動應(yīng)用程序開發(fā)框架sky[8-9]發(fā)布,后來更名為Flitter。
國內(nèi)外有多少公司在使用Rust做開發(fā)?
如果一種語言想成為主流,語言本身的特點并不是最重要的。從語言在過去十年中的發(fā)展來看,正是這個項目給語言帶來了火。例如,F(xiàn)acebook的興起直接給PHP帶來了火爆,而quora的流行則讓Python進入了公眾的視野。深度學(xué)習(xí)平臺tensorflow的普及,將Python推到了目前的王者地位,如block隨著以太坊的普及,go語言已經(jīng)成為主流的開發(fā)語言。近日,F(xiàn)acebook推出了天秤座硬幣項目,引起了全世界的關(guān)注。可以說它即將引領(lǐng)金融技術(shù)領(lǐng)域的革命,而這個平臺的底層開發(fā)語言正是由rust語言開發(fā)的。隨著Libra幣的流行,可以預(yù)見rust語言也將利用這一趨勢進入主流編程語言。
Golang適合做Web開發(fā)嗎?
Golang可以進行web開發(fā),并且已經(jīng)被許多公司用作主要的技術(shù)棧開發(fā)語言。
現(xiàn)在的互聯(lián)網(wǎng)大多采用前端和后端分離的開發(fā)模式。HTML-JavaScript-CSS的三駕馬車在Web前端領(lǐng)域馳騁,而后端有更多的選擇。從早期的PHP和Java,到現(xiàn)在的python、nodejs、C#、golang和rust,都可以用來開發(fā)web的后端。
很多大公司會在面試的最后階段采取“為面試造火箭,為工作搞砸”的策略。源代碼級別越低,問題就越多,算法和數(shù)據(jù)結(jié)構(gòu)也會問得越多。如果是Java,spring可以問你一個關(guān)于你生活的問題。咕嚕語是一種相對較新的語言,它的流行只有幾年的時間。該語言本身并不復(fù)雜,它更多地詢問了協(xié)處理的實現(xiàn)、高度并行下的資源競爭、它接觸了哪些共同的三方庫、它是否構(gòu)建了任何自豪的輪子等等。
如果您想在web開發(fā)方面取得一些成就,golang仍然是一個非常好的方向,而且固有的高并發(fā)性并不明顯。
喜歡哥郎的朋友可以和我聊天。樂于助人是我最大的樂趣。記住要注意我。
為什么大部分高校還在只教C/C /Java,而不教更加強大的Rust/Go/Scala?
客觀環(huán)境:C、C、Java的開發(fā)比較成熟,學(xué)習(xí)者多,生態(tài)比較好。學(xué)生跳槽不容易,企業(yè)保障就業(yè)需求也不容易。[笑聲]新語言由學(xué)生自己教授,以確保有效的技術(shù)變革。
主觀環(huán)境:美味的老資本,易于混合的資金。[傻笑
]一句話:穩(wěn)定是絕對的原則,每天改變不是正確的方式。
注意:個人觀點,請繞道而行。[白眼
不,目前的趨勢是將前端和后端分開?,F(xiàn)在很多企業(yè)在很多地方已經(jīng)基本實現(xiàn)了這個目標(biāo)。因此,前端通過JavaScript完成所有相關(guān)工作,后端比較復(fù)雜,可以通過golang或Java或Java實現(xiàn)。換句話說,web開發(fā)完全基于JS而不是其他語言。因此,相關(guān)的工作可以從其他語言中忽略,JS成為相關(guān)的領(lǐng)域語言