為什麼開發人員從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位。
相關文章
- 為什麼安全是Java開發人員的首要任務?Java
- 我為什麼從php轉go?PHPGo
- 為什麼開發人員喜歡低程式碼?
- 前端開發人員為什麼應該拿高薪前端高薪
- Java開發為什麼需要UML (轉)Java
- 作為IT從業人員,你需要什麼證?
- 為什麼 Python 開發人員應該使用 PipenvPython
- 為什麼IE6讓Web開發人員抓狂Web
- 淺談DAST,什麼是DAST,開發人員為什麼要使用它?AST
- 我為什麼從python轉向goPythonGo
- AMD從Intel挖走主開發人員(轉)Intel
- 為什麼開發人員工作10多年了還會迷茫?
- 為什麼招聘測試人員需要有開發經驗
- 為什麼開發人員痴迷於“關注點分離”?
- 為什麼很多公司都轉型go語言開發?Go語言能做什麼Go
- 做為開發人員 你為什麼應當關心設計
- 開發人員需要知道如何做,做什麼,和為什麼做
- 什麼是Web開發?如何成為一個Python Web開發人員?WebPython
- Bowery為什麼從Node.js轉向 GoNode.jsGo
- 什麼是DevSecOps?開發人員如何為安全而左移dev
- 為什麼 Web 開發人員需要學習一個 JavaScript 框架?WebJavaScript框架
- 為什麼開發人員必須要了解資料庫鎖?資料庫
- 從Java到區塊鏈:如何成為區塊鏈開發人員Java區塊鏈
- 為什麼說web前端開發人員的薪資高、待遇好Web前端
- 為什麼開發人員對於PHP語言褒貶不一PHP
- 谷歌專家:為什麼Java伺服器端開發人員不採用Kotlin? - Ivan谷歌Java伺服器Kotlin
- 成為更優秀的開發人員:第4篇 - 知道自己在開發什麼
- 開發人員怎麼看實施人員
- 如何成為一名Java自由開發人員Java
- 為什麼阿里巴巴禁止開發人員使用isSuccess作為變數名阿里變數
- 為什麼越簡單的技術對於開發人員越難
- 【譯】為什麼 React16 對開發人員來說是一種福音React
- ABAP開發人員未來應該學些什麼
- 為什麼像Google公司的一些開發人員認為敏捷開發是無稽之談? - QuoraGo敏捷
- 面向Java開發人員的Flex開發指南JavaFlex
- 學Java開發可以從事什麼工作?Java
- 為什麼Web開發人員在2020年不用最新的CSS功能WebCSS
- 為什麼開發人員工作10多年了還會迷茫?沒有安全感?