新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 开发语言 > C++ > 正文:C++的救赎 C++开源程序库评话

C++的救赎 C++开源程序库评话

新客网 XKER.COM 2006-04-28 来源: 收藏本文


  我们可以更进一步探究开源C++程序库对于C++开发的重要意义。用C++编写可复用程序库时所需要的思想方法和技术风格,与用C++编写应用程序时所需要的思想方法和技术风格之间存在相当大的差异和差距。前者所需要的高超技术、丰富经验和良好的权衡能力,是很少有人能具备的。在所有程序设计语言中,你恐怕找不出第二种语言像C++那样,对于程序库作者的要求如此之高,以至于远远超过了一般“熟练”C++开发者的平均水平。在Lisp中,语言、库和程序根本就是一回事,每一个程序员写的代码都可以看成是语言本身的扩充。

  在Java、C、Perl、Python、Ruby中,一个优秀的应用程序开发者在积累一定经验之后,不难写出高质量的可复用代码。而在C++中,这种事情是非常罕见的,即使是天资卓越、经验丰富的大师级人物,也需要花费多年的打磨,历经几次反复,才能够最终推出受到一致认可的可复用程序库。此道之难,难于上青天,以至于Andrei Alexandrescu感叹道,十几岁的少年天才满目皆是,满鬓斑白的优秀程序库设计者凤毛麟角。而在另一个地方,一本C++可复用技术图书的作者总结道,所谓可复用的C++程序库,不可能是设计出来的,只可能是复用出来的。然而,一旦这样的程序库构造出来并且为人们熟悉,那么就会大大地简化应用程序的开发。这也就是为什么在2000年后,Bjarne Stroustrup无数次地呼吁社群专注程序库的开发。他很清楚,只有程序库能够救C++,只有程序库能够发展C++。

  现在我们知道,用来写C++程序库所需要的技术,与用来写C++应用程序所需要的技术存在很大的差别。这已经比较糟糕了。更糟糕的是,一般的C++开发者根本分不清这中间的差别,他们在开发中往往既不是一个称职的程序库开发者,也不是一个单纯的应用开发者。他们一边想着完成手头的工作,一边琢磨如何能够写出高质量的基础库和框架,为万世开太平。如果说C语言是一把轻快的小匕首,遇谁都是进身猛刺,血溅一尺,那么这种C++的使用方式无异于左手打铁铸兵,右手挥剑刺秦,这种精神分裂的状态直接将很多项目变成了既超期超支又质量低劣的垃圾。

  认识到这样的事实之后,C++程序员应当以更理性的态度来看待自己的工作。大部分情况下,你所需要做的是寻找一些可以互相合作的、稳定可靠的开源程序库,然后在其基础之上,面向目标,使用尽可能简朴的技术,专心专意地进行应用开发,把那些复杂精妙的语言技巧和“可复用”之类的想法扔到Java国去。唯其如此,你才可能更高效地开发出好的应用软件,而且会逐渐积累和重构出真正可复用的软件。

共2页: 上一页 [1] [2] 下一页
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐