跳到主要内容

服务端编程语言特性浅析

· 阅读需 3 分钟
Damas NanPu
Maintainer of Blog

流行的编程语言众多,它们的发明出现也有着各自的渊源和使命,它们也有各自擅长的开发领域。我们在实际项目中使用的时候就需要我们根据真实的需求(性能要求,规模大小,并发要求)来进行合理的选择了。

Python

编程语言流行排行榜位列甲位。

优点

  1. 流行度高,写法简单,上手容易
  2. 有大量数据分析三方库,适合数据分析
  3. 有多线程、事件循环机制可以满足日常后台服务性能要求
  4. 语言生态环境好

劣势

  1. 多线程有瓶颈,不能百分百利用硬件资源
  2. 弱类型语言

C/C++

优点

  1. 可以充分使用硬件资源,程序性能好
  2. 对CPU密集型任务友好
  3. 内存管理灵活,自主管理
  4. 语言生态环境好

劣势

  1. 入门有一定门槛,对编程能力有一点要求
  2. 内存管理灵活,自主管理

Golang

优点

  1. 较好的利用硬件资源,程序性能好
  2. 对CPU密集型任务友好
  3. 内存自动回收
  4. 高并发应用友好

劣势

  1. 其中的继承关系有点不太一样,需要重新理解

NodeJS

优点

  1. 基于事件循环机制,I/O密集型任务友好
  2. 对前端工程师友好
  3. 使用范围广泛

劣势

  1. 硬件资源利用率低
  2. 不适合CPU密集型的高并发任务
备注

I/O密集型任务

  • Web服务器应用
  • 实时聊天应用
  • 协同编辑应用
备注

CPU密集型任务

  • 数学计算和建模
  • 图像和视频处理
  • 加密和解密
  • 压缩和解压缩
  • 数据分析和科学计算
  • 3D 渲染和游戏引擎
  • 机器学习和深度学习