成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

谷歌軟件工程師:我為什么喜歡用Go語(yǔ)言?

新聞 前端
Go語(yǔ)言最近幾年逐漸獲得越來(lái)越多的開發(fā)者的喜歡。在Go社區(qū)前不久剛剛慶祝Go誕生10周年生日之際,谷歌云軟件工程師Benjamin Congdon發(fā)表個(gè)人博客,表達(dá)了自己對(duì)Go倍加青睞的一些原因。

 Go語(yǔ)言最近幾年逐漸獲得越來(lái)越多的開發(fā)者的喜歡。在Go社區(qū)前不久剛剛慶祝Go誕生10周年生日之際,谷歌云軟件工程師Benjamin Congdon發(fā)表個(gè)人博客,表達(dá)了自己對(duì)Go倍加青睞的一些原因。他表示,“簡(jiǎn)潔”是他喜歡使用Go語(yǔ)言最重要的原因。

 

以下是博客內(nèi)容:

[[282629]]

我使用Go已經(jīng)好幾年了,我最欣賞Go的一點(diǎn)就是它的簡(jiǎn)潔性。我在幾個(gè)月前開始在工作中使用Go寫代碼,發(fā)現(xiàn)它真的很容易實(shí)現(xiàn)迭代,比Python和Java更為復(fù)雜的迭代。

當(dāng)Go社區(qū)慶祝10歲生日時(shí),我一直在想,是什么使Go變得如此與眾不同。我認(rèn)為Go的許多真正力量來(lái)自其設(shè)計(jì)師的理念:高度強(qiáng)調(diào)前向兼容性,該語(yǔ)言沒(méi)有損害可讀性的特性,并且隨手可得。它提供了用戶真正需要的一切(基本測(cè)試庫(kù),可靠的聯(lián)網(wǎng)、同步原語(yǔ)以及模板等)。

 

前向兼容性有多高、版本依賴性就有多低

 

我認(rèn)為,和其它語(yǔ)言相比,Go具有最完善的版本控制和依賴關(guān)系。我沒(méi)有因?yàn)镚o的版本更新遇到任何損失。這一點(diǎn)很重要。在差不多的時(shí)間段內(nèi),由于Rust的API更改,臭名昭著的Python 2到3過(guò)渡,我的項(xiàng)目一度陷入了中斷。坦率地說(shuō),我覺(jué)得npm升級(jí)后的任何舊JS項(xiàng)目能不能延續(xù)都不好說(shuō)。

借助Go,我注意到Go的庫(kù)趨于穩(wěn)定。在Python和JavaScript中,如果有3年未更新的庫(kù),則表明該庫(kù)已死。而在Go生態(tài)系統(tǒng)中,這個(gè)庫(kù)可能仍然可以使用。在其他社區(qū)中被視為停滯或忽視的事物,在Go這里反而是復(fù)興的標(biāo)志。

在Go中,我需要的依賴項(xiàng)更少,而依賴項(xiàng)本身的依賴項(xiàng)也更少。Go沒(méi)有將更多的邏輯導(dǎo)出到外部依賴項(xiàng)習(xí)慣。Go社區(qū)中也更容易接受代碼重復(fù)。有時(shí)這一點(diǎn)可能令人沮喪。有時(shí)你可能只想要一個(gè)執(zhí)行某種類型的環(huán)境或分析的庫(kù)。很多時(shí)候,你需要自己動(dòng)手編寫,或者從StackOverflow答案中去尋找。不過(guò)總的來(lái)說(shuō),我認(rèn)為這一點(diǎn)還是利大于弊。更少的依賴項(xiàng)意味著項(xiàng)目閑置幾個(gè)月之后被迫中斷的可能性更低。

不過(guò),現(xiàn)在下結(jié)論可能對(duì)其他編程語(yǔ)言有點(diǎn)不公平。Rust尚未達(dá)到Go所具有的穩(wěn)定性,這可能是因?yàn)镽ust還不是一種成熟的語(yǔ)言,但也正朝著逐步成熟方向發(fā)展。Python 3本身是向前兼容的,我希望Python核心開發(fā)人員能從中學(xué)到一些教訓(xùn)。在這方面,我對(duì)Javascript已經(jīng)不抱什么希望了。

Go的依附系統(tǒng)也不是沒(méi)有問(wèn)題。盡管GoModules很棒,但社區(qū)仍未達(dá)到100%的采用率。在使用GoModules之前,將所有內(nèi)容保存在$ GOPATH下的要求是如此煩人,以至于我推遲了多年才開始使用Go。現(xiàn)在情況已經(jīng)好轉(zhuǎn),開始顯示出逐步改善的跡象。

就向前兼容性而言,Go保證自Go 1發(fā)布以來(lái)編寫的所有Go代碼都可以工作到Go 2,直到將來(lái)某個(gè)不確定的時(shí)刻。這是一個(gè)強(qiáng)力的承諾,至少到目前為止,我對(duì)這種語(yǔ)言的使用體驗(yàn)還是非常積極的。

一些功能雖然現(xiàn)在不需要,以后可能很想要

[[282630]]

在使用Go一段時(shí)間后,我開始想要一些Go語(yǔ)言根本不支持的額外功能。嗯,我對(duì)C ++模板的排斥程度不亞于任何一個(gè)人,但是擁有基本的集合類泛型這個(gè)要求也不過(guò)分,對(duì)吧? 

具備“開箱即用”的僅有的兩個(gè)通用化數(shù)據(jù)結(jié)構(gòu)是數(shù)組(slice)和字典(map)。那是否要編寫自己的數(shù)據(jù)結(jié)構(gòu)呢?要么必須針對(duì)特定類型進(jìn)行設(shè)置,要么需要盯著一個(gè)全是界面的字段{}。這兩種方法都各有所長(zhǎng),但有時(shí)候,我希望我可以只導(dǎo)入類型安全的、通用的、雙向map。

Go將“不需要”發(fā)揮到了極致。“需要”是這里的重點(diǎn)詞。你將“不需要”泛型,但幾乎可以肯定會(huì)需要它們。它在錯(cuò)誤處理,功能編程和運(yùn)算符重載上都是上上之選。

那句“陳詞濫調(diào)”怎么說(shuō)來(lái)著?有時(shí)“少即是多”。除了命名的返回值之外,我想不出Go語(yǔ)言中的任何讓用戶抓狂的功能了。令人印象深刻的是,Go核心開發(fā)人員對(duì)在Go中模仿其他語(yǔ)言的開發(fā)人員群體表現(xiàn)出了極大了約束。Go 2的未來(lái)對(duì)我來(lái)說(shuō)真的很令人興奮,因?yàn)槲液芷诖吹揭呀?jīng)習(xí)慣的“下一代” Go是什么樣子。

對(duì)于Go令人贊嘆的另一點(diǎn)是,它提供了幾乎所有你需要的東西。

go test是一個(gè)很好的基礎(chǔ)測(cè)試框架。你無(wú)需成為JUnit的領(lǐng)域?qū)<遥矡o(wú)需在單元測(cè)試類型之間進(jìn)行選擇。同樣,Go的同步功能涵蓋了你需要的大多數(shù)同步原語(yǔ),http可以提供可用于生產(chǎn)環(huán)境的HTTP服務(wù)器和客戶端(甚至支持HTTP2),而且編碼包中有足夠多的工具可以處理json,xml,csv,以及許多其他常見(jiàn)格式的數(shù)據(jù)。

 

格式化,格式化,格式化,重要的事情說(shuō)三遍

 

最后必須說(shuō)到gofmt。在格式化方面,我有點(diǎn)挑剔。我并不特別在乎應(yīng)用哪些規(guī)則,但是我非常在乎一致性。Go的內(nèi)部格式化工具gofmt被社區(qū)廣泛采用,并提供了足夠的一致性,使Go的代碼“看起來(lái)”很用的慣,而不會(huì)看代碼看得要抓狂。

就我個(gè)人而言,我發(fā)現(xiàn)使用gofmt可以輕松閱讀開源Go代碼。盡管每個(gè)項(xiàng)目都有自己的處理方式,但是每個(gè)項(xiàng)目都遵循相同的格式約定。從美學(xué)上講,這讓人愉悅。

所以,我喜歡Go。曾經(jīng)有一段時(shí)間,我被Python的Zen迷住了,并且對(duì)其他語(yǔ)言嗤之以。但現(xiàn)在,我期待Go的美好未來(lái)。我可能以后會(huì)在Rust流行起來(lái)之后,去用Rust趕一波時(shí)髦,因?yàn)槲掖_實(shí)喜歡一些類似于函數(shù)式的編程。

但是現(xiàn)在,我非常愿意繼續(xù)使用Go語(yǔ)言。

責(zé)任編輯:張燕妮 來(lái)源: 新智元
相關(guān)推薦

2011-05-17 10:48:30

軟件程序員

2011-05-17 09:25:33

軟件工程師

2009-06-23 08:25:50

谷歌離職

2013-03-22 10:55:06

Go

2017-11-21 12:03:20

軟件工程師開發(fā)代碼

2012-04-04 22:07:12

Android

2020-08-28 13:20:53

谷歌Android開發(fā)者

2022-01-16 07:12:30

軟件工程師吵架開發(fā)

2009-02-11 13:15:54

軟件工程師女工程師google

2023-06-05 10:07:13

軟件工程平臺(tái)工程師

2020-03-16 14:25:57

軟件開發(fā) 經(jīng)驗(yàn)

2012-08-27 09:40:07

2014-09-05 13:37:29

程序員

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2022-07-29 09:12:44

軟件硬件開發(fā)

2022-04-18 10:13:32

軟件開發(fā)寫作

2014-08-20 10:24:11

軟件工程師

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2022-09-16 08:00:00

軟件工程師求職薪酬

2009-02-12 14:45:17

軟件工程師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 男女深夜网站 | 国产精品久久久久久福利一牛影视 | 欧美成人精品一区 | 成人福利在线 | 伊人网综合 | 毛片毛片毛片毛片 | 日韩色图视频 | 超碰97人人人人人蜜桃 | 久久精品99 | 一区影视 | 成人午夜激情 | 国产精品资源在线 | 99热视| 国产在线观看 | 欧美一区二区三区在线播放 | 国产亚洲精品精品国产亚洲综合 | 国产精品久久久久久久久久久久冷 | 成年人在线观看视频 | 亚洲综合首页 | 91精品久久久久久久 | 日韩精品 电影一区 亚洲 | 日韩成人免费视频 | 欧美精品久久 | 欧美福利精品 | 欧美大片一区 | 欧美精品久久久 | 美女一级毛片 | 最新中文字幕在线 | 亚洲a视| 国产精品女人久久久 | 午夜私人影院在线观看 | 中文字幕在线播放第一页 | 国产在线观看一区二区三区 | 国产做爰 | 91国产在线播放 | 日本精品久久久久 | 欧美一级黄 | 最新国产精品视频 | 日韩影院在线 | 国产日产精品一区二区三区四区 | 久久久中文 |