日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

锈永不磨灭,让末日来得更酷!

發(fā)布時(shí)間:2024/3/13 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 锈永不磨灭,让末日来得更酷! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文翻譯自ReadWrite.com上刊登的Matt Asay的一篇文章,Rust Never Sleeps: How Mozilla Could Become Cool Again,副標(biāo)題是“Mozilla has almost faded from memory, but Rust could make it hip again”。本譯文標(biāo)題采用意譯和音譯相結(jié)合的手法,或許值得商榷,歡迎讀者見(jiàn)仁見(jiàn)智提出更正意見(jiàn)。翻譯此文不代表譯者完全贊同作者原文中的所有觀點(diǎn)。—— Liigo, 2015-7-14.

Mozilla公司以前也有過(guò)好日子。

它推出的Firefox瀏覽器曾經(jīng)是微軟IE的頭號(hào)對(duì)手。如今,Firefox落魄到僅剩12%的市場(chǎng)份額——數(shù)據(jù)源于NetMarketShare對(duì)桌面系統(tǒng)瀏覽器的統(tǒng)計(jì)——移動(dòng)端的情況更糟。Mozilla的其他產(chǎn)品如Thunderbird,不提也罷。

Mozilla英雄落寞的時(shí)候,居然推出一門(mén)可能促進(jìn)行業(yè)變革的Rust編程語(yǔ)言,讓人感到意外。最初版本的Rust由Mozilla公司員工Graydon Hoare在2009年開(kāi)發(fā)完成,基于現(xiàn)代編程語(yǔ)言設(shè)計(jì)理念從頭打造(譯者Liigo注:Graydon似乎更傾向于復(fù)古的編程理念)。它融合了高層語(yǔ)言(high-level languages)的靈活性和底層語(yǔ)言(low-level languages)的強(qiáng)控制性(firm control)。

本質(zhì)上,Mozilla這門(mén)語(yǔ)言既強(qiáng)調(diào)性能,又覆蓋廣泛的應(yīng)用領(lǐng)域,從操作系統(tǒng)到數(shù)據(jù)庫(kù)所有軟件都能開(kāi)發(fā),還避免了其他語(yǔ)言背負(fù)的向后兼容的歷史包袱。總之,Rust具有完全顛覆IT行業(yè)的潛能,這對(duì)Mozilla公司而言意義重大。

銹永不磨滅

Mozilla公司可能曾經(jīng)迷失過(guò)方向,但是它最近正盡最大努力糾正航向。Electrolysis項(xiàng)目可給予Firefox多進(jìn)程能力,新的WebAssembly標(biāo)準(zhǔn)和WebVR虛擬現(xiàn)實(shí)流,將為迷人的新興技術(shù)提供支持。

但是在這些積極舉措之前,Mozilla就已經(jīng)有了復(fù)興自己的根本途徑:Rust。Rust已在它口袋里裝了好幾年了。

Rust是Graydon六年前(譯者Liigo注,應(yīng)為九年前,2006年)開(kāi)始開(kāi)發(fā)的業(yè)余項(xiàng)目,2010年才成為Mozilla公司官方支持的項(xiàng)目。盡管有公司參與,Rust仍被視為社區(qū)主導(dǎo)的項(xiàng)目,得到了Mozilla公司以外許多貢獻(xiàn)者的支持。

Mozilla是這樣描述Rust的:

Rust是一個(gè)新的編程語(yǔ)言,注重性能、并行、內(nèi)存安全。設(shè)計(jì)者們從頭開(kāi)始創(chuàng)建一門(mén)語(yǔ)言,融合現(xiàn)代編程語(yǔ)言的優(yōu)秀設(shè)計(jì),避免傳統(tǒng)編程語(yǔ)言的歷史包袱。
Rust融合了高層語(yǔ)言富有表達(dá)力的語(yǔ)法和靈活性,以及底層語(yǔ)言超強(qiáng)的控制性和性能。

上面最后一句話太誘人了。Rust有能力讓開(kāi)發(fā)者編寫(xiě)內(nèi)核(kernels)、操作系統(tǒng)(OS)、瀏覽器、數(shù)據(jù)庫(kù),等等,而這些軟件要想用高層語(yǔ)言比如Google公司的Go語(yǔ)言開(kāi)發(fā),往往是不太現(xiàn)實(shí)的(you simply can’t realistically write)。

Christoph Burgdorf 認(rèn)為:

從一面說(shuō),Rust是非常現(xiàn)代的語(yǔ)言,它有泛型(Generics)、接口(Traits)、面向表達(dá)式(expression orientated)、模式匹配(pattern matching)、閉包(closures)等等許多令人興奮的特性。
從另一方面說(shuō),Rust也是很底層的語(yǔ)言,它默認(rèn)不使用垃圾收集器(GC),它僅僅通過(guò)定義一系列規(guī)則,讓編譯器在編譯時(shí)做強(qiáng)制檢查,就消除了對(duì)垃圾收集器的依賴。

更讓Burgdorf感到振奮的是,Rust提供深層控制(deep control)內(nèi)存申請(qǐng)等能力,他寫(xiě)道:“Rust還允許你深層控制堆和棧空間的內(nèi)存申請(qǐng),這對(duì)Go來(lái)說(shuō)是不可能的,因?yàn)镚o的編譯器采用逃逸分析(escape analysis)(自動(dòng))確定是否在堆上申請(qǐng)內(nèi)存。”

雖然很多新的編程語(yǔ)言不斷地更快地涌現(xiàn),Rust有一點(diǎn)讓它與眾不同:它在不強(qiáng)制要求開(kāi)發(fā)者成為底層編程專家的前提下,提供了底層語(yǔ)言的控制力和性能。

讓開(kāi)發(fā)者的工作變得簡(jiǎn)單是新語(yǔ)言的價(jià)值,如果同時(shí)還能提升開(kāi)發(fā)者的控制力(boosting their control),就更吸引人了。

銹得低調(diào)淡定

Redmonk公司的Stephen O’Grady指出:最近不斷出現(xiàn)的信息顯示,Rust正逐步激發(fā)越來(lái)越多的開(kāi)發(fā)者的興趣。

Rust可被應(yīng)用于新項(xiàng)目和舊項(xiàng)目。就像開(kāi)發(fā)者Jeff Waugh對(duì)我說(shuō)的:“我預(yù)計(jì)會(huì)有很多新項(xiàng)目擁抱Rust,包括全新的項(xiàng)目,和舊項(xiàng)目中的新模塊。”

雖然可能會(huì)有采用Rust全新開(kāi)發(fā)的操作系統(tǒng)、數(shù)據(jù)庫(kù)等其他項(xiàng)目,擴(kuò)展已有項(xiàng)目也是Rust的價(jià)值所在。Mozilla公司的Servo瀏覽器引擎是一個(gè)好的例子。“值得注意的是,Servo重用了很多(C++)代碼,而核心的/新增的功能是用Rust語(yǔ)言開(kāi)發(fā)的”,Waugh說(shuō),“Servo使用Rust完成了全部的并行布局(parallel layout)功能,而SpiderMonkey(JavaScript引擎)和libpng(解析PNG圖片)相關(guān)功能則是重用舊的代碼。”

也就是說(shuō),Servo里面的一部分代碼是Rust,還有很多不是。但是通過(guò)Rust開(kāi)發(fā)部分代碼去改進(jìn)Servo(或其他任意項(xiàng)目)是很有效的,尤其是對(duì)基于C語(yǔ)言的項(xiàng)目而言。澳大利亞作者程序員Dave Cheney寫(xiě)道:“某些遵循C語(yǔ)言調(diào)用約定的大型項(xiàng)目,很希望將Rust代碼嵌入進(jìn)去。”

未來(lái)是銹的天下嗎?

說(shuō)到Rust,還有一個(gè)很糾結(jié)的問(wèn)題:如果它很棒,為什么不是所有人都用它呢?

目前,還很難找到有關(guān)Rust的工作崗位,Hacker News上面的招聘趨勢(shì)印證了這一點(diǎn)。根據(jù)Google搜索數(shù)據(jù)得到的信息顯示,程序員對(duì)Rust感興趣比例還比較低。

但是請(qǐng)不要混淆當(dāng)前狀況和長(zhǎng)期行業(yè)影響。例如,不能簡(jiǎn)單的因?yàn)镚o現(xiàn)在比Rust流行,就判定(將來(lái))Go會(huì)贏而Rust會(huì)輸。

這是錯(cuò)誤的比較方法。Cheney解釋說(shuō):“Rust的競(jìng)爭(zhēng)者是C++和D語(yǔ)言,使用C++和D的程序員為了追求最高性能,已經(jīng)準(zhǔn)備好接受復(fù)雜的語(yǔ)法和語(yǔ)義(以及因此導(dǎo)致的較低可讀性的代碼)。”然后,他又補(bǔ)充說(shuō),“Go的競(jìng)爭(zhēng)者是Ruby、Python、Node.js (v8),這些語(yǔ)言多是在2006年之后互聯(lián)網(wǎng)2.0時(shí)代發(fā)展壯大的,他們的使用者對(duì)基于JVM的語(yǔ)言很高的部署成本失去了耐心。”他們之間的應(yīng)用場(chǎng)景和用戶群,都有很大的不同。

我希望Go繼續(xù)成長(zhǎng),但是我猜想,Rust將會(huì)對(duì)我們整個(gè)行業(yè)中最重要的程序,產(chǎn)生深遠(yuǎn)的影響。

就像Peter Bright說(shuō)的那樣,“Rust嘗試提供像C或C++那樣的性能和控制,同時(shí)讓C和C++經(jīng)常出現(xiàn)的安全方面的BUG(security-compromising bugs),在Rust中更難出現(xiàn)。”

Mozilla公司通過(guò)大量應(yīng)用Rust(Servo/Firefox),能夠向C語(yǔ)言開(kāi)發(fā)者展示Rust語(yǔ)言的能力,其中某些C開(kāi)發(fā)者一直在尋找更好的語(yǔ)言。通過(guò)應(yīng)用Rust,Mozilla公司也在逐步讓自己重新成為現(xiàn)代應(yīng)用開(kāi)發(fā)領(lǐng)域的主導(dǎo)力量(central force)。

題圖來(lái)自Shutterstock。

總結(jié)

以上是生活随笔為你收集整理的锈永不磨灭,让末日来得更酷!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。