日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

柴树杉:面向数据科学领域的新语言,Go+蓄势待发

發布時間:2024/4/11 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 柴树杉:面向数据科学领域的新语言,Go+蓄势待发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在上個世紀 70 年代,貝爾實驗室的 Ken Thompson 和 Dennis M. Ritchie 合作發明了 UNIX 操作系統,同時 Dennis M. Ritchie 為了解決 UNIX 系統的移植性問題而發明了 C 語言,貝爾實驗室的 UNIX 和 C 語言兩大發明奠定了整個現代 IT 行業最重要的軟件基礎。

到了 80 年代中期,Rob Pike、Ken Thompson 等貝爾實驗室的工程師們已經開始研究下一代的分布式系統 Plan9。在 Plan9 系統之上就曾經出現過一個名字為 Aelf 的并發編程語言,它是增加了 proc、task 和 chan 等特性的 C 語言(據說 C 語言之父喜歡 Alef 語言)。而 Alef 最終演變成為了 Go 語言,Plan9 操作系統也被 Kubernetes 系統替代。

因此我們可以通過參考對比 C 語言的發展歷史來預測 Go 語言的未來發展路線,對比如下:K&R 圣經:在 C 語言發明之后約 5 年的時間之后誕生了 K&R 圣經,同樣在 Go 誕生約 5 年后誕生了 D&K 圣經。交互式語言:在 UNIX 系統的第一個 10 年內誕生了 C 語言實現的各種 shell(還有 sed、awk 等腳本語言),而 K8S 平臺則誕生了 Go 語言實現的 CUE 和 CEL 等交互語言。

另外 Go 語言自誕生之日起,被詬病最多的就是沒有泛型特性(在 Go2 的草稿中已經正式提出)。其實泛型要解決的不是性能問題,而是從類型系統角度解決類型的安全問題(比如 func Add(a, b T) T)。有了泛型之后作為靜態語言的 Go 就可以較容易地封裝動態語言很容易實現的泛型容器,同時靜態類型比動態類型語言保留了類型安全和性能的優勢。

而在其他領域的擴展上,C 語言在 10 年之后出現了“C with class”的 C++,而 Go 語言也出現了面向數據科學領域的 Go+,在互聯網上帶來了非常大的反響:

Go+ 針對數據科學設計了簡潔而易用的語法,比如 Go+ 對 List 和 Map 簡潔實現,以及利用 List 和 Map 進行計算時的簡潔語法。Go+ 保持對 Go 兼容:Go+ 目前支持了大部分 Go 語言的特性(比如流程控制、goroutine、channel、defer等);Go+ 可以 import 所有 Go 的包;所有 Go+ 的包都能被轉換成 Go 的包。Go+ 獨有的雙擎:bytecode backend 和生成 Go 源碼運行。Go+ 實現了自己的 playground、REPL、vscode 插件等。

我們一起看看 Go+ 語言的一些特性。例如,用 Go 定義一個 ndarray 類型的常量,用戶在 Go 語言里需要寫:

x := numgo.NdArray([][]float64{ {1.0, 2.0, 3.0}, {1.0, 2.0, 3.0},})

而用 Python 是:

x = numpy.ndarray( [[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]])

有了 Go+ 來自動推導數據類型,寫法就和 Python 幾乎一樣了:

x := numgo.NdArray( [[1.0, 2.0, 3.0], [1.0, 2.0, 3.0]])

更進一步,Go+ 準備支持 ?MATLAB ?的張量定義語法。這樣一來,這個程序就更簡單了:

x := numgo.NdArray([ 1.0, 2.0, 3.0; 1.0, 2.0, 3.0])

類似的便捷的語法改進在 Go+ 已經積累了不少,這些語法擴展足以極大簡化數據科學編程。例子在:?

https://github.com/qiniu/goplus/tree/master/tutorial

有人說過:“想寫出終極程序的程序員,最終都去寫操作系統和編程語言了”。而 Go 這些自帶runtime 的語言甚至自身包含了操作系統的雛形,因此可以說編程語言是很多程序員的終極追求目標。如果你對 Go+ 語言的內部原理和背后的故事感興趣,那正好!

Go+ 的創始人許式偉今年準備大力發展 Go+,他正在尋找共建 Go+ 語言的開發者,歡迎大家自薦/推薦,推薦成功有大獎,地域不限。若大家有興趣了解一下,可以直接聯系老許聊聊。

同時可以關注 4 月份即將召開的 ECUG 大會,這是由 ECUG (Effective Cloud User Group)社區主辦的全球頂級技術盛會。屆時 ECUG 大會上老許將會分享《數據科學與 Go+》的主題,大家可以關注一下。

大佬云集:

ECUG Con 本次為專門所有到場同學準備了豐盛的「重逢大禮包」,并引入了技術嘉年華環節,還有 iPhone12、PS5、Switch 等重逢驚喜大獎等你來。

大會議程:

以下是廣告時間:

ECUG 組委會贈送了碼農桃花源三張“2021 ECUG Con”的門票,這里轉贈給有需要的朋友。本文會從留言中隨機抽出三位贈送免費門票(請留下你的微信號),你也可以點擊“閱讀原文”,以 19 元優惠價格購買門票。另外,螞蟻杭州也在招聘針對云原生的 DSL 語言專家,有興趣的可以聯系作者。

優惠購票二維碼

總結

以上是生活随笔為你收集整理的柴树杉:面向数据科学领域的新语言,Go+蓄势待发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。