C++,一门声名在外的编程语言。作为一门多范式的通用编程语言,它适用的领域非常广泛,小到嵌入式,大到分布式服务器,到处可以见到 C++ 的身影。
如果小伙伴不想把时间全用在增删改查之类的实现上,也许可以考虑学习C++语言,并选择一个领域。
游戏行业:几乎所有3A游戏都是使用C++编写的。大众公认电子游戏的开发者是软件行业里回报最高的工作之一,也是需求量最大的领域之一。
因为速度非常重要,所以编写高效的代码就是最基本的要求。
除了要懂C++之外,精通游戏开发更应注重理论与模式的钻研,而不限于特定的API或者Library。通常还必须具备高超的图形与数学技能,这些知识足够你活到老学到老。
HPC:以极限速度处理数据,要求对底层硬件有深刻的理解,这类知识可以直接应用在语言中。
通用图形处理器(GPGPU)及CUDA、OpenCL之类的并行计算框架的出现,引发了对有这类技术的C++程序员的需求。
如果深入到科学计算领域,还有很多能做的工作。不知道小伙伴们是否听说过机器学习?这是当今的热门话题。
编译器:不知道小伙伴们听说过LLVM项目吗?LLVM项目如此成功,以致于很难找到一种既未使用LLVM库编写前端,也没有使用LLVM生成字节码的流行语言,而这些全都是C++。
尽管编译器是以各种语言编写而成,但其背后的实现原理是相同的。我们使用优化器、静态分析程序、调试程序、标准库、链接器以及所有其他相关的工具来工作。
金融领域:除此之外,金融领域也有很多工作需要有能力编写低延迟代码的程序员。在这个领域,数学背景也是一大加分亮点。
该领域的大多工作可能都涉及到开发与维护高频使用的交易平台。
另外如果不想挂着程序员的名头,这个领域也是很棒的选择。可以说负责设计并实现金融数学模型的宽客(Quant)职位是所有程序员中最有可能获得高额奖励的。
这些领域的共通点在于:无法通过数量取胜——这就是C++程序员不可替代的一个重要原因.
而C++的发展前景也非常广阔,作为未来趋势的人工智能和机器学习,外衣是 Python(模型描述),但是内核还是 C++(高性能运算) 。
此外,国内几乎所有大学计算机专业都会开设 C++ 课程,它也就成了很多小伙伴初入编程的第一语言,为什么 C++ 会受到这么大的关注呢?
抽象能力:这意味着较高的开发效率,同时,更重要的是,它不会因抽象而降低性能。
性能:虽然完成同样的功能,C++ 需要的代码行数可能是 Python 的三倍,而性能则可以轻松达到 Python 的十倍以上。
功耗:不管是移动设备,还是服务器,我们都越来越关注功耗。使用 C++ 通常意味着低功耗,电池能跑更长时间,服务器少花点电费。
然而,C++ 也是出了名的复杂、难学。上手和熟练掌握都较难,因此也比较容易出错、被误用。
但这样一来,熟练的 C++ 程序员也就自然而然获得了“水平很高,薪资很高”的名声。