學go還是python Golang真的好用嗎?
Golang真的好用嗎?最近剛剛寫完go,有點上癮.自己一直是javaer,做這塊有10年了,下面說說個人對這三門語言的理解.go語言,幾個鮮明的特性, 垃圾回收 跨平臺 并發(fā)完美支持 編譯迅速.垃圾
Golang真的好用嗎?
最近剛剛寫完go,有點上癮.自己一直是javaer,做這塊有10年了,下面說說個人對這三門語言的理解.go語言,幾個鮮明的特性, 垃圾回收 跨平臺 并發(fā)完美支持 編譯迅速.
- 垃圾回收就不說了,java也有,這可以讓我們不用過度的關(guān)心內(nèi)存管理.
- 跨平臺,java python 也有可以,但他們需要安裝對應的支持庫.java jre環(huán)境 python2 python3 環(huán)境. 而go編譯出來的包,直接可用.
- 并發(fā)支持,java 并發(fā)最小單元是線程,cpu切換是有代價,數(shù)量控制不好,出問題是頭疼的一個點.go是多了一個協(xié)程的概念,是用戶級的線程.可以任意切換,cpu沒有什么代價.可以很舒服的開發(fā)高并發(fā)應用.就這個特性我覺得后面很多服務器的程序會傾向于go.
- 編譯迅速,java也編譯也很快,但他是編譯器選擇性進行編譯或進行解釋執(zhí)行的,沒有可比性.python純解釋性語言.性能上解釋性語言是沒法跟編譯性語言相比的.go兼顧編譯性語言性能好的特點,編譯比c c 快太多了.非常惹人喜愛.
所以go優(yōu)點是很多,后面很多程序應用都是會傾向于他,特別是他的協(xié)程概念,釋放了多核處理器的能力.未來我看好他的發(fā)展.當然java有很完整的生態(tài),目前來說構(gòu)建大型的復雜系統(tǒng)還是少不了他,大數(shù)據(jù)這塊很多框架都是基于Java.python呢,在爬蟲,機器學習,ai領域有很多成熟的框架庫,要是搞機器學習,也還得學他.
Go會成為下一個企業(yè)級編程語言嗎?
從目前看不太可能,至于未來有沒有可能,要看Google能不能持續(xù)對Go進行持續(xù)扶持。目前Go語言開發(fā)者說它簡單、快速、安全、并發(fā)、快樂編程、開源;但Go語言缺乏方向以及其“集大成者”的嘗試很容易會導致其學貓不成學狗也不成,淪為四不像。
目前不太可能的原因
Java似乎永遠不會過時,盡管它在20世紀90年代最初為交互式電視而設計,但今天的Java卻為企業(yè)應用、安卓移動應用開發(fā)以及其他一切功能提供了動力。
Java自身的跨平臺、安全性、健壯性、簡潔性非常適合企業(yè)級開發(fā)。加上這么多年來各種機構(gòu)貢獻了各種各樣的生態(tài)環(huán)境,比如各種開源還用的框架,像Spring全家桶,Java有今天的成就Spring絕對功不可沒。不完全統(tǒng)計至今全球有數(shù)十億設備上運行著Java程序。
Java最大的問題就是框架臃腫,以前配置個開發(fā)環(huán)境要半天?,F(xiàn)在SpringBoot的出現(xiàn)一定程度上改善了這種情況。
總之,Java本身優(yōu)點突出、生態(tài)完善、技術(shù)成熟,Go雖然很好但是要想短期內(nèi)取代Java不可能。