在编程语言中,C++属于编程语言的王者,它的优势秒杀其他一众编程语言。但是掌握它并非易事,它的难度也是王者级别的,做了很多年C++的程序员,本以为很熟悉这门语言了,却还是会在运用中发现有新的语法出现,之前掌握的很多套路出现了问题。有人调侃说“这个世界本来就是残酷的,所以你不能怪C++向你展示了世界的本质”“学习C++时的感觉就是,大家都觉得很难等你攀登到高峰的时候发现,原来前面还有比这更高的山峰,等着你去继续攀登”,以此吐槽C++的难度,那它为什么就这么的难学呢?
第一、源于C++语言的设计理念。
这个语言它本身是想通过一些列的规则,去克服C语言由于语法规则不清导致的运行错误。这一下就难倒了初学者。他们在学到泛型编程时,就会觉得编译过去太费劲,被众多的条条框框卡死,想要正常进行下去,就必须按照语法规则,但是这些个规则细节却是又多又散,干了好多年C++的程序员仍旧会对一些规则感到陌生,更不要提初学者。
第二、源于C++语言的更新速度。
这门语言的更新速度非常快,本身一直都在快速的进化中,所以对于不停升级的语言,程序员就必须要不断的去学习它,但是并不是说学习就有收获,有时候可能是在白费力气。当你在费了九牛二虎之力终于掌握了一些语法细节的时候,却发现更新完成的新C++中,已经不用这些语法了。让人很受打击,精神很受折磨。
第三、源于C++也是可以操作指针。
本身泛型编程就是比较难的,加上C++也是可以操作指针,更是加大了它的复杂性。极力追求既要求性能的极大优化,又要求编程模式灵活的极致化,就导致C++的负担的沉重。除此之外,还有你学习了很多C++的语法之后,发现你完全不能立马使用它们,因为这个语言压根没有告诉你怎么用,只告诉你不能怎么用,所以我们必须要等到了那个特定的场景,才可以运用它,心里上就很难去接受这种落差感,备受煎熬。
C++虽然难,但是它的应用非常广泛的,很多有名的软件框架都有着C++的影子。当我们进行面向对象的框架设计的时候,想要达到不影响效率,首选必定是C++;当前我们使用的安卓手机的框架层很多代码都是用C++完成;我们上网几乎天天都会用到的浏览器内核代码都是用的C++等等很多很多的例子。这就是为什么C++虽然难,但是很多编程大咖,架构师却非常喜欢用的原因。
在很多领域C++有着不可比拟的优势,当你掌握了这门语言,深深的把握它其中的规则之后,使用起来也是非常的顺畅的,这也解释了为什么这么难学的C++还有那么多人硬着头皮继续学,在与这门语言相爱先杀,他们也享受啃最有滋味的编程语言那种感觉,虽然痛,但也伴随着快乐!