C++学到什么程度才能叫精通?

很有意思的问题,作为一个主要使用C++做开发超过十年的老码农,来聊聊我个人的一点看法。
这么说吧,C++是一门极度复杂的语言,而且随着新标准的提出,这种复杂性还在不断的增加中,所

本文最后更新时间:  2023-05-23 11:26:02

很有意思的问题,作为一个主要使用C++做开发超过十年的老码农,来聊聊我个人的一点看法。

这么说吧,C++是一门极度复杂的语言,而且随着新标准的提出,这种复杂性还在不断的增加中,所以说什么程度算是精通C++语言,其实是一个无法给出明确答案的问题。比如就我来说,使用了十多年的C++,可以轻松的使用C++设计一个方案并实现,比如用它实现过图像处理SDK,也用它做过IDE开发,即使如此,我也不敢说自己已经精通C++。原因很简单,你对这门语言的理解越深,也就越能发现诸多的不足,既包括自己的不足,也包括语言本身的缺陷与不足。举个简单的例子,我最开始学习的标准是C++98,可是后来又出现了C++03、C++11、C++14,甚至还有C++17,对于这些新标准出提出的内容,说实话,有些听过,有些甚至都没有听说过,更别说在实际应用中使用了,以此来说很难算是精通C++了。

不过话又说回来,有很多使用了多年C++的程序员,有着和我类似的情况,他们可以轻松的使用C++开发一个应用程序,但是C++中依然有他们未曾触碰的领域。所以我认为C++语言变得越来越复杂,想要完全掌握除了编译器和C++语言专家,其他人是可望而不可及了,要不然就连Linux之父——Linus Torvalds也会炮轰C++,说它是一门糟糕(horrible)的语言。

综上,我认为想要给出一个明确的精通C++语言的标准,是一件费力不讨好的事情,学习任何语言都是为了解决实际问题,所以只要你能够使用C++语言开发出好的应用,你就是一个合格的C++程序员。下面是几条熟练使用C++的需要掌握的技能:

1、最基本的要求自然是熟练掌握C++的基本语言,包括常用的和不常用的;

2、因为C++是一种面向对象的语言,所以要掌握面向对象程序(OOP)设计思想;

3、能够使用C++描述常用的数据结构,并实现在这些数据结构上的各种操作;

4、理解C++对象模型,比如对象指针、虚函数表等内容,以及类的构造过程,以及在此过程中编译器会在背后做那些事情等等;

5、能够使用C++做程序设计,这里除了基本的OOP思想外,最重要的是熟练应用设计模式;

最后,再对C++发一点牢骚,虽然我还在使用C++做开发(部分任务已经使用其它语言),但是我认为C++是一门尴尬的语言。谈效率吧,它不如C语言简单直接;谈面向对象设计吧,它又不如C#、Java等纯粹;谈开发效率吧,它又不如Python高效……太多的功能如模板、智能指针、多重继承等让这门语言变的越来越复杂,所以我是越来越不喜欢C++,并且建议程序员不要将C++作为首选开发语言。

 1/2    1 2 下一页 尾页
温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。