优秀的编程知识分享平台

网站首页 > 技术文章 正文

C++和C++程序员面临淘汰?

nanyue 2024-12-10 19:03:21 技术文章 8 ℃

C++和C++程序员面临淘汰?

C/C++是十分古老的语言,C语言现在仍然广泛应用于系统开发和

很多计算机标准组织的协议实现。C++在程序设计的历史上也有着

不可磨灭的地位,由于它的抽象能力,使其在发展初期就以极快的

速度占据了半壁江山,在系统,图形,网络,等很多领域成为主角。

可以说其辉煌的历史也正在起到减缓其消亡速度的作用。

从世界范围的统计数据来看,C语言和Java的应用广泛度长期处于

绝对优势当中。而曾经和C语言平起平坐的C++虽然仍然可以排在

第三名,但应用范围和人数却在稳步下降当中。作为一个主要使用

C++的程序员不得不思考这个问题。C++标准10年如1日的没有变动,

我想并非不是它不需要改进,而是它正在面临淘汰的一种表现,标准

委员会的那些牛人们或许正在致力于新的语言的完善,而现实中却

还有很多新人正在努力进入这样一个可能没有未来的语言中。更可

怕的是学习这个语言会使大部分新手在初期便深陷一些误区当中

(具体的在后面提到)。

先说说C++和C语言的比较,C语言可以说是在一个特殊的领域和

群体当中得到了永生,那个群体是计算机界最疯狂的人,最崇尚自由

的人,这些人对性能和对机器的掌控要求除C之外再没有任何高级

语言可以满足,这些人的抽象能力强到只有没有任何抽象能力的语言

才能让他们感觉到自由(好像有点拗口)。C之所以永生,原因很

简单,就是它没有所谓的抽象,它简单到就是可以直接和机器对话,

所以就像汇编一样无法被淘汰和改进。还记得linux之父的C和C++

的争论,其实在那个领域C++确实是非常尴尬的地位,有点像东施

效颦。

再说说现在的新一代的面向对象的语言java和C#与C++之间的比较

C++曾经应用广泛的原因就在于虽然无法和C比性能和自由度,但其

抽象能力比C强大的多,所以在那个特殊群体之外的人们大部分选

C++来开发高性能程序,比如图形引擎,数据库,这种趋势就造成了

C++越来越接近应用开发。而这一层面的人才需求量大,应用多,

加上C++过于繁重的学习细节,造成了传说C++写出的垃圾代码数量

最多。打一个可能不恰当的比喻,C++就是C语言程序员当中一部分

需要抽象的人自己为自己量身定做的一个语言,可以说是面向对象

理念的实验品,所以当这些人有了经验之后再发明的java出现之后

C++就不再有任何优势。可以说底层的高性能要求的部分用C做,中间

和应用层用java或C#做,这样难道不比使用C++来的更完美吗?

刚才提到C++初学者很可能一开始便陷入可怕的误区,这才是这个

语言除了没用之外的最可怕的地方。相信很多多年使用C++的程序员

有时候会有一些感觉,就是曾经好像过多的精力投入到了语言的技巧

和细节中去,而这些细节是否对除C++以外的应用开发有正面作用

还值得推敲。所以当java程序员很早就开始注意模式的时候,我们

还在为多态的什么内存模式而争论的不亦乐乎,并非说讨论模式就

比讨论语言技巧高明,而是作为应用程序员来说,对比一下我们讨论

的话题,会让C++程序员感到无比的压力。现实中我也对比过一些

新手,曾经学习java或C#的人比学习C++的更容易理解软件的架构

和层次。这是很可悲的。

当然你可以说是因为那些学习C++的新手水平比较低,高水平的

C++程序员比高水平的C#程序员更有前途。我也很愿意相信这个观点

。但无论如何无法掩饰C++在应用领域显示出的疲态和压力。而且

如果让我劝诫新人的话,我更愿意让他们更多的精力来学习java和

C#,之后再学习C++可能会反过来对理解起到很好的作用。C++还有

很强的生命力,而这个生命力可能只是它从历史当中继承而来。它

的前途如何,其实我也不敢定论,只是希望更多的学习者不要陷入

到误区当中。

最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!

最近发表
标签列表