您好,登錄后才能下訂單哦!
這篇文章給大家介紹云服務(wù)器用什么語言,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
云服務(wù)器用什么語言開發(fā)?
服務(wù)器的開發(fā)語言不止一種,一般是基于一種編程語言+一定的第三方或者自己編寫的網(wǎng)絡(luò)庫和底層進行的。下面我們比較幾種開發(fā)語言的特點。
Golang
運行效率:并發(fā)上非常有優(yōu)勢,對CPU利用率比較高,原生運行無虛擬機
部署便捷性:一次編譯到處運行,無任何運行庫依賴
調(diào)試便捷性:實際操作中,單線程掛接調(diào)試器可行, 但變量顯示不正確,開發(fā)期基本采用日志方式進行查錯
上手度:語言簡單,特性少,Web對接非常方便, 代碼精簡
熱更新:無法進行熱更新,語言無法編譯為DLL,也不支持DLL加載(linux平臺的.so加載忽略不計)
崩潰處理:崩潰后以命令行方式打印出棧,程序內(nèi)可以捕獲任何崩潰錯誤并繼續(xù)運行
網(wǎng)絡(luò)庫編寫難度:簡單,比C socket更簡單
第三方網(wǎng)絡(luò)庫及框架數(shù)量:偏少
C#
開發(fā)效率:Windows下可以通過VisualStudio進行開發(fā),其他平臺可以使用MonoDevelop,非常方便
運行效率:JIT的性能優(yōu)化比較到位,能適應(yīng)90%性能環(huán)境
部署便捷性:可以通過交叉編譯生成其他平臺的可執(zhí)行文件,通過mono運行可執(zhí)行文件
調(diào)試便捷性:VisualStudio和MonoDevelop調(diào)試均很方便, 還可遠程調(diào)試
熱更新:可以通過DLL方式進行
崩潰處理:可通過try catch捕獲錯誤
網(wǎng)絡(luò)庫編寫難度:一般,需注意gc問題
第三方網(wǎng)絡(luò)庫及框架數(shù)量:一般
C++
開發(fā)效率:編譯慢,文件多,通用庫少
運行效率:native速度標(biāo)桿
部署便捷性:編寫各類的make門檻較高
調(diào)試便捷性:可通過VisualStudio進行Windows平臺調(diào)試
上手度:2~3年經(jīng)驗的熟手仍然會寫出崩潰和泄露代碼
崩潰處理:Windows下可使用SEH捕獲段異常,其他平臺只能通過崩潰后進行coredump分析,容錯非常差
網(wǎng)絡(luò)庫編寫難度:基于asio編寫較為簡單,但總體看來難度不低
第三方網(wǎng)絡(luò)庫及框架數(shù)量:較多
從這些語言使用率來說,Java,Erlang,C++編寫的服務(wù)器較多,Golang,JavaScript,C#其次。
對于老團隊,C++的服務(wù)器工具鏈和框架已經(jīng)相對成熟,完全沒必要更換新語言,只是在對接sdk感覺困難時,可以嘗試Golang這些對web有優(yōu)勢的語言進行混合語言開發(fā)。對于新團隊,開發(fā)效率,上手度和部署效率是優(yōu)先選擇的,C#,Golang,JavaScript 這些新興語言會讓你事半功倍。
但總的來說, 還是根據(jù)團隊的熟悉度來選擇服務(wù)器開發(fā)語言。
關(guān)于云服務(wù)器用什么語言就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。