1. Dotnet9首页
  2. C++
  3. C++相关

如何啃下C++这块复杂又难学的硬骨头?

C++,一门名声在外的编程语言。作为一门多范式的通用编程语言,它适用的领域非常广泛,小到嵌入式,大到分布式服务器,到处可以见到 C++ 的身影。 

它的发展前景也非常广阔,作为未来趋势的人工智能和机器学习,外衣是Python(模型描述),但是内核还是 C++(高性能运算) 。 

此外,中国几乎所有大学计算机专业都会开设 C++ 课程,它也就成了很多人初入编程的第一语言,为什么 C++ 会受到这么大的关注呢?我总结了 3 点它的核心竞争力: 

  • 抽象能力:这意味着较高的开发效率,同时,更重要的是,不会因抽象而降低性能。
  • 性能:虽然完成同样的功能,C++ 需要的代码行数可能是 Python 的三倍,而性能则可以轻松达到 Python 的十倍以上。
  • 功耗:不管是移动设备,还是服务器,我们都越来越关注功耗。使用 C++ 通常意味着低功耗,电池能跑更长时间,服务器少花点电费。

然而,C++ 也是出了名的复杂、难学、难用。这样一来,熟练的 C++ 程序员也就自然而然获得了“水平很高,薪资很高”的名声。所以这也不完全是件坏事。 

C++ 已经 40 岁了,但它仍然是一门非常流行且具有活力的语言。继沉寂了十多年,并终于发布语言标准的第二版——C++11——之后,C++ 以每三年一版的频度发布着新的语言标准,每一版都在基本保留向后兼容性的同时,提供着改进和新功能。 

这些新功能让很多人望而生畏,以为学习成本非常高。但这是一种误解——这些新特性以及相关的编程实践,恰恰让 C++ 开发很多东西变得更为容易。 

这些新功能是什么?为什么让C++变得更容易了?我想你可以在专栏《现代C++实战30讲》中找到答案。想高效学习 C++?我特别认同专栏作者前 Intel 资深软件架构师吴咏炜列出的这份学习路径,作者深耕 C++ 语言 30 年,相信肯定对你有帮助:  

如何啃下C++这块复杂又难学的硬骨头?

相信你学完《现代C++实战30讲》专栏后,能把 C++ 当作一种实用的语言,能用它写出抽象但自然的代码,能对现代 C++这一熟悉而又陌生的语言有一个新的理解,能用它去更好地解决项目中的实际问题。

 我始终相信,静下心来好好学习 C++,会让你受益终生,也会让你的编程之路走得更远

如何啃下C++这块复杂又难学的硬骨头?
扫码或者点击我的海报试看

吴咏炜是谁?

吴咏炜,深耕 C++ 30 年的老程序员,前 Intel 资深软件架构师。 

他 1995 年毕业于复旦大学,从事软件开发工作 20 多年,历任开发工程师、项目经理、开发经理、架构师等职务。 

他热爱软件技术,热爱 C++,热爱开源;对于精炼、易于维护的代码追求不懈。他曾参与翻译《编程大师访谈录》。GitHub 上也能看到他在业余时间维护的一些小开源项目,如 libunibreak。

学习本专栏需要什么基础?

本专栏分为以下四大部分: 

基础篇,讲解现代 C++ 中的最重要特性,帮助你理解基础概念;

提高篇,讲述几个独立的专题,帮助你掌握 C++ 中的一些高级技巧;

实战篇,则讨论实际的工具和第三方库,帮助你打磨手头的兵器库;

未来篇,讨论 C++20 中即将引入的一些新特性,帮助你培养前瞻性。 

希望大家留意的是,学习本专栏需要满足下面这些条件:

1. 适宜人群:具有 1~5 年工作经验的 C++ 程序员,熟悉基本编程概念和 C++ 的基本语法,包括指针、引用、异常、递归、class 等(不要求熟悉 C++11),有意愿了解更深入的 C++ 知识。

2. 不适宜人群:完全没学过 C++ 的人(本专栏非 0 基础课程)。

3. 专栏中的内容大部分时间都会使用不超过 C++17 标准的语言特性,最后在讲到 C++20 新特性时,某些实验功能可能会要求某个特定的编译器,更多细节请参见[课前必读]。

4. 由于专栏涉及到的都是较短的代码,故作者不会提供工程文件,建议你熟悉编译器的命令行,来快速编译代码。 

特别说明:专栏中案例+代码偏多,不建议仅通过音频学习,“文稿+音频+动手实践”为最佳学习方式。一些语法和规则细节,部分也会在文末提供参考资料。 

学完本专栏,你将收获什么?

希望你在学习了本专栏之后,能够知道某个 C++ 的功能为什么存在和应该在什么情况下使用。那样的话,本专栏的目的就达到了。下面是本专栏的目录,可以一览你将会学到的内容:

如何啃下C++这块复杂又难学的硬骨头?

相信学完本专栏,你一定会有下面四个方面的收获:

  • 1. 掌握 C++ 语言现代特性
  • 2. 领会 C++ 抽象表达精髓
  • 3. 实践 C++ 开发惯用模式
  • 4. 征服复杂性解决实际问题

感兴趣的朋友可点击下方我的海报或者按钮了解:

如何啃下C++这块复杂又难学的硬骨头?
扫面上图二维码,免费试看👆

原文出处:极客时间

原文链接:https://time.geekbang.org/column/intro/100040501?code=BvmEG-vh3ZpdWCdW7przkEnh8noiYpQOC6zv%2FSrbdhA%3D

本文观点不代表Dotnet9立场,转载请联系原作者。

发表评论

登录后才能评论