C++究竟是写BUG神器,还是……

如果想了解更多内容,欢迎关注我的微信公众号:信息学竞赛从入门到巅峰。

 

回想入门OI的时候,老师总和我们强调:C++是最方便、最好用的语言

无可厚非,C++拥有诸如“algorithm”、“set”、“map”、“vector”等众多的算法库。直接使用现成的模板,大大提高了赛场上的解题速度,并且降低了由于各种原因敲错模板而导致 WA 0 的惨剧。

 

但是,在IT界,C++真的是最好用的语言吗?

我们先来了解一位IT界大牛。(图片来源百度百科,侵删)

没错,他就是Linus Benedict Torvalds。由于他凭借一己之力和自己简陋的设备,创造出了当今世界上最受欢迎的操作系统之一——Linux内核,而被称为Linux之父。

不仅如此,Linus还创造了Git(分布式版本控制系统)。他先后共两次推动了技术的革命。

那么,这么一位技术大牛是怎么评价C++的呢?

C++ is a horrible language. It's made more horrible by the fact that a lot  of substandard programmers use it, to the point where it's much much  easier to generate total and utter crap with it.

C++是一种可怕的语言。由于有很多不合格的程序员在使用它,这使得他变得更加可怕,以至于它更容易产生完全的且彻底的废话。

Linus的观点很鲜明。他犀利地指出了C++是一种可怕的语言。

其实,这是由于C++的“两面讨好”所引起的。C++即希望迎合程序开发时面向对象的编程范式,又希望能与C语言兼容,实现对底层的操作。

但是,由于C语言是一种面向过程的语言,其中的全局变量、指针等一大堆复杂的玩意儿直接将C++面向对象的封装性打破了。如果对内存进行操作,却又没有清晰的思路时,很容易写出 evil 的代码。

那么,有没有什么方法可以解决C++所出现的问题呢?

最重要的因素就是程序员个人。我们注意到了Linus的评价中的“substandard”一词,这说明C++是一把双刃剑。在不合格的程序员手中,C++是BUG制造机。而在优秀的程序员手中,C++则是第一生产力。

正确的使用C++,最重要的是知道我是谁?我在哪?我在干什么?。在这哲学三问之下,我相信任何人都用好C++。

 

最后的最后,只有受欢迎的语言才会有人批评,你说对不对呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值