游戏服务器语言选择,游戏服务端一般用什么语言

  游戏服务器语言选择,游戏服务端一般用什么语言

  语言比较语言版本TIOBE排名垃圾收集类型系统性能Web后端非Web后端特性Java142是中Python3.83是动态低C 174高不适合Node.js147*是,动态低PHP7.48,动态低不适合Go1.1412,中Ruby2.713,动态低不适合Rust1.4420,高不适合独特的内存安全机制Lua5.438,动态低不适合C/C . Erlang 233NET开发的windows server * 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语言,适合前端开发和后端开发。除此之外,Node.js在性能、高并发、易用性上也没有什么独特的优势。世界上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是一个支持c#、VB、ASP等语言的平台,拥有类似于JVM的通用语言运行时。Web开发使用了ASP.Net、ASP.Net MVC、ADO.Net等。开发Windows服务器,目前还支持适合开发大型项目的跨平台开源游戏服务器框架语言特性(仅供参考)。github star other pomeloNode.js易于扩展和分发,适合小游戏。作者是网易Skynetc lua消息处理框架10.9k,作者是网易冯云KBEnginec Python,适合大型MMO4kleafgo游。框架3.6kmqantgo分布式微服务框架1.9kgoworldgo分布式1.5kcellnetgo分布式3.2kpitayago分布式0.6 ksutc # Python lua游戏框架1.2kCuberitec《我的世界》服务器3.2kagonesgo分布式基于k8s 3.2 knoahgameframec # Lua可扩展分布式可用于MMO moba 2.5 etc #和Unity3d使用3.5k编程语言系谱https://www.levenez.com/lang/lang.pdf.

游戏服务器语言选择,游戏服务端一般用什么语言