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

Google的親兒子Go是完美的編程語言嗎?

開發 后端
GO是Google開發的一種靜態、強類型、編譯型、并發型,并具有垃圾回收功能的類C編程語言。2009以開源項目的形式發布,2012年發布1.0穩定版本,距今已經十年了。

#引言

團隊有項目考慮用GO重寫,所以花了些時間調研GO。

Google的親兒子Go是***的編程語言嗎?

***次接觸GO是5年前,14年4月份,也是在我司,全職鉆研一周,彼時C++中毒太深,內心排斥其他編程語言,看其他語法總覺得有點怪,而且有“C/C++能做任何事,故無用其他語言之必要”的思想在作祟。

我讀研階段用過幾年Java,工作以來一直使用C++/C,況且教出幾個非計算機系(包括英語系)的職業程序員,所以,我就浮夸一回,聲稱熟練掌握C++吧。

[[265272]] 

人都有思維定勢,受限于自己的經驗和認知,我亦不能例外,但好在我意識到這一點,所以在調研過程中,努力摒棄成見,盡量擺脫慣性,查閱關于GO的各種(包括核心設計師)文章,傾聽擁躉和批評者的不同聲音,結合自己的思考和分析,力求客觀公正去評價GO

#GO語言簡介

GO是Google開發的一種靜態、強類型、編譯型、并發型,并具有垃圾回收功能的類C編程語言。2009以開源項目的形式發布,2012年發布1.0穩定版本,距今已經十年了。

發明一種新的編程語言,首先得找到必要性,不然肯定會被質疑重復造輪子,方法嘛?無非是先找某種語言的一些茬,吐槽一番,復雜、笨拙、低效,太TM沙雕了,不能忍,勞資要立刻馬上分分鐘擼出一種新的編程語言,***解決所有問題,不然對不起我卓爾不群的智商。

[[265273]]

 

GO的故事也很套路,G公司的Pike大牛聽完C++0x的演講,回到辦公室,開始編譯C++,等待編譯過程中,轉過椅子面向Robert,討論語言的問題,然后拉上Ken爺爺一起合計,群嘲之后,受不了C++某些沙雕設計,還沒等編譯完成,三個老男人便一拍即合,決定一起搞點change the world的偉大事情,于是乎,GO誕生了。

GO語言之父Pike提到:GO語言是以C為原型,以C++為目標而設計的,希望C++程序員能以GO作為替代品。因為他覺得C++忒復雜了,要解救程序員于水火。

雖然GO以C++為目標而設計,但尷尬的是,Pike坦承GO并沒有吸引來多少C++程序員,反而是吸引了不少Python、Ruby程序員。這、這、這、這。

#GO核心團隊

G公司不差錢不缺人,GO團隊更是群星薈萃、大咖云集,不廢話,直接上圖:

Google的親兒子Go是***的編程語言嗎? 

核心設計師Pike和Ken都是出身自貝爾實驗室,Ken之于Pike,亦師亦友,共同發明了UTF-8,還基情四射地結對編程過,感情好的穿一條褲子。

Pike是Unix先驅,貝爾實驗室最早跟Ken、Dennis一起開發Unix的猛人,Plan9 OS的靈魂人物。大胡子Ken爺爺則是Unix之父,和Dennis一起發明了C語言,殿堂骨灰級程序員,早已是名滿天下。

技術實力毋容置疑,不過這哥倆都是玩Kernel的,經歷相同,理念相近,分歧會比較少,他們也都坦承C用得最多最熟,所以注定了GO的類C特性,不過這會不會導致GO設計上的思維火花不足,對OOP以及現代編程思想的支持不足,亦未可知。

#GO的哲學

哲學是難分對錯的,GO有GO的哲學,有它的取舍和審美,不一定每個人都認同,我覺得還挺有道理的,羅列如下:

##少即是多

GO信奉:Less Is More,大道至簡,臆測是喬幫主的信徒。

##世界是并行的

世間萬物是并行發生的,所以GO遵照這個規律,對并發的原生支持讓GO更易于描述并行世界。

##世界是物質組成的

微觀世界由小的粒子組合成大的粒子;宏觀世界由小的物體組合成大的物體。繼承只能描述現實世界的一小部分,使用繼承是不全面的;GO的設計選擇的是組合,這個和現實世界比較吻合的設計,表現力更強。

##世界是標準化的

硬件是標準化的,軟件也應如此,GO的接口是DUCK模型,接口是非侵入式的。

##正交性

GO的多個特性都是正交性的,正交性是保持事物穩定和簡單的***設計。

##二八定律

80%代碼只使用20%特性,增加語言特性,并不能提升效率,反而會增加復雜性,提高犯錯率,加重程序員心智負擔。

##統一格式化

C++語法自由自在,于是乎一群吊絲為tab or space、大括號要不要換行等諸如此類的格式問題吵得不可開交。GO設計師認為,都是吃飽了撐的,你們太愚蠢了。

于是GO規定左大括號{不能換行放置,沒有為什么,對著干直接編譯不過。

GO編譯器內建工具gofmt強制源碼格式化。對不起,沒有選項,我的地盤聽我的,把精力focus到真正重要的事情上來,停止無意義的爭吵。

這其實也是一種哲學:給你(我認為)***的,而不是給你選擇。就像iPhone一樣,用戶太笨了,他們根本不知道自己需要什么,就讓幫主替你安排好一切吧。

不過GO強加個人喜好的一刀切做法,也招致批評和厭惡。有比較剛的程序員,直接因為大括號不讓換行而拋棄GO。

作為一個經歷過各種妖媚代碼格式要求的程序員,我發出了杠鈴般的笑聲。

#GO的特色

GO是介于C與C++之間的語言,比C抽象層次高,比C++抽象層次低。

因為是一門新的編程語言,站在巨人的肩膀,博采眾長,規避了一些已知的問題,開發了一些優秀的特征,相比C/C++,GO的核心特征包括以下幾個方面:

1. 原生并發,以東尼·霍爾的通信順序進程(CSP)為基礎的goroutine,適合現代多核機器

2. 垃圾回收,非常高效(請來世界***內存管理專家設計)

3. 強大的標準庫,對網絡編程等的良好支持

4. CGO提供了GO調用C機制,擴展了GO的能力邊界

5. 內嵌關聯數組

6. 非侵入式的接口設計

7. 簡單清晰的語法,以及強編碼規則,好處可能遠超想象

#GO vs C/C++

Google的親兒子Go是***的編程語言嗎?

 

[GO與C語法詳細對比](http://hyperpolyglot.org/c)

#性能對比

雖然GO號稱兼備C++的運行效率和PHP的開發效率,但benchmarks好像打臉了,從數據上看,GO的運行效率接近卻略低于Java

Google的親兒子Go是***的編程語言嗎? 

#研發效率

Google的親兒子Go是***的編程語言嗎? 

我樂觀預計GO的研發效率上優于C/C++,特別是*nix環境下。

#流行度

GO獲得TIOBE 2016年度***,2017年10月獲得第10,歷史***排名。

GO誕生10年,雖然背靠Google,但依然沒有挺進編程語言***陣營 ,屬于外圍三線。

近一年多流行度排名有所下滑,鐵打的Java、C/C++,流水的編程語言。

Google的親兒子Go是***的編程語言嗎? 

#工程化水平

Google的親兒子Go是***的編程語言嗎?

 

知名項目:

Docker:大名鼎鼎的開源應用容器引擎

K8S:容器編排管理系統的事實標準

...

GO更適合開發服務器端大型軟件,高性能分布式系統領域,網絡編程,并發編程,被譽為云時代的C語言。

GO成為云計算時代流行起來,促進了云計算的發展,Google用GO的多,今日頭條、Uber等公司也用GO對業務進行了徹底的重構,golang.org YouTube.com也在使用GO開發。

美國市值TOP20有一半在使用GO,國外很多初創公司選擇GO,國內關注高,但還未得到廣泛應用,應用上呈現國外熱國內冷的特點

Go語言目前所面臨的***問題在于,還沒有足夠的經驗來證明GO是否真的是一個成功的產品,缺少足夠多超大型應用的實踐。

 

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2022-03-02 09:49:14

Rust編程語言

2009-12-10 10:33:09

Go語言

2010-06-18 10:51:27

NetBeans 6.CSSEclipse

2011-12-05 10:33:49

QQ騰訊w808

2020-04-09 13:57:02

Swift可微分編程谷歌

2020-05-25 11:09:32

變量Java開發

2012-05-16 17:22:14

Android手機

2011-01-05 10:58:05

Google Go

2010-01-11 09:38:28

編程語言排行榜Google Go

2021-05-28 05:34:06

Golang語言編程

2012-11-08 09:36:10

Google Go

2023-05-15 08:01:16

Go語言

2017-12-27 14:52:21

JSGo編程語言

2017-01-09 11:28:31

編程語言排行榜

2009-09-11 09:36:53

李開復

2022-09-19 00:29:01

編程語言Go 語言功能

2009-12-25 09:27:08

Google Go系統編程C語言

2022-06-25 21:22:30

編程Rust代碼

2021-04-16 20:40:56

JVM內存工具

2019-02-11 08:32:22

編程語言Go
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美日韩精品久久亚洲区 | 久久精品国产99国产 | 午夜资源 | 精品欧美乱码久久久久久 | 精品蜜桃一区二区三区 | 亚洲国产成人精品在线 | 国产探花| 中文字幕一区二区三区精彩视频 | 国产中的精品av涩差av | 国产精品久久久久久妇女 | 无码国模国产在线观看 | 国产精品大全 | 一级黄色毛片 | 91中文字幕在线观看 | 亚洲人成人网 | 久久久久91 | 91爱啪啪 | 久久高清 | 国产三级精品三级在线观看四季网 | 日韩精品视频在线观看一区二区三区 | 亚洲精品久久久9婷婷中文字幕 | 国产精品91视频 | av在线免费观看不卡 | 国产婷婷色综合av蜜臀av | 日韩久久在线 | 99精品久久久久久中文字幕 | 欧美大片一区二区 | 免费av电影网站 | 久久久夜| 欧美国产精品一区二区三区 | 夜夜草av| 国产精品揄拍一区二区久久国内亚洲精 | 午夜影晥 | 欧美日韩精品一区二区三区四区 | 亚洲一区二区电影在线观看 | 精品国产欧美一区二区 | 中文字幕一区二区三区不卡在线 | 521av网站 | 人人草人人干 | 国产精品观看 | 欧美在线不卡 |