時間:2023-08-12|瀏覽:252
1. 語言成熟度的考慮
一個成熟的語言通常能夠支持開發(fā)大型的系統(tǒng)。在云計算領(lǐng)域,兩個核心系統(tǒng)docker和k8s用的是go語言。目前大部分區(qū)塊鏈系統(tǒng)也選擇用go語言開發(fā)。因此,學(xué)習(xí)go語言對于做區(qū)塊鏈來說是必不可少的。
2. 開發(fā)人員的數(shù)量
學(xué)習(xí)一門語言的入門成本較低,但要精通類庫和最佳實踐需要多年的學(xué)習(xí)。因此,很小眾的語言并不需要考慮。目前go語言在全球排名第十,屬于主流語言。
3. 語言的工程特性
有些語言看起來很漂亮,但并不適合工程實踐。在工程實踐中,風(fēng)格的統(tǒng)一是非常重要的。C++就是一種不利于工程組織的語言,不同程序員寫的代碼風(fēng)格可能完全不同,甚至對方的代碼難以理解。主要原因是C++的語法特性非常多,即使是十多年的C++程序員可能也不能精通所有的語法特性。在設(shè)計go語言時,就考慮到了這個問題,一個問題的解決方案通常只有一種寫法,甚至將if語句寫成別的形式都是非法的。
go還提供了gofmt,可以自動格式化代碼,使每個人寫出的代碼風(fēng)格一致,方便交流。
4. 面向大部分普通程序員
程序員的水平呈金字塔結(jié)構(gòu),中等水平的程序員占大多數(shù)。從這個角度來看,讓大部分人學(xué)會函數(shù)式編程基本上是不可能的。選擇go語言的一個重要原因是,中等水平的程序員可以寫出很好的go代碼。原因是go語言非常簡單,特性很少,且有豐富的官方類庫,大部分程序員可以輕松上手開發(fā)。當(dāng)go語言還是beta版本時,我們的團(tuán)隊就開始使用它了,而且也加入了許多go語言社區(qū)。我們發(fā)現(xiàn),很多使用go語言的程序員原來是寫腳本語言的,如PHP、Python和Javascript。這也從側(cè)面體現(xiàn)了go語言入門的簡單性。
熱點:GO語言