標籤:go語言
Go在不知不覺中在國內崛起了,然而網上有文章說,Go在國外不怎麼樣,卻在國內的關注度很高,當然我沒有考證過,不做評論。這篇文章主要是從語言本身客觀的說下Go的問題
Go的設計者宣稱Go大道至簡,的確,Go語言非常簡單,容易掌握。然而這個世界是一個矛盾的綜合體,簡單未必就好,也未必不好。
1、Go語言簡單,然而過於簡單,自然語言表現力上要差很多,應用情境自然有局限性
2、Go不能手動管理記憶體(麻煩,不建議手動記憶體管理,和沒有也差不多)所以不適合做記憶體服務,典型的應用是memcahce,redis等
3、Go的目標可以說是現好的C,然而C裡面的一些文法結構它並沒有對應的支援,導致一些C實現的函數無法調用,最重要的是一些系統調用(或者叫系統API),所以從這個角度看它只能代替C的大部分能力,既然定位為一個系統程式設計語言,那就一定要對C非常的友好,因為windows也好,linux也好,核心都是C語言實現的,總是避免不了要和它打交到,除非你的應用系統相關的任務恰好Go能滿足
4、故意做了些文法糖以標新立異,比如省掉了括弧等,這能做為這點嗎?反正我覺得不算,可能是因為習慣了括弧,就像人的闌尾是多餘的,但是大多數人還是保留著,除非切除是必要的。當然有人說這可以少敲鍵盤,能少敲為什麼要多敲。首先這對開發速度的提升是很微小的,因為開發不是打字比賽,況且也沒有省多少,就像是縮排一樣,不縮排也一樣寫代碼,那為什麼還要縮排,有人說為了排版看著舒服,這樣就看著舒服了嗎,其實這也不一定,剛學編程的人很少有人注意縮排,而且他自己看著也挺好,想想我們現在各種對齊的縮排其實都是被培養了的習慣,開始誰也沒有這個習慣,既然養成了這個習慣,也沒有什麼不好的為什麼要改掉呢
其實要說的還可以有更多,但本文的目的只是想提醒大家,不要盲從,大公司的東西未必全都好,最流行的東西也未必是最適合的,小眾的未必不是更好的選擇,學曆高的也未必有能力,有能力的未必學曆高,專家的話也未必是它自己真想說的,媒體的報道也經常是假象。這個世界真的需要認真思考
最後還是感謝Google公司的貢獻,有作為總好過無作為
本文出自 “李雲興的部落格” 部落格,請務必保留此出處http://quetzal.blog.51cto.com/3313934/1631304
做為一個用過很多程式設計語言的人,我不看好Go語言