从 0 开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
37243 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
从 0 开始学游戏开发
15
15
1.0x
00:00/00:00
登录|注册

第22讲 | 如何选择合适的开发语言?

小结
如何选择合适的语言
优劣势
编程语言用于编写服务器端

该思维导图由 AI 生成,仅供参考

有许多编程语言可以用来开发服务器端。一些语言对于网络开发有先天优势,一些语言没有先天优势,但是能完成任务,而有一些语言,则不太适合。今天,我就来具体讲一讲这些语言来开发网络服务的优劣势。

你了解这些编程语言吗?

C/C++ 是最标准的开发语言,速度快,并发性能高,能最大程度利用机器资源完成任务。现在 C/C++ 层面拥有无数网络开发库和 SDK,知名的有 ACE、Boost/Asio、ICE 等等。但是缺点是,开发效率不比别的语言来得高,出错后常常只有熟练的程序员才能定位问题并且作出修复。
Go 是 2009 年新出现的语言。Go 天生适合编写网络程序。它也是一种系统级的语言,可以直接编译为执行文件,当然由于封装了大量的语法糖,所以编译出来的文件会更大,它天生支持并发操作,所以很多时候你不需要像 C/C++ 一样手工去处理。缺点是,Go 语言仍然存在许多语法方面的坑,你可以去 https://studygolang.com/ 学习最新的资料。
Java 是公认的编写网络服务的第一大语言。在运行性能和开发效率上,有很好的折中效果。Java 拥有众多的中间件和开发库,调试方便,一般的运维人员也有极为广泛可用的第三方维护工具可以使用。缺点是,Java 的运行效率虽然有了质的飞跃,但因为中间隔了一层虚拟机,所以仍然比不上系统开发语言编写的软件。另外,Java 的发布和部署需要众多的依赖包和库,软件体积庞大也是其重要弊病。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

编程语言在服务器端的应用是多种多样的,每种语言都有其独特的优势和适用场景。C/C++语言以其快速的速度和高并发性能适合系统级开发,但开发效率较低。Go语言天生适合编写网络程序,支持并发操作,但仍存在语法方面的问题。Java被公认为编写网络服务的首选语言,具有良好的折中效果,但部署需要大量依赖包和库。Python和Ruby编写网络程序方便高效,但运行效率较低,适合IO密集型开发。Node.js适合分布式、数据密集型工作,但是单线程无法充分利用多核CPU。Erlang适合大规模并发、分布式系统编程,但存在类型问题。根据不同需求,选择合适的语言来编写网络服务。对于Web服务,可以选择Java、Python、Ruby;对于Socket服务,可以选择C、C++、Go、Erlang等语言。文章还提到了如何平衡两种服务之间的语言成本和程序员技术栈的问题。总的来说,本文总结了各种语言的特点和适用场景,为读者提供了选择合适编程语言的参考依据。文章还提到了Java语言的优势和弊病,以及针对特殊产品需求时的选择建议。文章内容丰富,为读者提供了对各种编程语言在网络服务开发中的应用有了更深的了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(5)

  • 最新
  • 精选
  • 栗芳凯
    Java7中,switch的参数可以是String类型了
    2018-07-31
    5
  • 神马*涛💋
    感觉就是念PPT,拓展之下知识面还行,,,
    2021-09-07
    4
  • 千军万马万马@
    2022年了
    2022-03-10
    1
  • yunyi
    哇。。。我就是一直用erlang的。第一次在文章中看到提到erlang的,赞
    2020-06-30
    1
  • ithunter
    思考题:用c++写底层如socket,用lua写业务
    2018-10-27
    1
收起评论
显示
设置
留言
5
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部