Node.js vs Golang翻譯

原文:http://www.hostingadvice.com/blog/nodejs-vs-golang/

最近有人批評了在高性能咱筛,網(wǎng)絡(luò)化的應用環(huán)境中使用Node.js的價值懊直,一些開發(fā)者已經(jīng)轉(zhuǎn)移到Go語言。

還有幾個知名的企業(yè)轉(zhuǎn)而使用Go胳泉,超越了語言的創(chuàng)造者宿亡,Google来氧。 Dropbox已經(jīng)轉(zhuǎn)移到Go舒憾,聲稱性能得到顯著的提高,Docker虛擬化系統(tǒng)的開發(fā)人員也在使用Go居灯。

需要注意的是祭务,Node.js仍然被更廣泛的受眾使用,更多的模塊怪嫌,更容易使用义锥,并且不會隨時隨地。 此外岩灭,如果您正在制作Web應用程序拌倍,那么您可能選擇Node.js語言,而Go目前更多的用來作為一個腳本語言,當您需要優(yōu)先考慮并發(fā)和速度的時候柱恤。

在本文中数初,我們將從開發(fā)人員的角度來看一下Node.js和Go之間的差異,以揭示每個環(huán)境的優(yōu)缺點梗顺。

Node.js

Node.js(及其最近的fork泡孩,IO.js)是一個日益普及的平臺,建立在一個基于JavaScript的快速運行時:V8寺谤。

V8是由Google創(chuàng)建的JS虛擬機仑鸥,旨在構(gòu)建可擴展的聯(lián)網(wǎng)應用程序。 它將JavaScript代碼編譯為本地機器代碼矗漾,使用一些復雜的優(yōu)化锈候。 V8也對JS對象進行內(nèi)存分配和垃圾收集薄料。

雖然動態(tài)類型語言的這些動態(tài)優(yōu)化為開發(fā)人員提供了很大的靈活性敞贡,但它們有時會帶來一些性能成本。

由于Node.js是用JavaScript編寫的摄职,它繼承了該語言的大部分屬性誊役。 這些JavaScript現(xiàn)在非常受歡迎,ECMAScript標準開發(fā)主要以進化方式完成谷市,而不是革命性的方式蛔垢。

這對JavaScript和Node開發(fā)有一些重要的副作用:

  • 一些JavaScript語言缺陷難以解決,在不破壞向后兼容性的情況下迫悠。盡管最嚴重的問題正在被修復鹏漆。
  • 有用但激進的JS語言功能可能無法實現(xiàn)因块,也可能僅作為附加語法進行“修補”拯坟。與將功能整合到設(shè)計中的語言相比占业,這可能會導致語言設(shè)計更加混亂财异。一個很好的例子就是使用JS進行并發(fā)計算脐帝。并發(fā)計算的JS最佳實踐從并發(fā)API(使用基于event的回調(diào))到promises的發(fā)展拨黔,到即將到來的 async generators 支持逸雹。這些日子回調(diào)地獄仍然是許多Node.js應用程序的嚴重問題;然而這會導致更少的可讀代碼止潘,更慢的開發(fā)搁拙,甚至更多的錯誤秒梳。
    所有這些意味著JavaScript語言演變得相當緩慢(有些也會說得不好),即使知道來自其他語言的好概念也能工作得更好箕速。

Node.js還有一個龐大的社區(qū)和大量的應用正在為它編寫, 所以我們不想嚇唬你酪碘,雖然在一小部分情況下會有一些陷阱;根據(jù)絕大多數(shù)開發(fā)者的意見, 這仍是一個很好的工作平臺。

Golang

Go盐茎,也被稱為“Golang”兴垦,是由Google在2007年開始編譯的面向系統(tǒng)的編程語言。Go可以被認為是C語言和C ++語言等相當保守的語言演變的結(jié)果庭呜。

Go改善這些語言的一些疑慮:

  • 依賴管理不善
  • 繁瑣的類型系統(tǒng)
  • 內(nèi)存管理困難
  • 缺乏并行計算支持
  • 缺乏多核支持
    Go比C或C ++更具表現(xiàn)力滑进,可以減少所需的代碼量犀忱。

與C或C ++相比,Go可以更容易地編寫穩(wěn)健的網(wǎng)絡(luò)應用程序扶关,而不會犧牲性能方面的太多阴汇。 高性能在很大程度上是由于靜態(tài)編譯的Go代碼。 編譯器可以預先執(zhí)行所有的代碼檢查工作节槐,而不是運行時完成的動態(tài)JS編譯器工作搀庶,很多優(yōu)化是可能的。

goVSnode.png

總結(jié)

選擇Node.js或Go取決于您最擅長的開發(fā)套件類型以及網(wǎng)絡(luò)服務(wù)需要擴展的規(guī)模铜异。

Go現(xiàn)在可能還沒有像Node.js一樣擁有所有的社區(qū)包或分享哥倔, 但其語法上更干凈的并發(fā)模型, 更好的原始 cpu 和內(nèi)存綁定的性能, 以及它的能力, 以更好的并發(fā)負載可以為某些網(wǎng)絡(luò)應用程序類型奠定更好的基礎(chǔ)。

如果您需要某些尚未適用于Go的Node.js軟件包揍庄,并且在Go中重新實現(xiàn)將有困難或昂貴咆蒿,那么Node可能是更明智的選擇。

如果您希望在Ubuntu / Linux系統(tǒng)上安裝Go蚂子,請查看我們安裝Go的指南沃测。然后訪問GoByExample和在線Go book,了解更多精彩教程食茎。

如果您想給Node.js一個鏡頭蒂破,請務(wù)必查看我們的 安裝Node.js指南,以及免費的Node.js托管服務(wù)列表别渔。然后前往NodeSchool.io了解一些有關(guān)Node.js編程的精彩教程附迷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市哎媚,隨后出現(xiàn)的幾起案子喇伯,更是在濱河造成了極大的恐慌,老刑警劉巖抄伍,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艘刚,死亡現(xiàn)場離奇詭異,居然都是意外死亡截珍,警方通過查閱死者的電腦和手機攀甚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岗喉,“玉大人秋度,你說我怎么就攤上這事∏玻” “怎么了荚斯?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我事期,道長滥壕,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任兽泣,我火速辦了婚禮绎橘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘唠倦。我一直安慰自己称鳞,他們只是感情好,可當我...
    茶點故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布稠鼻。 她就那樣靜靜地躺著冈止,像睡著了一般。 火紅的嫁衣襯著肌膚如雪候齿。 梳的紋絲不亂的頭發(fā)上熙暴,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天,我揣著相機與錄音毛肋,去河邊找鬼怨咪。 笑死屋剑,一個胖子當著我的面吹牛润匙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播唉匾,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼孕讳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了巍膘?” 一聲冷哼從身側(cè)響起厂财,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎峡懈,沒想到半個月后璃饱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡肪康,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年荚恶,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磷支。...
    茶點故事閱讀 38,747評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡谒撼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雾狈,到底是詐尸還是另有隱情廓潜,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站辩蛋,受9級特大地震影響呻畸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜悼院,卻給世界環(huán)境...
    茶點故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一擂错、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧樱蛤,春花似錦钮呀、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至便脊,卻和暖如春蚂四,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背哪痰。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工遂赠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晌杰。 一個月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓跷睦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肋演。 傳聞我的和親對象是個殘疾皇子抑诸,可洞房花燭夜當晚...
    茶點故事閱讀 43,658評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 最開始的幾年,在應用服務(wù)器編程領(lǐng)域爹殊,我存在著一個選擇蜕乡。那時候,我已經(jīng)遠離了C一些時間梗夸,喜歡上JavaScript很...
    Tulayang閱讀 22,843評論 20 294
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,848評論 25 707
  • 昨夜的夢繁盛得跟高級繁茂的大榕樹有一拼层玲。想見的人。不想見的人反症。都以最想念的方式出現(xiàn)辛块。 我踩著表妹那輛破寶馬拖著她去...
    wu楓閱讀 185評論 0 0
  • 陷入迷茫狀態(tài)的時候希望有個人點醒自己,自欺欺人的安于現(xiàn)狀惰帽,卻又不甘心的狀態(tài)實在難受憨降。 像是在一種失重的狀態(tài),漂浮在...
    莫小粒閱讀 800評論 8 2
  • 寫學而思寫慣了该酗,于是:很多時候發(fā)現(xiàn)上彭的課授药,我這腦力至少聽兩遍才能消化到90%笆亢俊!燒腦很過癮哩悔叽!喜歡莱衩!嘎嘎...
    阿姬_NLP心智提升閱讀 134評論 0 0