Go語言現在的前景怎麼樣?

7狐狸


本文試著回答:Golang真的是編程的未來嗎?


引言

Go是富有成效的。但它並不能代表進步的方向,而且我也不相信它能代表其他新編程語言的發展方向。


不能代表一切

Go不是未來。也不是什麼新鮮玩意兒:

  • 內置垃圾收集的c語言?

  • 那麼,使用一種具有垃圾收集功能的快速系統語言如何呢?Erlang在80年代就是這麼做的。

  • 原生支持併發呢?又是Erlang。Erlang的模型還支持開箱即用的分佈式計算。

大家看到了吧,Go清除了C語法中的一些瑕疵,用起來非常的爽快。


深入

C語言的用戶群普遍認為,垃圾收集是快速而有效。對於Go語言,特別是谷歌給與的支持,給了這一點額外的可信度。

它提供了一個內置的併發模型,這會引入更多的開發人員社區來處理併發。

Rob Pike在語言上設置了一些限制,使得Go很難使用。


寫在最後

這不是未來。

谷歌正在把原本保守的企業創新的底線,從遙遠的過去拉到當前,讓我們都從中受益。

Happy coding :-)


我是@程序員小助手,持續分享編程知識,歡迎關注。

程序員小助手


我學習了java和golang,java用了5年,無限感慨java的生態,工業級的語言,無數的解決方案,不管你是做互聯網還是傳統行業的開發用java開發總能解決一切很多的問題,國內巨頭阿里巴巴更是把java推向了極致,golang作為一個新聲代語言,它的簡便語法,空前極低上手難度,並且他的生態還是慢慢的開始完善,例如docker etcd kubernetes 國內的TiDB,Beego,甚至阿里巴巴也推出了dubbo-go,國內今日頭條,嗶哩嗶哩,滴滴等公司的技術棧也慢慢從java轉到了golang並不是說java不好,只能說golang很簡單,你開發一個web應用golang20行代碼,java可能需要你會知道完整的技術棧例如spring boot技術棧,而golang甚至只需要你會httprouter,rpc框架的支持java比也是不逞多讓,CICD領域go就完全吊打java了,畢竟docker和kubernetes都是golang寫的,天生無縫支持,golang的併發模型也是領先java,gorouting天生為併發而生,所以現在學golang是一個不錯的選擇,但是golang也有它的缺點,項目管理,包依賴管理不如java,泛型等支持也不是很好,相比java的生態go國內的生態還有所欠缺,再說就業,java的就業比golang簡單,因為缺口大,但是golang的就業薪資並不比java低,所以從語言的角度來說golang優越於java,生態上低於java,前景上理論上好於java,這需要看國內的大風向,所以建議學習一下


修煉IT基本功


Go語言近兩年的發展速度還是非常快的,一方面Go語言有強大的行業背書,另一方面Go語言在設計時充分考慮了當前的編程環境,加強了大數據量、高併發等應用場景的處理能力,強調編程語言自身對於處理性能的追求,相信Go語言在未來大數據和人工智能相關技術逐漸落地應用的背景下,會有一個較為廣闊的發展空間。

相對於Java和Python語言來說,Go語言目前在生態體系上還有很多事情要做,而且這個過程可能需要經歷較長一段時間,但是在雲計算時代,技術的迭代方式將更加方便,技術體系的遷移成本也將更低,所以Go語言的普及速度也許將會大大超出市場的預期(包括程序員預期),從目前Go語言的快速發展趨勢來看,就已經說明了一定的問題。

Go語言的應用前景在很大程度上取決於大數據落地應用的進程,因為從語言自身的設計上來看,Go語言一方面為大數據程序員在面對大數據問題時提供了新的選擇,另一方面Go語言也開闢了行業應用的入口(需要平臺接入),大量行業應用也可以通過Go語言來實現。

基於Go語言的“資源接口”的編程方式,結合雲計算平臺(PaaS)提供的服務,Go語言未來將在很大程度上降低大數據領域的開發成本,這能夠讓大量的小、微型開發團隊進入到大數據開發領域,這也在一定程度上拓展了Go語言的應用場景。從另一個角度來看,Go語言也降低了大數據行業創新的門檻。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。


如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


分享到:


相關文章: