欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何優雅地向Java程序員介紹go語言?

林玟書2年前12瀏覽0評論

向Java程序員介紹Go,還需要優雅的介紹,我覺得主要從以下角度考慮。

1.Java有哪些優點,Go是否擁有;

2.Java有哪些不足,Go有沒有解決;

3.Go特別棒的特性;

Java的優點,Go是否擁有

Java經過很多年的發展,形成了很好的生態。一門語言的生態是至關重要的,就好比一家公司的壁壘。Java一直以來,有谷歌、IBM、Oracle等超級大廠的支持,有開源界牛逼的Apache組織支持,產生了很多頂級的軟件,比如大名鼎鼎的Hadoop、ElasticSearch等等,Java社區的原則也比較統一,基本Spring一統天下,沒那么多糾結,很成熟!這些都是很強的壁壘!

相較而言,Go語言還比較年輕。但是,自從Docker、k8s的興起,為Go語言的生態搭建了自己的壁壘,同時帶來了一大批學習者,很有明星項目效應!

因此,在大型項目中,一般會多語言、多生態并存!

Java有哪些不足,Go有沒有解決

1.Java目前大家抱怨比較多的是寫法啰嗦,雖然新版本在不斷改進,但畢竟有歷史包袱。

2.Java學習門檻較高。拿JavaWeb開發來說,首先你得學完JavaSE,然后是JavaEE,學習Tomcat這類容器,接著你還得掌握SSH框架,這些經過了很多年的發展,生態龐大,學習成本較高!

3.Java程序內存占用較多,經常莫名卡死。目前公司使用了confluence一套系統,隔斷時間就有人反饋打不開了,和美團的人聊過,他們也是遇到同樣的問題,得定期重啟。

4.Java近期版權似乎也是個問題

Go從誕生之日起,就崇尚簡潔,崇尚工程實踐,沒有歷史包袱,可以借鑒先輩們的優秀設計經驗。比如對C語言揚棄,保留指針,但廢棄指針運算;避免隱式類型轉換帶來莫名問題,必須顯示轉換。雖然是靜態語言,但從Python這樣的動態語言借鑒了很多優點,語言層面支持slice和map,使得開發效率有很大提升;同時支持面向過程、面向對象和函數式編程等等。

整體上,Go語言簡潔,易于學習,每個人寫出的代碼風格一致。在內存占用方面,因為沒有重的VM,還是比較少的。

在現在重前端的大背景下,服務端負責API的情況下,Go會是很好的選擇。

Go特別棒的特性

1.Go的招牌是并發。因為原生支持協程(goroutine),使得寫并發程序非常方便。goroutine+channel一對招牌搭檔!

2.極快的編譯速度。有一個段子說,Go語言是在C++項目在編譯的時候開發出來的!

3.強大的工具鏈。

4.標準庫提供net和http包,可以很方便的實現一個HTTP服務。

5.類鴨子類型的接口,interface的設計。

6.標準庫支持日志和單元測試。

7.和Java一樣,自帶GC。

總結

無意語言之爭,只是希望大家對語言有更全面的了解,根據情況選擇適合的,沒有最好,只有最適合!

當然,Go也在不斷完善中,比如沒有泛型,近期才對包依賴有了較好的官方支持,被人議論最多的錯誤處理等,如果GC一樣,我相信Go會越來越好。

最后補充:Go是谷歌出品的,創作者是幾個骨灰級程序員,國內有很多大廠在使用Go,學習Go語言能夠讓你比Java更容易接觸底層知識!

如果你喜歡或想學Go語言,關注我吧!