為什麼開發人員從Java轉到Go
使用Java來開發企業級的應用可能是一個不錯的選擇,但是使用Google的Go語言來開發係統軟件會更有優勢,一名來自PivotalJava開發者如是說,目前他已經成為Go語言的支持者。
Pivotal的一個使用Go語言開發其Cloud Foundry 雲平台的工程師Matt Stine說:Go語言在包、模塊化和並發方麵有很大優勢,如果你嚐試解決的問題是Go語言所擅長的領域,如大型、高性能服務器端程序,我可以說Go非常適合這樣的場景。”
Stine認為Go是一個“相當無聊”的語言,而不是一個神奇的、現代的、功能豐富的語言,但是盡管如此,“你仍然可以使用它開發出一些令人興奮的東西”。他認為Go是一個構建係統級軟件的工具。開發者可以使用Go語言標準庫來構建係統級軟件,而不像其他語言一樣需要第三方框架。
Stine提到,在處理並發時,Golang有內建的功能,這與Java不同,Java的並發的工具類是通過類庫支持的。Stine說:“我認為Go語言本身的語法結構就非常適合處理並發。”另外,Go支持多返回值。
Go也提供了閉包和Map,Map可以將一種類型的值(Key)與其他類型的值關聯起來,他們都是Go的內建數據結構。Stine還稱讚了Go的slice。通過slice,被包裝後的數組可以方便地為序列的數據提供接口。在Go中,很多與數組相關的編程都通過slice來實現。
在Go語言中,半自動資源管理是通過defer關鍵字來提供的。“取代創建資源、使用資源、然後在下麵關閉資源的是,我可以馬上告訴它,‘在該函數其餘功能執行完後再執行這個函數’”,stine說。
Stine強調,Go語言在麵對包和模塊化的時候比Java更有優勢,原因是在Go語言中它們比Java簡單得多。“在Go裏麵,所有類型和函數必須屬於一個包,但是每一個源文件必須申明它所屬的包。”
Java,由Sun Microsystems公司在1995年推出,在語言流行排行榜(包括Tiobe,PyPL和RedMonk編程語言排行榜)中得分最高或者接近最高。Go語言,在RedMonk排行中正在上升,在6月的排行中來到第21位。在7月的Tiobe排行中,Go被排在30位。
最後更新:2017-05-23 17:31:55
上一篇:
了解 CMS 垃圾回收日誌
下一篇:
《迷人的8051單片機》----2.2晶體管
Html中版權符號的字體問題
.NET正則基礎之——平衡組
Maven中pom.xml的scope
?????? ?????????????????????-??????-????????????-?????????
了解ASP.NET MVC幾種ActionResult的本質:HttpStatusCodeResult & RedirectResult/RedirectToRouteResult
MaxCompute分區表和非分區表使用對比
Java 筆記01
Win7環境下,用VHD安裝Win8,實現雙係統!
JavaScript中in操作符
Spring中BeanUtils.copyProperties方法測試