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

我認為 Go 的成功歸功于這五個方面

開發 前端
你不允許導入你不使用的庫。這對我們來說非常重要,因為我們花了很多時間用大量二進制文件進行緩慢構建,確保程序的依賴項正是您需要的,僅此而已;這對我們來說非常重要,但對很多人來說,每次你進行編輯并刪除打印語句或其他東西時,編譯器都會說“你沒有使用這個庫。我不會再繼續編譯你了。

大家好,我是煎魚。

在國外的播客節目 Go Time #100 中,Rob Pike 和 Robert Griesemer(Go 的兩位創始人)和主持人 Jerod Santo 討論了 Go 語言的成功緣由和一些思考。

如果你想創造一門成功的編程語言,向已經做到的人學習是非常有價值的。

歡迎對 Go 感興趣的小伙伴一起圍觀!

0. 說明

Rob Pike(下稱:Rob)將 Go 的成功歸為了 5 個方面,在主持人 @Jerod Santo 的分享下形成了這篇《[1]》文章,與播客的內容相對應。

目錄如下:

  • 他們寫了一份正式的規范。
  • 他們吸引了殺手級應用。
  • 他們啟動了一個開源社區。
  • 他們使語言難以改變。
  • 他們堅持使用他們相信的功能。

1. 他們寫了一份正式的規范

在介紹 Go 項目的起源時,Rob:

" 這就是規范發生的時候。是的,幾個星期。所以我們真的開始了六個月左右的頭腦風暴和近似塑造。

我們做的第一件重要的事情——也許是我們做的第一件重要的事情 —— 是我們編寫了語言的正式規范,我認為這是項目成功的關鍵部分。

其中最重要的事情之一是 Ian Taylor 也在 Google,看到了規范,并決定為它編寫一個編譯器。

有一天他走進我們的辦公室說:“哦,順便說一句,我已經為你的語言編寫了一個編譯器。” 那對我們來說是一個了不起的時刻。

理所當然,他成為了 Go團隊的一員,現在仍在研究 Go。"

主持人:“該規范最初引起了 Ian Lance Taylor 等工程師同事的興趣”。

2. 他們吸引了殺手級應用

不幸的是,Rob 并沒有說明他們早期是如何吸引 Docker 的。我猜,通過使語言……對程序員有吸引力????♂?

Rob:“ 是的,Docker 是我們的殺手級應用程序,因為它是用 Go 編寫的,運行良好,并且成為現在所謂的云計算的核心……我們過去只稱其為系統編程或服務器。

其中一項關鍵技術是用 Go 編寫的,這一事實證明了該語言對很多人的目的是正確的……而且我認為它實際上是一種非常好的語言。

這正是我們在將語言放在一起時正在考慮的事情,盡管我們自己并沒有這樣做。Kubernetes 是另外出現的,其誕生來自谷歌。但是,擁有用你的語言編寫的重要軟件是用一種語言取得成功的一個非常重要的部分。

如果什么都沒有寫,那么語言有多好并不重要?!?/p>

3. 他們啟動了一個開源社區

Rob 坦率地談到了他們在開源世界中面臨的挑戰,這令人耳目一新。

Rob:" 我確實認為團隊并沒有真正準備好與開源社區互動以及這意味著什么。Ian 是我們當中唯一一個在開源世界中花費大量時間的人,他所做的超出了他在社區工作中應有的份額。

我們花了很長時間才理解成為開源社區的一部分意味著什么,擁有一個基本上由公司支付的項目,但有很多開源貢獻者......我們實際上有很多很棒的開源發展很早就發生了。Windows 的移植完全由外部貢獻者完成,這太棒了……社區的投入至關重要。

我認為有時人們認為谷歌控制它太多,這是他們的意見,但我不同意;我認為他們低估了團隊對開源社區所說的話、閱讀所有問題、處理得很好……有時不是很好,但最終它們都得到了修復。

當有成千上萬的人使用你的編程語言時,這是一件非常具有挑戰性的事情,而現在它被認為是世界上數百萬的 Go 程序員。他們對這件事都有自己的看法,以及如何傾聽,但也要確保你保持項目的靈魂正確 —— 我認為沒有任何簡單的答案。

我認為很多人認為這是微不足道的,你只是接受了每個人都想要的東西......但是你不會有 Go,你會擁有完全不同的東西。這真的很棘手,這是一個非常困難的平衡行為。"

4. 他們使語言難以改變

這個一開始有點違反直覺。通常對于軟件,延展性是一種美德,而僵化則是一種詛咒。然而,Rob 很好地解釋了為什么不這么做,對于像 Go 這樣的編程語言是多么的重要。

Rob:“好吧,我們很難改變。我們特意為 Go 1 寫下了我們承諾不會改變任何東西。這對語言的成功至關重要,因為它使企業能夠相信我們正在做的、依賴我們的 Go,并不會破壞他們的東西……這使得做出改變變得更加困難。我認為很多人不欣賞我們對這份合同的熱情相信。

我們沒有破壞人們的程序,盡管它現在是一個有十年歷史的項目。這只是一個令人難以置信的負擔,但讓我們到達現在的位置至關重要 ”

煎魚:“這里指的是 Go1 兼容性保障,產生了很大的意義。

5. 他們堅持使用他們相信的功能

當 Jon Calhoun 詢問社區反饋以及團隊對變革的抵制如何與之抗衡時。

Rob:"Go 的某些功能對其成功很重要,但人們并不喜歡,我們對此非常直言不諱。

我認為您提到的未使用變量的編譯錯誤就是其中之一。這很煩人 —— 你忘記刪除一個未使用的變量,你的程序就會無法編譯。但對我們來說,這是我們試圖講述的故事的一部分,也就是:編寫一種盡可能保證更好代碼質量的語言,即使我們無法阻止你編寫糟糕的代碼……但我們可以確保不會讓你的構建速度變慢或代碼更難維護的事情發生。

我認為真正讓人們發瘋的是:你不允許導入你不使用的庫。這對我們來說非常重要,因為我們花了很多時間用大量二進制文件進行緩慢構建,確保程序的依賴項正是您需要的,僅此而已;這對我們來說非常重要,但對很多人來說,每次你進行編輯并刪除打印語句或其他東西時,編譯器都會說“你沒有使用這個庫。我不會再繼續編譯你了?!?/p>

然后 Brad 寫了一個叫做 goimports 的東西,它是 gofmt 的一個變種,可以為你管理導入,這幾乎消除了這類抱怨。

通常情況下,自動化可以解決很多抱怨。"

責任編輯:武曉燕 來源: 腦子進煎魚了
相關推薦

2010-04-21 09:28:31

Oracle遞增備份

2021-08-02 10:12:48

微軟.Net開源

2015-10-30 14:53:32

BMC云計算

2013-10-12 09:56:51

大數據NoSQLMongoDB

2025-01-23 08:24:36

2019-08-14 09:43:34

項目管理工具

2017-06-21 12:05:01

蘇寧易購移動端接入層

2016-09-23 16:09:01

2021-12-13 14:21:50

加密貨幣比特幣貨幣

2021-09-27 09:33:33

B端C端規范要求

2018-07-04 13:45:10

2017-07-12 13:23:34

IT員工壓力

2015-11-09 16:45:14

尼泊爾地震

2020-07-30 10:15:57

人臉識別人工智能軟件

2010-12-21 14:08:50

PowerShell

2018-03-19 08:22:40

Kubernetes秘訣容器

2020-11-02 17:28:51

人臉識別技術數據

2017-11-16 19:47:34

2011-05-12 09:27:15

程序員創業

2020-08-21 10:35:17

機器學習IT領導者人工智能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www亚洲成人 | 国产精品免费一区二区 | 爱高潮www亚洲精品 中文字幕免费视频 | 日韩av成人 | 日韩有码一区 | 国产日韩精品一区二区 | 天天狠狠| 成人做爰69片免费观看 | 精品久久九九 | 国产精品久久久久久久久久久久久 | 国产色黄| 精品国产91| 99re视频在线 | 99re视频在线 | 伦理午夜电影免费观看 | 粉嫩av在线 | 精品欧美一区二区在线观看欧美熟 | 中文字幕韩在线第一页 | 欧美日韩不卡合集视频 | 免费成人国产 | 久草视频在线播放 | 久久精品99久久 | 色姑娘av | 91中文视频| 精品欧美乱码久久久久久 | 尤物视频在线免费观看 | 日韩国产免费 | 人操人免费视频 | 日韩精品免费视频 | 韩日在线视频 | 日韩一二三区 | 国产精品一区二区视频 | 国产在线一区二区三区 | 久久久国产精品入口麻豆 | 中文字幕亚洲视频 | 国产黄色在线观看 | 亚洲一区二区在线免费观看 | 久久国产欧美日韩精品 | 二区高清 | 久久久网 | 久久免费视频1 |