
C++
根据你的描述,这里提到的后端主要指的是Web后端开发领域。在这一领域,
C++近十几年来确实一直不太主流。如果你的目标是从事Web后端开发,那么首选语言通常是
Java,其次是
Python,而用
C++来写Web后端简直是自找麻烦。然而,当我们把后端这一概念扩展到更广泛的非前端(包括
客户端如PC、APP、小程序等)开发时,
C++依然有一定的地位。毕竟,并不是所有功能都适合用
Java实现。那么,为什么
C++尽管被批评多年,却仍然在许多场景中被广泛使用?主要有以下几个原因:1. 性能:这是
C++的核心优势之一。虽然C语言同样具备优秀的性能表现,但在大型项目中,面向对象的设计方式让
C++更加易于管理和维护。当然,这并不是说C语言无法应对大型项目——事实上,许多卓越的大型软件(例如
linux内核、
Windows内核、Nginx、Suricata和Wireshark核心等)都是用纯C编写的。不过,相比其他完全面向对象的语言(如
Java),
C++在性能上往往更具竞争力。2. 历史积累:很多企业的现有产品和技术框架已经积累了多年的经验,技术轮子也基本完善。以
腾讯为例,轻易更换技术栈可能带来风险和责任问题,因此这些企业通常不会贸然改变现有的技术路线。甚至在某些
公司,使用
C++已经成为一种政治正确,新人如果试图替换它,可能会与许多依赖于此技术的人产生冲突。总体来看,
C++更适合那些对性能要求极高、软件复杂度较大且可能存在历史包袱的团队。这类场景通常涉及大量数据处理任务,例如:- 存储系统:CEPH- 数据库:ClickHouse- 游戏引擎:
使命召唤系列- 浏览器内核:Chromium- 图像处理软件:PhotoShop- 网络流量分析工具:Zeek- 高级语言虚拟机:JVM这些领域主要集中于游戏、云计算、存储和网络安全等行业。但你可能会问,国内真正从事这些方向的软件开发
公司又有多少?实际上,国内大部分IT岗位所在的
公司属于
互联网+类型,即利用
互联网技术服务于传统行业,比如
房地产、金融、教育或
白酒等领域。这些
公司的业务核心并非IT技术本身,而是将IT技术作为一种工具,用来支持其传统业务发展。因此,这些
公司的IT岗位通常采用
Java后端+前端的模式,工作内容也多围绕数据库的增删改查展开。显然,这些
公司几乎不会
招聘C++开发者。在国内,能够提供
C++相关岗位的企业大致分为以下几类:1. 头部大厂:如
华为、字节跳动、
腾讯、
百度等。2. 游戏
公司:尤其是大型或中型游戏厂商。3. 网络安全企业:专注于流量处理、沙箱、检测引擎等技术。4. 数据库和存储
公司:专注于数据库和存储解决方案的开发。综上所述,
C++虽在国内整体需求较少,但在特定领域依然不可或缺。对于有志于从事高性能计算、底层开发或特定行业应用的开发者来说,掌握
C++仍然具有重要意义。