51

为什么要学 C++?这个门语言比你想象的更强大

 5 years ago
source link: http://www.10tiao.com/html/697/201807/2656331068/1.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

想必刚接触编程的很多同学心中一定有疑惑:“各种新语言层出不穷,Python、Java、C#,今天学习 C++ 的意义何在?”其实一个编程语言的价值应该从多个角度去看。


C++ 可以说是 C 语言的继承,20 世纪 70 年代中期,Bjarne Stroustrup 希望有一门语言既要编程简单、正确可靠,又要运行高效、可移植。1979 年,Bjame Sgoustrup 到了 Bell 实验室,开始从事将 C 改良为带类的 C(C with classes)的工作。1983 年该语言被正式命名为 C++。它既可以进行 C 语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。



自从 C++ 被发明以来,它经历了 3 次主要的修订,每一次修订都为 C++ 增加了新的特征并作了一些修改。C++ 擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而 C++ 就适应的问题规模而论,大小由之。C++ 不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。


C++ 能做什么?

在每年的 TIOBE 编程语言排行榜中,我们可以看到 C++ 一直保持在该榜单的前五名,为什么 C++ 的生命力一直这么旺盛?


因为 C++ 有一个最重要的特性,就是在某些领域具有不可替代的作用。驱动是要用 C++、启动代码是要用 C++、就连 Android 的的底层也和 C++ 脱不了关系。虽然 C++ 在很多大型应用中,无法施展拳脚;但在不少领域,却如同巨人一般又是不可或缺的顶梁柱。在游戏、HPC、编译器、金融财务领域等领域中,C++ 一直保持着唯我独尊的状态。


比如我们平时见到的最多的操作系统——Windows 操作系统就是用 C++ 实现的,生活中经常遇到的软件——QQ 和大多数输入法也是用 C++ 实现的。还有一些同学熟悉的 Scratch 也是用 C++ 来实现的。


游戏行业:几乎所有 3A 游戏都是使用 C++ 编写的。大众公认电子游戏的开发者是软件行业里回报最高的工作之一,也是需求量最大的领域之一。因为速度非常重要,所以编写高效的代码就是最基本的要求。

HPC:以极限速度处理数据,要求对底层硬件有深刻的理解,这类知识可以直接应用在语言中。通用图形处理器及 CUDA、OpenCL 之类的并行计算框架的出现,引发了对有这类技术的 C++ 程序员的需求。

编译器:LLVM 项目如此成功,以致于很难找到一种既未使用 LLVM 库编写前端,也没有使用 LLVM 生成字节码的流行语言,而这些全都离不开 C++。

除此之外,金融领域也有很多工作需要有能力编写低延迟代码的程序员。在这个领域,数学背景也是一大加分亮点。


如何学好 C++?

C++ 作为一个三十多岁的编程语言,网络上关于它的课程已经非常多了,你可以选择一些适合你的课程进行学习,比如学习计蒜客的《C++ 程序设计》课程。如果你目前没有计算机,那么阅读一些 C++ 书籍也是不错的选择,小蒜推荐你可以试着读一读《C++ Primer(第五版)》。


C++ 需要不断地练习。——vczh


计算机科学的学习实践是第一位,一边学习,一边练习是非常好的学习方式。在看懂教材后及时着手去写代码,千万不要停留在阅读后的满足。计算机是一门注重实践的学科,学习任何编程语言都需要不断地练习,有时间陶醉于阅读后的满足不如去写两行代码。


其次你可以利用你的兴趣,比如你看到一个好玩的游戏,你可以想想:“我怎么能做一个功能相似的小玩意出来?做不到的话我能不能做个简化版的?”用自己所学到的知识尝试实现一下,不管有没有结果,有尝试有思考就是进步。


当然,你也可以找一些开源项目进行练习。找一些小项目进行练习不仅能够提高你的编码能力,还可以在实践中发现自己的不足。通过不断地练习,你一定会成为你想变成的大神。


C++ 在学业上的优势

如果你是一名想参加信息学奥赛的中小学生,那么现在正处于非常适合学习 C++ 语言的时期。


C++ 是中国计算机学会指定的不久后的将来唯一可以在信息学竞赛中使用的编程语言,Basic、Pascal 和 C 语言将要退出信息学竞赛的舞台啦。


中小学生参加 NOIP(信息学奥赛)不仅能够培养自身的编程思维,对升学考试也是有非常大的帮助;大学生可以选择参加 ACM-ICPC 或蓝桥杯等竞赛,这些竞赛除了能够锻炼自己的算法能力,对毕业后找工作的帮助也是极大的。


既然 C++ 用途这么广,还不快来和小蒜一起来学 C++ 语言~


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK