本文来源于:微信公众号“北京达内教育”(bjtedu01),关注后免费可获得达内5天训练营,都是干货哦~
都说Java是世界上最受误解的语言,其实C++何尝不是。
现在网上流传的错误的C++学习方法一抓就是一大把。很多人在学习C++的过程中也走了许多弯路,浪费了不少时间。我自己也是。走了不少弯路。所以在码农的世界中,Java逐渐有了统一江湖的味道。昔日的霸主C++虽面临失宠,却一直坚守着自己的传统领域。
C++的语法灵活丰富,支持底层调用,是大多数操作系统的编程语言,也是游戏开发和图像处理领域的首选。然而正因为它灵活多变的语法,以及对使用者编程素养的高要求,决定了它不能像Java一样迅猛发展。 你可能不是C++的拥趸。但如果你想深刻地理解编程的技术,让自己编写的程序变得更高效,更优雅,C++相关书籍值得花时间去读一读。
在学习C++的人当中,为什么会存在这么多错误认识?原因主要有三个,一是C++语言的细节太多。二是一些著名的C++书籍总在(不管有意还是无意)暗示语言细节的重要性和有趣。三是现代C++库的开发哲学必须用到一些犄角旮旯的语言细节(但注意,是库设计,不是日常编程)。这些共同塑造了C++社群的整体心态和哲学。
展开全文
单是第一条还未必能够成气候,其它语言的细节也不少(尽管比起C++起来还是小巫见大巫),就拿Java来说,作用域规则,名字查找,closure,for/in,这些都是细节,而且其中还有违反直觉的。但许多动态语言的程序员的理念我猜大约是学到哪用到哪罢。但C++就不一样了,学C++之人有一种类似于被暗示的潜在心态,就是一定要先把语言核心基本上吃透了才能下手写出漂亮的程序。这首先就错了。
这个意识形成的原因在第二点,C++书籍。市面上的C++书籍不计其数,但有一个共同的缺点,就是讲语言细节的书太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但无可厚非的是,C++是这样一门语言:要拿它满足现代编程理念的需求,尤其是C++库开发的需求,还必须得关注语言细节,乃至于在C++中利用语言细节已经成了一门学问。
学习最佳编码实践比学习C++更重要。看优秀的代码也比埋头用差劲的编码方式写垃圾代码要有效。直接、清晰、明了、KISS地表达意图比玩编码花招要重要…像C/C++这种系统级语言,在学习的过程中必须要涉及到一些底层知识,如内存管理、编译连接系统、汇编语言、硬件体系结构等等等等知识(注意,这不包括过分犄角旮旯的语言枝节)。这些东西也就是所谓的内功了(其实最最重要的内功还是长期学习所磨练出来的自学能力)。
所以说。C++零基础初学者学习C++,不要纠结该怎么学好,其实学习没有什么捷径,就是多练习,敲代码。有时间的时候就跟着老师学习,这样就少走弯路。不必有时候为了一个问题想了半天,还不得解决明白。
想学习更多的C++语言编程基础免费课程知识,可以参加北京达内12月份免费课程训练营,跟着大牛讲师一起学习交流吧!
本文来源于:微信公众号“北京达内教育”(bjtedu01),关注后免费可获得达内5天训练营,都是干货哦~