色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

Go語言為什么沒有流行起來?

榮姿康2年前17瀏覽0評論

Go語言似乎并沒有不流行,在各大榜單盤點最流行的編程語言時,Go語言都是榜上有名。

1.優勢:簡單

談到Go語言大家的第一反應可能就是簡單,當然這也是Go語言的一大優勢,一個有經驗的程序員一個晚上就可以掌握,而其他新語言如Swift它的相關文檔就得有幾百頁厚。

簡單帶來的另一個優點就是更易于閱讀,Go語言規范,有其他語言基礎的程序員也能迅速上手,由于學習曲線平緩,團隊之間的差距更小,更利于合作,另外Go自帶完善的工具鏈,大大提高了團隊協作的一致性。

劣勢:簡陋

當然,在晚上學習一門語言是很好的,但Go是舍棄了很多現代抽象的功能才實現了簡單性,舍棄了這些功能也就意味著你不能依靠更復雜語言的力量來對抗Bug。所以對于復雜性和抽象的愛好者來說,Go語言不是進步反而是倒退。

除此之外,每個程序員都有自己的編程想法,有的人想要泛型,有的人想要可擴展性......但Go語言的使用往往會讓程序員有一種綁住手腳的感覺,無法大展拳腳。

2.優勢:自動化節省時間

Go集成了很多方便快捷的功能,如自動聲明變量,它看起來是一個很小的功能,但是卻為程序員帶來了很多便利,畢竟沒有人希望一直在寫“int”吧。另外,Go語言的GC機制也是一個很大的優勢,因為每個人都對malloc和free函數感到厭煩了吧。

劣勢:自動化可能是危險的

相信每個程序員都對編程語言的自動化的缺點感同身受:如果你采用GC機制來自動回收內存,那么可能會在錯誤的時間被觸發;自動聲明可能會導致嵌套作用域中使用相同的變量名,從而導致錯誤;另外,現在人們對于數據管理系統更加謹慎,所以自動化對我們來說可能不是優勢反而是劣勢。

3.優勢:無虛擬機

在過去的幾十年里,基于虛擬機的語言都是爆款,二進制代碼可以在不同的芯片架構之間輕松移動,而且虛擬機在執行優化時可以實施一些安全規則,所以在VM中整合了很多好的想法。

但是啟動虛擬機需要一些時間,但是Go語言就不用擔心這一點,它可直接編譯成機器碼,除了glibc外沒有其他外部依賴,部署十分方便。這使得Go語言在開發和調試過程中的速度都非常快。

劣勢:無虛擬機

Go語言有獨立的二進制文件,但是它們內存占用都非常大,例如你寫一個“helloworld”的示例,它就接近于2MB。二進制文件之所以會這么大,有一部分原因是它需要執行虛擬機的大部分功能,。

針對這一問題,Go1.7做了一些努力,減少了編譯器所使用的內存量并且在連接時間方面也有所提升,據悉,相對于Go1.5.3它能夠將總的編譯時間降低大約20-30%。雖然這一變化讓問題改善了很多,但是當服務器打開了數百個代碼版本時,RAM仍會被阻塞。

4.優勢:與C類似

Go語言帶有強大的C基因,所以在支持底層代碼方面毫無壓力,1.5版本中完成的并發GC使得Go語言程序在響應時間方面有了質的飛躍,在軟件開發效率和運行效率之間做出了絕佳的權衡。

劣勢:與C類似

類C語言有很多,從顯而易見的C#,C++和Objective-C到Java、Rust、Swift,它們涵蓋了很多有趣的功能,如果你想要完成一個項目,你可以很多選擇,Go語言并不是唯一。

5.優勢:無回調語法

許多程序員都從Node.js的深坑跳到Go,為什么呢?因為他們之前要做很多回調。回調結構對于Web頁面上的JavaScript代碼來說是很有意義的,它有助于通過Node提供服務器端開發的速度,但是它很難保持直線,尤其是在有三四層嵌套的情況下。

劣勢:無回調語法

使用Go語言你不需要考慮嵌套方法,但是你仍然需要考慮以相同的方式編碼交互。Node.js的嵌套雖然有些煩人,但是它能夠讓你在大腦中清晰的形成一個架構圖,而Go語言由于不需要考慮嵌套,所以很有可能會出現失誤。

6.優勢:逐漸豐富的庫

Google為用戶創建服務器應用程序提供很多重要的庫,尤其是網絡庫非常強大。

劣勢:庫缺乏

這個咋一聽來好像是自行矛盾,但其實也很好理解,雖然Google對于Go語言給予了大量的支持,但畢竟Go語言還很年輕,所以標準庫少也是在所難免的。JAR是與平臺無關的文件格式,它允許將許多文件組合成一個壓縮文件,使用可執行的JAR文件,我們可以不用提取它或者知道主要入口點就可以運行一個應用程序。可執行JAR有助于方便發布和執行Java應用程序。Clojure,Scala,JRuby,Kotlin和許多其他的新語言被編譯為JVM的字節碼,它們可以與所有Java庫一起使用。

7.優勢:前景可期

Go語言之所以能夠飛速發展,很大一部分原因是Google的支持。Google是一家重視未來的公司,我們可以從一些蛛絲馬跡中發現與谷歌閱讀器相比,Google似乎更致力于Go語言,目前Google在無人駕駛汽車和其它新奇特的東西投入了大量的精力,這也為Go語言的發展提供了助力。

劣勢:在利基范圍之外未能完全實踐承諾

Go語言的上升令人印象深刻,但是能否繼續上升,我們可能要打一個問號。企業對于代碼的要求除了效率,還有穩定,要讓企業將項目的未來從現有的語言突然變向押寶在另一種語言上,似乎不太可能。另外,Google對于Go語言的支持是優勢也是掣肘,一旦Google風向有變,放棄Go語言轉向一個更好的版本,那么對Go語言來說可能是滅頂之災。

Java是AP計算機科學語言,C是Unix語言,Python更受社會科學家青睞,PHP非但沒有死亡,反而越來愈好......每一種語言都有自己的使用場景,并且在自己的領域發展很好,如果Go語言不能盡快找好自己的定位,那么未來的發展可能會有影響。