日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

11种服务器编程语言对比(附游戏服务器框架) 2020.06

發(fā)布時(shí)間:2023/12/31 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11种服务器编程语言对比(附游戏服务器框架) 2020.06 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

各語(yǔ)言對(duì)比

語(yǔ)言版本TIOBE排名垃圾回收類型系統(tǒng)性能Web后端非Web后端特性
Java142
Python3.83動(dòng)態(tài)
C++174不適合
Node.js147*動(dòng)態(tài)
PHP7.48動(dòng)態(tài)不適合
Go1.1412
Ruby2.713動(dòng)態(tài)最低不適合
Rust1.4420不適合獨(dú)特的內(nèi)存安全機(jī)制
Lua5.438動(dòng)態(tài)不適合通常配合 c/c++ 使用
Erlang2350+動(dòng)態(tài)函數(shù)式編程
.NET開發(fā) windows 服務(wù)器

* python 為使用 pypy 的性能
* 語(yǔ)言本身的性能主要體現(xiàn)在CPU密集型任務(wù)中,且不同類型的任務(wù)差距較大,對(duì)于IO密集型任務(wù)主要考慮是否容易實(shí)現(xiàn)高并發(fā)

網(wǎng)站語(yǔ)言使用率

Java

  • 功能強(qiáng)大,類庫(kù)完善,適合開發(fā)各種大型項(xiàng)目,適合多人開發(fā)
  • 較好的開發(fā)效率和運(yùn)行性能
  • 新版本解決了 GC 高延遲的問(wèn)題,可用于開發(fā)低延遲服務(wù)器
  • Spring Boot 解決了 Spring 過(guò)于臃腫的問(wèn)題,可以快速搭建小型服務(wù)器
  • 不支持協(xié)程(未來(lái)有計(jì)劃支持,見 Project Loom)

Python

  • 隨著機(jī)器學(xué)習(xí)的興起迅速流行起來(lái),也可以單獨(dú)作為腳本使用
  • 適合快速搭建中小型服務(wù)器
  • 腳本語(yǔ)言的通病,不適合開發(fā)大型項(xiàng)目,較難維護(hù)和重構(gòu)
  • 一些服務(wù)器使用底層 c/c++、上層 python 開發(fā)

C++

  • 系統(tǒng)級(jí)編程語(yǔ)言,常用于系統(tǒng)軟件或嵌入式
  • 高性能
  • 學(xué)習(xí)成本高,開發(fā)效率低,內(nèi)存不安全,非常容易寫出 bug
  • 曾經(jīng)是游戲服務(wù)器常用的語(yǔ)言(據(jù)說(shuō)騰訊游戲多使用c++),但現(xiàn)在可以用 Java、Go、Rust 等代替
  • 非跨平臺(tái),但問(wèn)題不大,服務(wù)器一般是 Windows 開發(fā),Linux 運(yùn)行,Visual Studio 本身就支持這一點(diǎn)

可以使用 Visual Studio 在 Windows 上編輯、調(diào)試 linux c++程序,而程序運(yùn)行在遠(yuǎn)程Linux服務(wù)器、或Windows 的 linux 子系統(tǒng)中
https://docs.microsoft.com/en-us/cpp/linux/download-install-and-setup-the-linux-development-workload?view=vs-2019

Node.js

  • 使用 js 語(yǔ)言,適合前端人員開發(fā)后端
  • 適合做 serverless 開發(fā)
  • 除此之外 Node.js 在性能、高并發(fā)、易用程度上并沒(méi)有獨(dú)特優(yōu)勢(shì)

PHP

  • 世界上 80% 的 Web 服務(wù)器由 PHP 開發(fā)
  • 適合快速搭建中小型 Web 服務(wù)器
  • 多使用 Laravel 框架
  • 作為腳本語(yǔ)言,同樣不適合開發(fā)大型項(xiàng)目
  • PHP7 版本極大提升了性能(仍比Java差很多)

Go

  • 語(yǔ)法簡(jiǎn)潔、設(shè)計(jì)良好,易于學(xué)習(xí),開發(fā)效率高
  • 運(yùn)行效率較高
  • 便于開發(fā)高并發(fā)服務(wù)器
  • 目前發(fā)展很快,很多公司都開始用 Go 開發(fā) Web 服務(wù)器 、游戲服務(wù)器或系統(tǒng)級(jí)應(yīng)用
  • Go 沒(méi)有繼承只有接口,這不是一個(gè)缺點(diǎn),方法覆蓋并不符合里氏替換原則,很難維護(hù)

Ruby

  • 適合快速搭建中小型 Web 服務(wù)器
  • 使用 Ruby On Rails 框架
  • 腳本語(yǔ)言,做 Web 開發(fā)與 PHP、Python 類似
  • 性能很低

Rust

  • Rust 是系統(tǒng)級(jí)編程語(yǔ)言,性能可媲美 c 語(yǔ)言
  • 有獨(dú)特的內(nèi)存安全機(jī)制
  • 微軟發(fā)現(xiàn) 70% 的操作系統(tǒng) bug 是空指針等內(nèi)存安全問(wèn)題造成的,于是嘗試用 Rust 代替 c/c++
  • 可用于開發(fā)高性能服務(wù)器
  • 學(xué)習(xí)成本高
  • 類庫(kù)較少

Lua

  • 腳本語(yǔ)言,可用于擴(kuò)展 c/c++
  • 常用于編寫游戲服務(wù)器的上層邏輯

Erlang

  • 函數(shù)式語(yǔ)言
  • 便于開發(fā)高并發(fā)、分布式服務(wù)器
  • 常用于游戲服務(wù)器、消息系統(tǒng)等

.NET

  • .NET 是一個(gè)平臺(tái),支持 c#、VB、ASP等語(yǔ)言,有一個(gè)類似JVM的公共語(yǔ)言運(yùn)行庫(kù),Web 開發(fā)用到 ASP.Net、ASP.Net MVC、ADO.Net 等
  • 用于開發(fā) Windows 服務(wù)器,目前也支持跨平臺(tái)
  • 適合開發(fā)大型項(xiàng)目

開源游戲服務(wù)器框架

框架語(yǔ)言特點(diǎn)(僅供參考)github star其他
pomeloNode.js易擴(kuò)展 分布式 適合小游戲10.9k作者為網(wǎng)易
Skynetc lua消息處理框架9.1k作者為網(wǎng)易云風(fēng)
KBEnginec++ Python適合大型 MMO4k
leafgo游戲框架3.6k
mqantgo分布式微服務(wù)框架1.9k
goworldgo分布式1.5k
cellnetgo分布式3.2k
pitayago分布式0.6k
Scutc# Python lua游戲框架1.2k
Cuberitec++Minecraft 服務(wù)器3.2k
agonesgo基于k8s 分布式3.2k
NoahGameFramec++ c# lua可擴(kuò)展 分布式,可用于 MMO MOBA2.5k
ETc#配合 Unity3d 使用3.5k

編程語(yǔ)言族譜

https://www.levenez.com/lang/lang.pdf

總結(jié)

以上是生活随笔為你收集整理的11种服务器编程语言对比(附游戏服务器框架) 2020.06的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。