【亚马逊4.5分】这本精髓之书C++之父也爱不释手

文摘   2024-09-23 13:43   上海  

随着《黑神话:悟空》的爆火,其底层的开发语言也受到了大家的广泛关注!

《黑神话:悟空》采用虚幻5引擎打造,拥有出众的画面与视觉效果,包括新的光照系统、动态天气、全景光线追踪等技术加持,为玩家带来沉浸式的游戏体验。

而该引擎的底层源码主要就是使用C++来开发的。

对于C++,资深游戏开发专家@韦易笑老师说道:

实话说,今天学习C++比以前更具挑战性了。

一方面,新标准的引入提高了C++的安全性和描述力,但也增加了学习的难度;另一方面,过去大部分软件都用C++来开发,新人入职后通常先从小模块的开发开始,再逐步扩展到中模块、大模块,通过学习老同事的代码,在生产领域不断实践,总能一步一步提高编程能力,最终能设计较为复杂的大型系统。

然而,如今的新人并没有这种阶梯式的锻炼机会,他们的第一语言往往不是C++,而当他们用其他语言开发几年后遇到性能瓶颈需要用C++时,突然根本无法驾驭。

同时,掌握C++也成为一项愈加珍贵的技能。

新兴行业最初的各种基础设施和工具,大多是用C++构建的。

无论是十多年前的移动开发领域,还是四五年前的音视频领域,乃至当下热门的AI领域,都是如此。

例如TFLite、whisper.cpp和llama.cpp等这些都是C++项目,其中llama.cpp在GitHub上线两周内就获得了20,000个星标。

同时精通C++和Python的算法工程师,相较于只会Python的程序员,能获得更多机会,走得更远。

关于C++语法的知识,自己花点儿时间总能学会,但在实际项目中积累经验与领悟却需要很长时间。

不少人过于专注于穷尽语法的各个细节,却忽略了对大型复杂项目驾驭能力的培养,结果就是谈起C++标准来头头是道,在项目中写点儿复杂代码就垮了。

此时,《 C++之美:代码简洁、安全又跑得快的30个要诀》便能带大家脱离这种困境!

本书提炼和归纳了C++工程实践中的难点。

初读这本书,@韦易笑老师说:感觉很像是对过往认知的一次印证,不少准则让自己很有共鸣,比如优先使用函数默认参数而非重载,尽量减少可写变量的显示共享等,这些建议在项目初期可能不会显得特别重要,但随着项目复杂度的增加,忽视它们所带来的问题才会逐渐显现出来。

更隐蔽的是,当项目变得难以维护时,很多人可能无法意识到正是这些问题的积累导致了困境。

有些准则所描述的问题真的是多年的开发者才会遇到的“暗坑”,比如跨ABI需要使用C风格接口,优先选择不可变数据而不是可变数据,没有多年的C++编程经验是完全总结不出这些准则的。

本书挑出的30条核心准则能帮助大家更好地驾驭大型复杂C++项目。

如果说Effective C++总结了许多微观层面的“避坑”建议,那么本书则提供了一份宏观层面的“避坑”指南,特别适合在学习完语法,完成一两个玩具项目之后,真正开始做一些严肃项目时阅读。




C++之父力荐


C++之父Bjarne Stroustrup在谈及本书时说道:

我很享受阅读本书的过程。

我享受它,尤其因为它以一种与《C++核心准则》(C++ Core Guidelines,CG)本身完全不同的方式呈现了C++的核心准则。

CG以一种固定格式,相对简短地给出了各条准则。在CG中,这些准则通常是用编程语言的术语表达的,强调如何通过静态分析来实施。

本书却在讲故事,很多故事来自经历了几十年代码和技术演化的游戏行业。

它以开发者的视角讲解这些准则,强调遵循这些准则将会得到的好处,以及无视这些准则可能导致的噩梦。关于准则的动机,相比CG本身所阐述的内容,在本书中有更加广泛的讨论。

CG旨在达到一定程度的完整性。

当然,一套关于如何编写优良代码的准则难以达到彻底的完整性,而必要程度的完整性则意味着CG并不适合系统性阅读。我推荐各位阅读CG的前言和哲学部分,以了解其目标和概念框架。

但是,如果要在品味、视角和经验的指导下有选择地了解CG,那就阅读本书吧。

对真正的极客来说,本书是轻松有趣的读物。

对大多数软件开发者来说,它提供了新的、有用的东西。



《C++之美》这本书就像一位智慧的导师,以其深邃且富有诗意的语言,带领我们遨游C++的瑰丽世界,挖掘隐藏在复杂编程结构和算法背后的美学。

此书不仅是技术的教科书,还带领我们探索编程的本质和艺术,让我们在熟练掌握C++的同时,体会到编程本身的乐趣与成就感。

相信,《C++之美》将成为每位C++爱好者的宝贵手册。它不仅会伴随你度过那些漫长的编程夜晚,更会在你迷茫之际,成为指引你前行的明灯。

让我们共同启航,在《C++之美》的指引下,感受编程的纯粹与魅力,书写自己的编程传奇。

愿此书成为你编程之路上的灯塔,为你照亮通往更高成就的道路。


↑限时五折优惠↑


限时五折优惠,快快抢购吧! 


互动有奖

按以下方式与博文菌互动,即有机会获赠图书!

活动方式:在评论区留言参与你认为学习C++的难点在哪里”等话题互动,届时会在参与的小伙伴中抽取5名幸运读者赠送该书一本

活动时间:截至9月30日晚间8点开奖。

快快拉上你的小伙伴参与进来吧~~

CppGuide
专注于高质量高性能C++开发,站点:cppguide.cn
 最新文章