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 不支持動態加載類庫

Go語言的優點:
並發/網絡/性能/工具(fmt/pprof/test)/標准庫(http/json/log/flags/atomic)/Google
Go語言垃圾回收器真正致命的缺陷是,會導致整個進程不可預知的間歇性停頓。
像某些大型后台服務程序,如游戲服務器、APP容器等,由於占用內存巨大,其內存對象數量極多,GC完成一次回收周期,可能需要數秒甚至更長
時間,這段時間內,整個服務進程是阻塞的、停頓的,在外界看來就是服務中斷、無響應,再牛逼的並發機制到了這里統統失效。垃圾回收器定期
啟動,每次啟動就導致短暫的服務中斷,這樣下去,還有人敢用嗎?這可是后台服務器進程,是Go語言的重點應用領域。

小米網在使用Go的開發第二版搶購系統的過程中也遇到了Go程序消耗大量內存后,GC緩慢,最終導致服務不可用的問題.C語言使用網絡框架庫比如
libevent/libev/libuv/acl(Advanced C/C++ Library)后是否就能抵消Go的優勢,而又沒有Go垃圾回收時卡頓的缺點呢?在OpenResty(Nginx)
上進行Lua編程也是另一種開發高性能網絡應用的選擇.


----------------------------------------------------------------
Go 缺點
1 GO很慢,運行速度比Java慢,一個編譯型的語言居然比解釋性的還慢.
2 GO缺少安全檢查,在第三方包調os.exit((1)的我見過太多了.
3 泛型不想吐槽,就沒有泛型支持
4 err成為函數返回值成為標配,寫起來千篇一律,if太多,沒意思
5 :=這種定義我真不想說什么,看代碼的時候左值什么類型都不知道,還要深入看右值的函數去看,尤其是沒有一個好的IDE可以點進去看函數定義.
Go 優點
6 沒有一個好的工程版本管理,尤其是github上第三方的.
1 開發速度很快,代碼比較簡潔.
2 標准庫比較強大
3 編譯簡單,最后就一個可執行文件

----------------------------------------------------------------
Plan 9的作者還是沒有Anders Hejlsberg 會懂得簡單的道理,Plan 9的復雜有點過了

作為一個使用golang開發了一年多的人,看遍全文,我只能說,這個作者要么go剛剛入門,要么根本不懂go的精髓。


好熱鬧,我也來點參與感。最近用Go寫過小工具,總體感覺滿意,語法很干凈,包組織比較舒服,並發非常爽。不足的是:IDE的確沒找到合適的
,用過IntelliJ+golang插件以及LitteIDE,跟成熟的IDE相比差了挺多的。

nodejs 粉們不知道你們的 TJ 大神都已經轉 golang 了嗎?http://www.welefen.com/about-tj-farewell-node.js-article.html


go和nodejs都是很差的語言.node那異步回調也能被大吹特吹,異步回調是C++早已玩爛的東西好嗎!
我支持C#,c#ide完善,語言設計精妙,現在c#跨平台能力比java還強,c#的異步語法甩nodejs一百條街


參考:http://blog.csdn.net/liigo/article/details/23699459


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM