网上经常有人说“C++不行了”,那么你们为什么还教C++?

这其实是一个好问题,说明学员进行了调研、思考,知道了目前的编程语言的一些基本情况。我们也正式回复一下,首先,C++没有不行。Web盛行的时代,C++的应用领域是少了一些,其实是更专业化了一些。但仍然有大量的行业在应用C++,有的甚至还是古老的MFC,由于代码量巨大、运行稳定,迟迟没有替换,其实老板也找不出理由来替换。Java在Web时代风生水起,每个公司都在招聘Java人员。Java的职位数量是C++的100倍,但会Java的人是会C++的人的1000倍。所以,从这个层面来说,其实是一样的。只是太多的培训机构急于求成,快速赚钱,所以往往会选择Java语言教学。

我们为什么教C++呢?主要原因有两点,一是我们更擅长C++,毕竟有多年的实际经验;二是我们教的解决问题的思路,并不限于某种语言。当然,如果有学员想学Java、Python、C#,我们也能应用过几年,也可以教。

接着说解决问题的思路。我现在对面坐着的,是一个外包的小伙子,是这个月招进来的,他是培训机构Java出身的,培训了一年,学费3万多。我问他培训机构教的怎么样,他说挺好的。他是学Java的,但目前项目上有很紧急也很重要的事情,是Mac上编译ionic4.0的App,其他成员都在忙,而且没有人做过相应的工作。没办法,我就让小孟来做这项工作。小孟拿到苹果电脑,并不熟悉,也不知道怎样搭建环境,而且有老版本ionic1.0作怪,想把环境搭建好、并正常编译、打包,是件很有挑战的工作。小孟沉下心来研究,不断尝试,我也叫移动开发的同事帮着一块分析下问题,最终,不到一周的时间,ios版本App能正常编译运行了。移动开发的同事对小孟竖起了大拇指。

小孟在面临新的任务时,首先查找相应的知识内容,知道总体的工作路线,沿着路线一步一步克服问题,最终解决了问题。网上的资料鱼龙混杂,需要辩证看待,结合网上的资料,加上自己的思考判断,最终尝试出正确的方案,将问题解决了。这样的人,才是一个团队所需要的人。同样类似的工作,领导多次安排同事A做,但A总是强调说我的岗位是XXX,不是XXX工程师,最终A只能被开掉了。公司招你进来,是为了利用你的时间和技能解决问题,为公司创造价值的,而不是因为你是Java工程师,就不让你装个数据库了。

所以,解决问题的能力,才是一名程序员的核心技能。往往学习了C++的程序员,他要解决的问题更多,再学习其他语言,例如Java、Python等,相对来说简单很多,反正则不然。

这就是为什么我们主要教C++的一个回复吧。