Golang有什麼優勢?與Erlang有何差異?

老男孩IT教育機構發表於2021-05-06

  雖然Erlang和Golang同屬於程式語言,但是很多人對它們的瞭解並不是很多,甚至有人覺得Erlang和Golang有著很大的聯絡,那麼Erlang和Golang有什麼區別呢?

  Erlang和Golang有什麼不同?

  1. 對鎖的態度不同;

  2. 對非同步IO的態度不同;

  3. 訊息機制不同;

  4. Erlang對鎖非常反感,認為變數不可變可以很大程度避免鎖;而Golang的觀點是鎖確實有很大的負擔,但鎖基本上是無法避免的,一旦有人共享狀態並且互相搶佔去改變他,這時候鎖是必須存在的。

  Erlang伺服器是單程式的,是邏輯上沒有併發的東西,一個Process就是一個執行體,所以Erlang的伺服器和Golang的伺服器是不一樣的,Golang的伺服器是多程式的一起構成的一個伺服器,每個請求建立一個獨立的程式。

  而Erlang不同,一個伺服器就是一個單程式的,所以併發的請求都進入到了程式的郵箱,然後這個伺服器從程式郵箱裡取郵件處理,Erlang的伺服器並沒有併發的請求,所以不需要鎖。

  Golang有什麼優勢?

  1. 強悍併發效能:GO內建Goroutine協程排程機制處理併發性比較強悍;

  2. 開發速度較高:GO語言程式碼簡易度接近Python,執行速度媲美C語言開發;

  3. 區塊鏈主流程式語言:2018年區塊鏈人才需求為2017年同期的9.7倍;

  4. 就業薪資高:3年的GO開發者,薪資待遇達到25k+。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2771005/,如需轉載,請註明出處,否則將追究法律責任。

相關文章