許式偉:Go+ 門檻比 Go 低,小孩 6 年級可開始學 Go+

2009 年,面對 C++ 在 Google 分佈式編譯平臺上的編譯過程太過漫長的問題,貝爾實驗室的 Unix 團隊成員 Rob Pike 聯合 Ken Thompson 和 Robert Griesemer 着手發起了一個叫 Golang 的項目,Go 語言誕生。前端

做爲一個爲了取代 C/C++ 而生的語言,Go 語言的發展迅速,很是適合構建命令行實用程序和網絡服務,尤爲是雲計算場景下高併發應用。現在流行的容器引擎 Docker、容器編排系統 Kubernetes 都是用 Go 編寫的,Go 也所以被一些人稱爲「雲計算語言」。 程序員

新的編程語言的出現每每都是爲了解決新出現的需求場景。2020 年 7 月 5 日,爲數據而生的開發語言 Go+ 正式發佈,在兼容 Go 的基礎上,兼顧了數據科學家的喜愛,如簡化數學公式的表達。不過,Go+ 的出現並非奔着取代 Go 而去的,其創始人許式偉大學時曾被稱爲 C 語言狂人,工做後又被稱爲 Go 語言狂人。即使是如今,許式偉也很是喜歡討論 Go,在他看來,Go+ 勢必能夠吞掉 Go 的一些市場,但依舊會有不少人仍喜歡 Go。編程

7 月 9 日至 10 日,許式偉將出席由開源中國社區聯合 Linux 基金會發起的GOTC 全球開源技術峯會 ,並做爲「編程語言藝術」分論壇講師,爲咱們帶來有關 Go 與 Go+ 的主題演講,敬請期待!在演講正式開始前,咱們也採訪了許式偉老師,請他初步談談 Go + 的哲學。後端

Q:您很喜歡討論編程語言的哲學,爲何?網絡

許式偉:併發

我爲何只講 Go 的哲學,主要是我對本身演講作的定位。演講其實有兩種可能性,一種是傳道,一種是教人學會某種技能。我更喜歡傳道而不是培訓的概念。也就是說,花一小時作演講並非想教會別人什麼,而是儘量去讓人知道,或者是打開一扇門。這也是爲何我只講 Go 的哲學,不去教別人怎麼用 Go,這是不一樣的概念。框架

Q:Go+ 哲學中最終要的是什麼?和 Go 的哲學有什麼不一樣?編程語言

許式偉:分佈式

我仍是很是喜歡 Go 的「少就是指數級的多」,這是它一個很是內在的哲學——語言的語法是最少的,或者說力求最少,這實際上也是 Go+ 但願的。高併發

咱們但願它是力求最小語法的一個語言,可是兩個會有些不一樣、Go 更多仍是關注高併發,最好的工程效率等等;更多地站在程序員如何寫大型項目,尤爲是網絡、雲的大型項目;目前之後端爲主,前端是一些經驗性的探索,涉足其實很少。

Go+ 不太同樣,它面向的人羣實際上有兩類,除了程序員以外,還要兼顧分析師,或者說是數據科學家,因此它的目標比 Go 複雜一些,既但願軟件工程師喜歡,也但願數據科學家喜歡,要同時兼顧兩個羣體的喜愛。因此 Go+ 會在 Go 支持上增長不少數據科學家喜歡的東西,或者對他們來講更天然的一些表達方式,我都但願在 Go+ 上能有所體現。這實際上就是 Go+ 對內的一些出發點。

Go+ 和 Go 的區別,最簡單的例子,就是數學公式,在 Go 裏面表達一個數學公式確定比較複雜,沒有操做符重載。咱們認爲 Go+ 數學公式的表達更優雅,由於數據科學家整天在處理數據,若是數學公式表達起來都很累,看起來很繁瑣,確定影響工做效率。咱們會在 Go+ 引入不少數學相關的能力,使得它可以更方便去表達一些數據科學須要用到的能力。

Q:Go 和 Go+ 接下來會是什麼關係,Go+ 會吞掉 Go 的市場嗎?

許式偉:

Go+ 應該會堅持徹底兼容 Go 的方式,Go 有新的語法特性,Go+ 也會吸取過來,儘量保持徹底兼容。因此 Go+ 會包含 Go,爲何是 Go+ 不是 Go++ 呢?由於但願少加一點,而不是加太多,這也是名字的含義。

吞掉一些市場是必然的。由於 Go+ 追尋的目標使它複雜一些,確定要比 Go 略微複雜,全部有些程序員可能就喜歡作 Go,不喜歡和數據科學相關的東西。因此我以爲確定有人從 Go 遷移到 Go+,但仍是會有人繼續喜歡 Go 的。

Q:據瞭解,您日常在家會教孩子編程,如今還在教嗎?有沒有把 Go 或者 Go+ 教給他?

許式偉:

一直在教,孩子今年初一 ,教 Go+ 已經快一年了,從六年級開始學,沒有教 Go。

我認爲 Go+ 的入門門檻必須比 Go 低,雖然 Go+ 徹底兼容 Go,可是它的門檻比 Go 要低。有的人可能聽起來以爲奇怪,明明比 Go 的語法要多,爲何入門門檻低呢?

由於 Go 有一些工程性的語法特徵,初學者是不容易掌握的。Go+ 會把一些複雜性的東西在入門的時候隱藏起來,避免接觸到工程相關的特別複雜的東西。像我如今教小孩子編程也不會太過涉及到如何編寫大型程序相關的東西,基本上以基礎語法、程序思惟的鍛鍊這些東西爲主,不會涉及到太多工程的東西。但 Go 基本上是強加了工程相關的東西給初學者,這對它來講蠻正常的,由於它自己就是面向工程化的語言。

我認爲 Go+ 是不同,好比數據科學家可能寫個 SQL 語句就處理了一段數據,在表達的簡潔性上是更須要的,這會致使咱們須要讓 Go+ 對初學者來講門檻更低一些。

Q:教小朋友編程的順序經驗能夠分享下嗎?

許式偉:

在 Go+以前,他們學習經歷主要是 scratch 編程而後他們另外學了 CoffeeScript,一個類 JavaScript 的語言,可是 CoffeeScript 相較簡潔第三個語言就是 Go+ 了。因此整個經歷就是編程,而後腳本編程,腳本編程選了一個我認爲語法相對簡單的CoffeeScript 我認爲它的語法比 Python 可能還要簡單一些,因此就學了。學 Go+ 是由於我認爲要開始學習靜態語言了,靜態語言又不但願太過複雜,因此選了入門門檻低的。大概就是這樣一個過程。

GOTC,the Global Opensource Technology Conference,全球開源技術峯會。該會議由開源中國社區聯合 Linux 基金會發起,邀請 10+ 重量級開源基金會與開源社區深度參與,覆蓋 100+ 公司的相關開源經驗,涉及優秀開源項目 300+。

組成這場開源盛會的專家主要是開源領域內的知名人物,相關的分享議題也聚焦開源,包括開源的技術、開源的運營與治理、開源的發展趨勢、開源技術的實踐、開源的商業化等。

這次會議還前所未有地邀請了當今世界幾大頂級開源基金會負責人同時參與圓桌,共同討論開源新生態。

更有 Linux 創始人 Linus Trovalds 將分享 Linux 誕生 30 年以來他的心路歷程與開源洞見。

更多信息查看:https://gotc.oschina.net

更多資訊:

鳥哥惠新宸:從 Web 初學者到 PHP 核心開發者

TiDB 黃東旭:從決定創業到得到融資只用 3 天

吳晟:開源對我來講,社交是最重要的

字節 97 年前端:大四接觸開源,畢業即成框架核心開發者

視 PHP 爲初戀、爲疫情而蓄髮,97 年 PHP 內核貢獻者能有多酷?

Linux 30 週年,聽 Linus 聊聊心路歷程和開源洞見

相關文章
相關標籤/搜索