本文目錄一覽:
我為什麼放棄Go語言
有好幾次,當我想起來的時候,總是會問自己:我為什麼要放棄Go語言?這個決定是正確的嗎?是明智和理性的嗎?其實我一直在認真思考這個問題。
開門見山地說,我當初放棄Go語言(golang),就是因為兩個「不爽」:第一,對Go語言本身不爽;第二,對Go語言社區里的某些人不爽。毫無疑問,這是非常主觀的結論。轉載
1.1 不允許左花括弧另起一行
1.2 編譯器莫名其妙地給行尾加上分號
1.3 極度強調編譯速度,不惜放棄本應提供的功能
1.4 錯誤處理機制太原始
1.5 垃圾回收器(GC)不完善、有重大缺陷
1.6 禁止未使用變數和多餘import
1.7 創建對象的方式太多令人糾結
1.8 對象沒有構造函數和析構函數
1.9 defer語句的語義設定不甚合理
1.10 許多語言內置設施不支持用戶定義的類型
1.11 沒有泛型支持,常見數據類型介面醜陋
1.12 實現介面不需要明確聲明
1.13 省掉小括弧卻省不掉花括弧
1.14 編譯生成的可執行文件尺寸非常大
1.15 不支持動態載入類庫
谷歌放棄golang嗎
沒有所謂放不放棄的,golang是BSD許可的,golang的官網上一點google的標誌都沒有,只是搞golang的幾個大牛現在在google上班而已,所以說google放不放棄golang沒多大關係
你為什麼放棄golang?
因為內存管理粗糙。經常看到fmt.xxx導致內存佔用太多,反射導致內存佔用太多的抱怨。
go語言適合寫伺服器組件,那種和業務數據無關的伺服器。比如資料庫伺服器、web伺服器、日誌搜索引擎等。如果用來寫一個crm管理系統,非常累,因為缺乏好多高級特性和龐大的第三方庫,而且語法比較單一,總體感覺就跟寫命令行差不多。
Go語言是谷歌2009發布的編程語言,這個語言發明的目的,就是為了在運行速度接近C/C++語言的基礎上(注意是接近),降低開發者的門檻,減少開發難度。
Go語言,在功能上沒有超過C/C++,適用者為沒有C/C++經驗的開發者,開發出接近C效率的程序。對於已經熟練掌握C/C++的開發者來說,Go語言沒有優勢,還要重學語法,適應開發環境,明顯是不符合效率的。
總結
其實語言這東西,都有其優勢和劣勢。而且有些東西並不是純技術的。比如java的優勢在於清晰的語意表達。寫代碼的上限不高,但是下限也不低,適合工業開發。
而go呢,不得不說go在微服務這塊有先天優勢。畢竟java中要實現go的很多功能,需要引入第三方庫。很笨重。而go原生支持,這個微服務就很輕巧。但是go的語法太活,工業用是一個挺大的弊端。
如果你要放棄Golang你的理由是什麼?
特性少,粗放,規定一大堆跟代碼實現邏輯無關的東西等等。
Go(又稱 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發的一種靜態強類型、編譯型語言。Go 語言語法與 C 相近,但功能上有:內存安全,GC(垃圾回收),結構形態及 CSP-style 並發計算。
Golang描述:
Go的語法接近C語言,但對於變數的聲明有所不同。Go支持垃圾回收功能。Go的並行模型是以東尼·霍爾的通信順序進程(CSP)為基礎,採取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特徵,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現在能從Go中動態載入部分函數。
與C++相比,Go並不包括如枚舉、異常處理、繼承、泛型、斷言、虛函數等功能,但增加了 切片(Slice) 型、並發、管道、垃圾回收、介面(Interface)等特性的語言級支持。Go 2.0版本將支持泛型,對於斷言的存在,則持負面態度,同時也為自己不提供類型繼承來辯護。
不同於Java,Go內嵌了關聯數組(也稱為哈希表(Hashes)或字典(Dictionaries)),就像字元串類型一樣。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/307346.html