你懂得C++越多,它就伤害你越深

前些天有个朋友问我,要不要去读读《Effective C++》,我忽然给出一个建议:不要读,最多看一下目录就好了。


作为一本非常受欢迎的C++教材,我为什么要建议朋友不要读呢?事后我反思了一下我的想法:《Effective C++》其实是通过教授你技巧,而让你在深渊方向越走越深。精通C++的程序员常常会写出一万行规模的class,以及继承派生关系犹如蜘蛛网的classes,然后以代码仍然能稳定运行而自诩。

这根本就是本末倒置。与其写出复杂的代码勉强能运行,我倒是宁愿代码在变得复杂之前就不稳定!然后程序员被烫了手,就知道代码要写得简洁了。

《Effective C++》可以让你在初期避免被烫手,让你能够写出较大复杂度的程序而不出错;这种技巧怎么说呢,也不是没用,但是大多数人实际上会滥用这种技巧。把本该用设计和架构来解决的问题,硬生生用技巧给掩盖了。


正确的使用C++的方法,应该是C with class,这是C++的本源。构造和析构函数,是C++最有价值的部分。高深的技巧比如copy constructor、shared_ptr、操作符重载、私有继承、多继承,长远来看将使代码变得复杂而难以维护。想想ANSI C的程序员,他们是怎么做事的,有了class已经强大太多了,不要贪心!


作为佐证:Tiobe的语言排名里面,C排到第一了,而C++却长期下降。

我认为以《Effective C++》为代表的技术取向,要为C++的这种失败担负一些责任。


转载于:https://www.cnblogs.com/hehe520/archive/2012/04/19/6330384.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值