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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

各語言對比

語言版本TIOBE排名垃圾回收類型系統性能Web后端非Web后端特性
Java142
Python3.83動態
C++174不適合
Node.js147*動態
PHP7.48動態不適合
Go1.1412
Ruby2.713動態最低不適合
Rust1.4420不適合獨特的內存安全機制
Lua5.438動態不適合通常配合 c/c++ 使用
Erlang2350+動態函數式編程
.NET開發 windows 服務器

* python 為使用 pypy 的性能
* 語言本身的性能主要體現在CPU密集型任務中,且不同類型的任務差距較大,對于IO密集型任務主要考慮是否容易實現高并發

網站語言使用率

Java

  • 功能強大,類庫完善,適合開發各種大型項目,適合多人開發
  • 較好的開發效率和運行性能
  • 新版本解決了 GC 高延遲的問題,可用于開發低延遲服務器
  • Spring Boot 解決了 Spring 過于臃腫的問題,可以快速搭建小型服務器
  • 不支持協程(未來有計劃支持,見 Project Loom)

Python

  • 隨著機器學習的興起迅速流行起來,也可以單獨作為腳本使用
  • 適合快速搭建中小型服務器
  • 腳本語言的通病,不適合開發大型項目,較難維護和重構
  • 一些服務器使用底層 c/c++、上層 python 開發

C++

  • 系統級編程語言,常用于系統軟件或嵌入式
  • 高性能
  • 學習成本高,開發效率低,內存不安全,非常容易寫出 bug
  • 曾經是游戲服務器常用的語言(據說騰訊游戲多使用c++),但現在可以用 Java、Go、Rust 等代替
  • 非跨平臺,但問題不大,服務器一般是 Windows 開發,Linux 運行,Visual Studio 本身就支持這一點

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

Node.js

  • 使用 js 語言,適合前端人員開發后端
  • 適合做 serverless 開發
  • 除此之外 Node.js 在性能、高并發、易用程度上并沒有獨特優勢

PHP

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

Go

  • 語法簡潔、設計良好,易于學習,開發效率高
  • 運行效率較高
  • 便于開發高并發服務器
  • 目前發展很快,很多公司都開始用 Go 開發 Web 服務器 、游戲服務器或系統級應用
  • Go 沒有繼承只有接口,這不是一個缺點,方法覆蓋并不符合里氏替換原則,很難維護

Ruby

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

Rust

  • Rust 是系統級編程語言,性能可媲美 c 語言
  • 有獨特的內存安全機制
  • 微軟發現 70% 的操作系統 bug 是空指針等內存安全問題造成的,于是嘗試用 Rust 代替 c/c++
  • 可用于開發高性能服務器
  • 學習成本高
  • 類庫較少

Lua

  • 腳本語言,可用于擴展 c/c++
  • 常用于編寫游戲服務器的上層邏輯

Erlang

  • 函數式語言
  • 便于開發高并發、分布式服務器
  • 常用于游戲服務器、消息系統等

.NET

  • .NET 是一個平臺,支持 c#、VB、ASP等語言,有一個類似JVM的公共語言運行庫,Web 開發用到 ASP.Net、ASP.Net MVC、ADO.Net 等
  • 用于開發 Windows 服務器,目前也支持跨平臺
  • 適合開發大型項目

開源游戲服務器框架

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

編程語言族譜

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。