青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

戰(zhàn)魂小筑

討論群:309800774 知乎關(guān)注:http://zhihu.com/people/sunicdavy 開源項(xiàng)目:https://github.com/davyxu

   :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

以下比較的基礎(chǔ)都是基于一種編程語言+一定的第三方或者自己編寫的網(wǎng)絡(luò)庫和底層進(jìn)行的,Skynet稍微特殊,但總體比較合適放到比較中來

C#

開發(fā)效率:Windows下可以通過VisualStudio進(jìn)行開發(fā),其他平臺可以使用MonoDevelop,非常方便

運(yùn)行效率:JIT的性能優(yōu)化比較到位,能適應(yīng)90%性能環(huán)境

部署便捷性:可以通過交叉編譯生成其他平臺的可執(zhí)行文件,通過mono運(yùn)行可執(zhí)行文件

調(diào)試便捷性:VisualStudio和MonoDevelop調(diào)試均很方便, 還可遠(yuǎn)程調(diào)試

上手度:對C系語言熟悉的幾天就可上手

熱更新:可以通過DLL方式進(jìn)行

Web對接:可做,代碼比較啰嗦

崩潰處理:可通過try catch捕獲錯誤

網(wǎng)絡(luò)庫編寫難度:一般,需注意gc問題

第三方網(wǎng)絡(luò)庫及框架數(shù)量:一般

 

Golang

開發(fā)效率:高

運(yùn)行效率:并發(fā)上非常有優(yōu)勢,對CPU利用率比較高,原生運(yùn)行無虛擬機(jī)

部署便捷性:一次編譯到處運(yùn)行,無任何運(yùn)行庫依賴

調(diào)試便捷性:實(shí)際操作中,單線程掛接調(diào)試器可行, 但變量顯示不正確,開發(fā)期基本采用日志方式進(jìn)行查錯

上手度:語言簡單,特性少, 新手1周能貢獻(xiàn)代碼

熱更新:無法進(jìn)行熱更新,語言無法編譯為DLL,也不支持DLL加載(linux平臺的.so加載忽略不計(jì))

Web對接:非常方便, 代碼精簡

崩潰處理:崩潰后以命令行方式打印出棧,程序內(nèi)可以捕獲任何崩潰錯誤并繼續(xù)運(yùn)行

網(wǎng)絡(luò)庫編寫難度:簡單,比C socket更簡單

第三方網(wǎng)絡(luò)庫及框架數(shù)量:偏少

 

Skynet(lua+C)

開發(fā)效率:基于動態(tài)語言的開發(fā)初次寫比較快,后期維護(hù)和重構(gòu)會耗費(fèi)一定的時間在查錯上

運(yùn)行效率:基于lua jit的運(yùn)行效率還是能接受的

部署便捷性:方便, 只有底層修改需要重新編譯, 大部分時間只用更新lua文件

調(diào)試便捷性:不是很方便,基于日志方式進(jìn)行查錯

上手度:lua語言特性有部分和C系語言有一定差異,基于Actor模型的思想學(xué)習(xí),適應(yīng)需要耗費(fèi)一定的時間

熱更新:類似于Erlang,可精確到函數(shù)級的熱更新

Web對接:有一些http支持,通過社區(qū)慢慢進(jìn)行完善

崩潰處理:lua天生可以捕獲錯誤

網(wǎng)絡(luò)庫編寫難度:自帶,無需編寫

第三方網(wǎng)絡(luò)庫及框架數(shù)量:通過社區(qū)慢慢完善

 

C++

開發(fā)效率:編譯慢,文件多,通用庫少

運(yùn)行效率:native速度標(biāo)桿

部署便捷性:編寫各類的make門檻較高

調(diào)試便捷性:可通過VisualStudio進(jìn)行Windows平臺調(diào)試

上手度:2~3年經(jīng)驗(yàn)的熟手仍然會寫出崩潰和泄露代碼

熱更新:可通過DLL進(jìn)行

Web對接:代碼啰嗦,第三方庫少

崩潰處理:Windows下可使用SEH捕獲段異常,其他平臺只能通過崩潰后進(jìn)行coredump分析,容錯非常差

網(wǎng)絡(luò)庫編寫難度:基于asio編寫較為簡單,但總體看來難度不低

第三方網(wǎng)絡(luò)庫及框架數(shù)量:較多

 

以下是得分

image

 

從發(fā)文時的項(xiàng)目對這些語言使用率來說,Java,Erlang,C++編寫的服務(wù)器較多,Golang,JavaScript,C#是第二梯隊(duì),Skynet由于上手不是很容易,所以僅有兩位數(shù)的團(tuán)隊(duì)在使用,但總體表現(xiàn)還是比較出色的

對于老團(tuán)隊(duì), C++的服務(wù)器工具鏈和框架已經(jīng)相對成熟, 完全沒必要更換新語言, 只是在對接sdk感覺困難時,可以嘗試Golang這些對web有優(yōu)勢的語言進(jìn)行混合語言開發(fā)

對于新團(tuán)隊(duì),開發(fā)效率,上手度和部署效率是優(yōu)先選擇的,C#,Golang,JavaScript這些新興語言會讓你事半功倍

對于大規(guī)模無需選服的服務(wù)器, Skynet的actor模型對擴(kuò)展會比較容易

對于大公司,好項(xiàng)目,上線后需要通過熱更新進(jìn)行bug修補(bǔ)的,C#,C++,Erlang會是首選

 

但總的一點(diǎn), 還是根據(jù)團(tuán)隊(duì)熟悉度來選擇語言,貿(mào)然的使用新語言的風(fēng)險也是很大的


評論

# re: 服務(wù)器開發(fā)語言比較 2016-01-20 17:55 路人
c#做游戲服務(wù)端, 配合unity3d簡直完美  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較[未登錄] 2016-05-05 15:42 shine
居然沒有Java  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-05-05 16:33 戰(zhàn)魂小筑
@shine
哈哈哈, 被你發(fā)現(xiàn)了, 因?yàn)槲疫@邊不用Java
Java的分至少也和C#相當(dāng)  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-05-10 02:56 SuperSoar
C# 部署麻煩。
另外 話說最近才發(fā)現(xiàn) go語言真是相當(dāng)不錯了。
go不是vm語言。
其次 go語言的網(wǎng)絡(luò)開發(fā)確實(shí)方便到爆 C#相與之比較還是 遜色很多。

C#這個語言真是即嚴(yán)謹(jǐn)又啰嗦。
  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-05-10 09:08 戰(zhàn)魂小筑

@SuperSoar
部署麻煩點(diǎn), 但語言和開發(fā)環(huán)境是go的軟肋, C#太方便了  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-06-15 21:58 witch
我們團(tuán)隊(duì)就犯了貿(mào)然更換語言的錯誤,導(dǎo)致現(xiàn)在后悔的不得了。

golang現(xiàn)在用下來,遇到幾個麻煩的坑。
1. 調(diào)試不能用斷點(diǎn)。我們使用新版的idea來開發(fā)golang程序,但斷點(diǎn)經(jīng)常失敗。而lite好多人用不習(xí)慣。
2. 第三方庫偏少,但最重要的是很多都沒有tag或版本,根本不知道獲取下來的是開發(fā)版本還是穩(wěn)定版本,甚至不知道api有哪些改動。有時候需要獲取一個早期版本時不得不從git的log中仔細(xì)找。
3. 沒有熱更新,上線后出了問題不好處理。
4. 沒有泛型。
5. 指針類型和值類型之間更偏向于值類型的設(shè)計(jì)對非C++出身的程序員還是容易犯錯。
6. 切片有坑!
7. 語法存在一種表述多種含義的模糊性。導(dǎo)致第一眼看代碼時容易看不懂,必須結(jié)合上下文來仔細(xì)理解。
  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-06-15 22:28 戰(zhàn)魂小筑
@witch
1. 調(diào)試不能用斷點(diǎn)。我們使用新版的idea來開發(fā)golang程序,但斷點(diǎn)經(jīng)常失敗。而lite好多人用不習(xí)慣。
調(diào)試不用斷點(diǎn)是一種基本素質(zhì), 要求代碼有一定可分析基礎(chǔ), 習(xí)慣就好

2. 第三方庫偏少,但最重要的是很多都沒有tag或版本,根本不知道獲取下來的是開發(fā)版本還是穩(wěn)定版本,甚至不知道api有哪些改動。有時候需要獲取一個早期版本時不得不從git的log中仔細(xì)找。

寫游戲服務(wù)器不存在用第三方庫, 我們最多用到mongodb, mysql等的第三方庫. 當(dāng)時也出現(xiàn)過選擇問題, 但最終還是選到合適的了

3. 沒有熱更新,上線后出了問題不好處理。
這個就是和運(yùn)營運(yùn)維的配合, 如果服務(wù)器連停下來更新都不允許, 這個也太過了

4. 沒有泛型。
這是個問題, 后期應(yīng)該會有所改善

5. 指針類型和值類型之間更偏向于值類型的設(shè)計(jì)對非C++出身的程序員還是容易犯錯。
請更多的使用指針類型

6. 切片有坑!
比起指針來說, 切片的坑算少的了

7. 語法存在一種表述多種含義的模糊性。導(dǎo)致第一眼看代碼時容易看不懂,必須結(jié)合上下文來仔細(xì)理解。

這是你們編寫問題吧, 我們基本上拿到任何人代碼都能馬上看得懂

  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-06-16 00:28 witch
@戰(zhàn)魂小筑
1. 希望delve早日完善了。

2. 這個是吐槽下protobuf庫。redigo和gorm也有這個問題。希望官方能早日統(tǒng)一下庫發(fā)布時的版本規(guī)則吧,畢竟優(yōu)秀的第三方庫可以提升項(xiàng)目的實(shí)現(xiàn)難度和維護(hù)性。

3. 熱更新對于使用長連接的游戲服務(wù)器來說真的是個巨大的加分點(diǎn)。
開服第一天就停服維護(hù)會讓在線掉很多,不利于數(shù)據(jù)的采集,也打擊運(yùn)營的信心。服務(wù)器鋪開來后,為了一個bug而大面積停服也是挺頭大的。特別是對于游戲這類開發(fā)節(jié)奏很緊業(yè)務(wù)很復(fù)雜很容易出bug的項(xiàng)目。

4. 希望版本2趕緊出來。

6. 指針不能參與運(yùn)算感覺已經(jīng)比C、C++好很多了。求教指針相關(guān)的坑?

7. 這個是我表述錯誤了。應(yīng)該是go的嵌入類型特性以及非常自由的接口機(jī)制導(dǎo)致不太容易找到接口的實(shí)現(xiàn),也不容易注意到是否誤實(shí)現(xiàn)了某個接口。
  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較 2016-06-29 05:16 SuperSoar
@戰(zhàn)魂小筑
是的 LiteIde 這種雖然勉強(qiáng)能用,但是相比VS 還是相差得太遠(yuǎn)太遠(yuǎn)了...
  回復(fù)  更多評論
  

# re: 服務(wù)器開發(fā)語言比較[未登錄] 2016-06-29 17:18 eric
java和erlang不用嗎  回復(fù)  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美激情一区二区| 欧美粗暴jizz性欧美20| 亚洲欧美日韩精品在线| 欧美91精品| 久久gogo国模裸体人体| 国产精品红桃| 亚洲网在线观看| 欧美成人免费在线观看| 欧美在线一区二区三区| 国产精品五区| 亚洲综合99| 在线综合视频| 欧美色欧美亚洲另类七区| 日韩视频在线观看一区二区| 欧美黄色影院| 欧美承认网站| 亚洲精品社区| 亚洲精品免费电影| 性欧美超级视频| 国产午夜一区二区三区| 久久久人成影片一区二区三区观看| 日韩视频免费看| 欧美成人一二三| 9l视频自拍蝌蚪9l视频成人| 亚洲毛片网站| 欧美午夜不卡视频| 亚洲欧美日韩区| 亚洲专区一区| 国产曰批免费观看久久久| 欧美一级视频精品观看| 亚洲嫩草精品久久| 国产日韩视频| 美脚丝袜一区二区三区在线观看| 久久日韩粉嫩一区二区三区| 亚洲风情在线资源站| 欧美激情欧美狂野欧美精品| 日韩一级裸体免费视频| 日韩视频在线播放| 国产乱码精品一区二区三| 久久婷婷av| 欧美精品一区二区三区久久久竹菊 | 久久精品首页| 亚洲日韩欧美视频一区| 在线视频欧美日韩| 精品91在线| 亚洲剧情一区二区| 国产亚洲欧美一区| 最新成人av网站| 国产欧美一区二区三区久久| 国产精品免费网站在线观看| 国产欧美视频一区二区三区| 美国三级日本三级久久99| 欧美日韩国产一区二区| 久久久xxx| 欧美区二区三区| 久久久久五月天| 欧美日韩免费精品| 欧美1区3d| 国产精品素人视频| 91久久久国产精品| 国产在线乱码一区二区三区| 亚洲精品一区二区在线观看| 伊人成人在线视频| 亚洲一级二级| 一区二区电影免费观看| 久久久久免费视频| 欧美伊久线香蕉线新在线| 欧美国产视频日韩| 免费久久精品视频| 国产麻豆一精品一av一免费| 亚洲乱码日产精品bd| 亚洲国产人成综合网站| 久久av一区二区三区| 午夜精品久久久久99热蜜桃导演| 欧美国产精品人人做人人爱| 免费在线看成人av| 国产一区二区观看| 亚洲一区www| 亚洲午夜高清视频| 欧美日本亚洲视频| 亚洲激情六月丁香| 亚洲国产另类久久久精品极度| 亚洲欧美日韩精品在线| 亚洲专区国产精品| 欧美日韩一本到| 亚洲精品视频在线看| 亚洲精品综合在线| 欧美成人资源| 亚洲韩国精品一区| 亚洲精品韩国| 欧美高清视频一区| 亚洲激情视频网| 亚洲激情视频| 欧美国产激情| 日韩五码在线| 亚洲女同精品视频| 国产乱子伦一区二区三区国色天香 | 欧美大片网址| 性做久久久久久久久| 欧美日韩中文字幕精品| 亚洲人成人一区二区三区| 亚洲精品一区中文| 欧美精品在线看| 日韩视频中文字幕| 午夜精品久久久久| 国产日韩精品在线观看| 欧美一区二区三区成人| 裸体女人亚洲精品一区| 亚洲国产欧美另类丝袜| 欧美日产一区二区三区在线观看| 亚洲精品欧美| 日韩亚洲欧美一区| 欧美性大战久久久久| 亚洲性感美女99在线| 欧美伊人久久久久久久久影院 | 亚洲欧洲另类| 欧美日韩少妇| 午夜欧美精品久久久久久久| 久久综合网络一区二区| 亚洲欧洲精品一区| 欧美色图五月天| 欧美一区永久视频免费观看| 欧美电影在线播放| 中文欧美字幕免费| 国产偷久久久精品专区| 欧美成人激情视频免费观看| 在线亚洲一区二区| 毛片一区二区三区| 99精品国产热久久91蜜凸| 国产精品自在欧美一区| 嫩模写真一区二区三区三州| 亚洲天堂男人| 欧美激情片在线观看| 羞羞色国产精品| 亚洲精品社区| 国产一区二区三区在线观看免费| 美日韩精品免费观看视频| 亚洲图片欧美日产| 欧美激情精品久久久久久久变态| 中文av一区二区| 国内伊人久久久久久网站视频| 欧美日本在线看| 久久免费高清| 亚洲字幕在线观看| 亚洲精品在线一区二区| 久久综合九色综合欧美就去吻 | 亚洲精品久久久久久一区二区 | 日韩亚洲欧美成人| 老鸭窝毛片一区二区三区| 亚洲视频自拍偷拍| 亚洲国产成人在线| 国产日韩亚洲欧美综合| 欧美午夜电影网| 欧美理论大片| 欧美成人69| 久久一区欧美| 久久精品视频在线看| 欧美在线黄色| 午夜精品偷拍| 亚洲伊人久久综合| 99国产一区| 欧美日韩亚洲三区| 欧美亚洲视频| 日韩视频一区二区在线观看 | 亚洲精品一区二区在线| 欧美激情久久久久久| 牛牛国产精品| 老司机精品久久| 久久精品道一区二区三区| 亚洲欧美国产另类| 亚洲免费视频在线观看| 亚洲淫片在线视频| 亚洲先锋成人| 亚洲男同1069视频| 亚洲欧美乱综合| 午夜视频一区在线观看| 午夜天堂精品久久久久| 香港成人在线视频| 午夜精品免费在线| 亚洲综合首页| 欧美一区成人| 久久狠狠亚洲综合| 久久综合九色| 亚洲激情第一区| 一区二区三区色| 亚洲你懂的在线视频| 欧美在线三区| 米奇777在线欧美播放| 免费看亚洲片| 欧美激情一区二区在线| 欧美激情中文不卡| 欧美日韩一区高清| 国产区欧美区日韩区| 国内精品一区二区三区| 亚洲高清免费在线| 一级成人国产| 久久精品国产77777蜜臀| 麻豆freexxxx性91精品| 亚洲韩国日本中文字幕| 亚洲图片在线观看|