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

Go語言負責人離職后,一門國產語言誕生了

原創 精選
開發 后端 新聞
凹語言?的發展重點可能不在于性能,而在于其選擇哪些人群作為目標受眾,以及通過何種方式獲得種子用戶

事件回顧 

?上周,谷歌Go語言項目負責人Steve Francia宣布辭去職務,而他給出理由是:Go項目的工作停滯不前,讓他感到難受。有意思的是,部分國內的Gopher(Go語言愛好者的自稱)對Go語言也產生了新想法。比如,國內第一批Go語言愛好者之一的柴樹杉、全球Go貢獻者榜上長期排名TOP 50的史斌等Gopher,他們決定以Go語言為藍本,發起新的編程語言:凹語言?(凹讀音“Wa”)。

目前凹語言?的代碼已經在Github開源,并且提供了簡單可執行的示例。根據其倉庫的介紹,凹語言?的設計目標有以下幾個:1、披著Go和Rust語法外衣的C++語言2、凹語言?源碼文件后綴為.wa3、凹語言?編譯器兼容WaGo語法,凹語法與WaGo語法在AST層面一致(二者可生成相同的AST并無損的互相轉換)4、凹語言?支持中文/英文雙語關鍵字,即任一關鍵字均有中文版和英文版,二者在語法層面等價

Image

凹語言?示意,圖片來源@GitHub

據柴樹杉、史斌等人的說法,Go語言“克制”的風格是他們對編程語言審美的最大公約數。因此,凹語言?項目啟動時大量借鑒了Go的設計思想和具體實現。

當然,他們也表示,選擇Go語言作為初始的藍本,是在有限投入下不得不作出的折衷。他們希望隨著項目的發展,積累更多原創的設計,為自主創新的大潮貢獻一點力量。雖說柴樹杉、史斌等人是資深的Gopher,偏愛Go語言并不難理解,但我們還是忍不住好奇:究竟Go語言有多神奇,讓他們對Go語言這么著迷?

為什么選中Go語言 

許多使用過Go語言的開發者對Go的評價上看,Go語言在設計上有以下四個特點。

1、簡單易用?
不同于那些通過相互借鑒而不斷增加新特性的主流編程語言(如C++、Java等),Go的設計者們在語言設計之初就拒絕走語言特性融合的道路,而選擇了“做減法”。

他們把復雜留給了語言自身的設計和實現,留給了Go核心開發組,而將簡單、易用和清晰留給了廣大使用Go語言的開發者。因此,Go語言呈現出:

  • 簡潔、常規的語法(不需要解析符號表),僅有25個關鍵字;
  • 沒有頭文件;
  • 顯式依賴(package);
  • 沒有循環依賴(package);
  • 常量只是數字;
  • 首字母大小寫決定可見性;
  • 任何類型都可以擁有方法(沒有類);
  • 沒有子類型繼承(沒有子類);
  • 沒有算術轉換;
  • 沒有構造函數或析構函數;
  • 賦值不是表達式;
  • 在賦值和函數調用中定義的求值順序(無“序列點”概念);
  • 沒有指針算術;
  • 內存總是初始化為零值;
  • 沒有類型注解語法(如C++中的const、static等)
  • ……

2、偏好組合?

C++、Java等主流面向對象語言,通過龐大的自上而下的類型體系、繼承、顯式接口實現等機制,將程序的各個部分耦合起來,但在Go語言中我們找不到經典面向對象的語法元素、類型體系和繼承機制。

那Go語言是如何將程序的各個部分耦合在一起呢?是組合。

在語言設計層面,Go使用了正交的語法元素,包括Go語言無類型體系,類型之間是獨立的,沒有子類型的概念;每個類型都可以有自己的方法集合,類型定義與方法實現是正交獨立的。
各類型之間通過類型嵌入,將已經實現的功能嵌入新類型中,以快速滿足新類型的功能需求。在通過新類型實例調用方法時,方法的匹配取決于方法名字,而不是類型。
另外,通過在接口的定義中嵌入接口類型來實現接口行為的聚合,組成大接口,這種方式在標準庫中尤為常用,并且已經成為Go語言的一種慣用法。

這是Go語言的一個創新設計:接口只是方法集合,且與實現者之間的關系是隱式的,如此可讓程序各個部分之間的耦合降至最低。
3、并發和輕量?

Go語言的三位設計者Rob Pike、Robert Griesemer和Ken Thompson曾認為C++標準委員會在思路上是短視的,因為硬件很可能在未來十年內發生重大變化,將語言與當時的硬件緊密耦合起來是十分不明智的,是沒法給開發人員在編寫大規模并發程序時帶去太多幫助的。
因而他們把將面向多核、原生內置并發支持作為新語言的設計原則之一。

Go語言原生支持并發的設計哲學體現在下面兩點。
(1)Go語言采用輕量級協程并發模型,使得Go應用在面向多核硬件時更具可擴展性。(2)Go語言為開發者提供的支持并發的語法元素和機制。
4、面向工程?

Go語言的設計者在Go語言最初設計階段,就將解決工程問題作為Go的設計原則之一,進而考慮Go語法、工具鏈與標準庫的設計,這也是Go與那些偏學院派、偏研究性編程語言在設計思路上的一個重大差異。
這讓Go語言的規范足夠簡單靈活,有其他語言基礎的程序員都能迅速上手。更重要的是Go自帶完善的工具鏈,大大提高了團隊協作的一致性。比如Gofmt自動排版Go代碼,很大程度上杜絕了不同人寫的代碼排版風格不一致的問題。把編輯器配置成在編輯存檔的時候自動運行Gofmt,這樣在編寫代碼的時候可以隨意擺放位置,存檔的時候自動變成正確排版的代碼。此外還有Gofix,Govet等非常有用的工具。

總之,Go在語言層面的簡單讓Go收獲了不遜于C++/Java等的表現力的同時,還獲得了更好的可讀性、更高的開發效率等在軟件工程領域更為重要的元素。

凹語言?的未來 

雖然今天,Go憑借其優越的性能,已經成為主流編程語言之一(超過75%CNCF項目,包括KubernetesIstio,都是用Go編寫的,另外,Go也是主要的云應用程序語言之一),Go語言在中國也相當受歡迎,但我們還是不禁擔心脫胎于Go的凹語言?,會有美好的未來嗎?


預測未來從來都是困難的,不過,好在凹語言?的前面有一個先行者——Go+語言,我們不妨基于Go+的發展,來大致推測凹語言?的未來。

Go+是七牛云CEO許式偉發明的編程語言,于2020年7月正式發布,2021年10月推出1.0版本,目前最新發布版本是今年6月13日發布的1.1版本。也就是說,從正式發布到現在,經過近兩年的時間,Go+還處于初始階段,距離大規模應用還有一定距離,那么可以預見,凹語言?在未來相當長的時間里,不會進入廣大開發者的視野中。

另外,據ECUG Con 2022大會上許式偉發表的看法,雖然大家都比較看重編程語言的性能,但單從性能來看的話,許式偉認為Python在腳本語言里面只能算二流,Python其實并不快。在許式偉看來,對新生的語言來說,最重要它選擇的目標人群。

Go+選擇的目標人群是全民,許式偉稱其為“連兒童也能掌握的語言”,因而Go+從工程與STEM教育的一體化開始奠定用戶基礎。

正是Go+的這幾個特性,讓一部分開發者看好Go+的未來。而對Go+的正向預期,會成為Go+進一步發展的助力。

對凹語言?來說,這個道理也是適用的:凹語言?的發展重點可能不在于性能,而在于其選擇哪些人群作為目標受眾,以及通過何種方式獲得種子用戶。

如果日后凹語言?的項目方會公布這些消息,那么凹語言?的未來還是可以期待的。

責任編輯:閆懷德 來源: 51CTO
相關推薦

2012-12-13 11:12:24

戴爾

2022-07-19 14:23:47

谷歌GO

2014-12-22 13:14:48

IE離職

2015-07-28 15:35:48

學習語言

2017-10-26 11:44:19

工具語言編寫

2022-03-28 10:44:26

FuchsiaOSGoogle操作系統

2009-04-01 10:43:26

雅虎產品技術離職

2010-05-13 14:18:48

云計算百度

2022-02-27 14:45:16

編程語言JavaC#

2019-11-18 11:00:58

程序員編程語言

2022-11-04 11:11:15

語言入職項目

2012-09-04 11:20:31

2018-03-30 09:54:37

微軟業務重組Windows

2022-08-27 15:03:16

FacebookMeta虛擬現實

2012-03-28 09:40:40

JavaScript

2023-02-08 07:35:43

Java語言面向對象

2020-09-27 15:52:02

編程語言C 語言Python

2024-06-27 09:00:00

人工智能編程語言軟件開發

2011-12-30 09:33:02

程序員語言

2014-12-03 09:48:36

編程語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 激情a | 午夜久草 | av黄色免费在线观看 | 国产精品一区二区免费 | 亚州中文| 在线播放国产一区二区三区 | 在线亚洲欧美 | 中文字幕av一区 | 亚洲国产偷| 日韩av一区二区在线观看 | 国产一区二区a | 国产精品 欧美精品 | 亚洲精品一区久久久久久 | 黄色片免费看 | 国产一区www | 国产精品中文字幕在线观看 | 99这里只有精品视频 | 91视频18 | 久久av网 | 国产精品一级 | 99精品热视频 | 一区二区三区四区av | 久久久久一区二区 | 涩涩鲁亚洲精品一区二区 | 国产剧情一区 | 精品免费视频 | 人人澡视频| av在线天天 | 亚洲电影一区二区三区 | 91免费版在线观看 | 欧美a区 | 免费成人av网站 | 亚洲国产成人久久久 | 91综合在线视频 | 国产成人综合av | 欧美无乱码久久久免费午夜一区 | 伊人超碰 | 精品91视频| 国家一级黄色片 | 久久天天躁狠狠躁夜夜躁2014 | 国产精品久久久久久久岛一牛影视 |