| 订阅 | 在线投稿
分享
 
 
当前位置: 王朝网络 >> c/c++ >> 透视“语言大战”:C++呼唤敏捷实践
 

透视“语言大战”:C++呼唤敏捷实践

2008-06-01 02:10:55 编辑來源:互联网 繁體版 评论
 
 
  以Linus Torvalds的一番言论为导火索,国内的技术博客们掀起了一场不大不小的“语言大战”。是否真如Linux之父所说的那样,“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极轻易产生彻头彻尾的垃圾(total and utter crap)。”孟岩的切身经验颇值得玩味:

  我早在N年前就发现自己写程序速度慢,我当时对STL远比四周人熟悉,照例说长缨在手,应该效率很高才对。结果发现不是,写程序的时候非凡没自信,总在想:“这样固然是可以work了,但恐怕有更好的方案吧,会是什么呢?加个模板参数试试?要么抽象出一个基类?做一个bridge模式?那么Ownership的问题怎么解决?谁来负责回收内存呢?移植一个boost::shared_ptr过来吧!可多线程情况下会不会拖慢速度呢?应该不会,可是会碰到循环引用的情况。要么在中间搞一个weak_ptr把循环链断开?哎呀不行不行,太复杂,别人也理解不了。还是先这样吧,能work就行。” 就这样,兜了一个圈子回来。有的时候,这个圈子不是纯柏拉图式的,我会真的实现不少 “优化” 设计来比对,那个时间啊,花花的就耗在里面了。

  另一位资深的C++程序员刘未鹏则这样感叹:

  群众是轻易被误导的,我也曾经是。以为把握了更多的语言细节就更牛,但实际却是那些语言细节十有八九是平时编程用都用不到的。C++中众多的细节虽然在库设计者手里面有其用武之地,但普通程序员则根本无需过多关注,尤其是没有实际动机的关注。一般性的编码实践准则,以及基本的编程能力和基本功,乃至基本的程序设计理论以及算法设计。才是真正需要花时间把握的东西。

  显而易见,在C++这种语言上,人们投入了大量精力、撰写了大量图书和文章来关注它的语言细节,却对在真实环境下使用它解决问题的最佳实践重视不足。假如这还不够糟糕的话,不妨再看看C++在项目层面上的最佳实践——几乎没有任何成文的资料存在。当灵敏实践对于Java、.NET、Ruby等等社区的开发者逐渐成为常识时,C++程序员们还要花大把时间去学习摸索如何写一个好的makefile、如何组织自己的项目目录结构,更不用说持续集成和测试驱动开发了。

  但C++团队仍然需要灵敏实践。据记者的了解,国内有多家从事电信、铁道等行业应用开发的IT企业已经痛感缺乏项目组织手段和质量保证手段带来的问题,并希望通过引入灵敏实践来改善项目质量,提高工作效率。在C++项目中引入灵敏方法,至少需要以下几方面的最佳实践作为支撑:

  ·项目自动化:如何在make等现有工具的基础上,通过合理的项目组织,实现项目构建、集成、测试的完全自动化。

  ·测试驱动开发:如何引入以CppUnit、CxxTest为代表的单元测试工具,并以测试驱动功能代码的开发。这个话题又可以引申出两个方面:

  ·面向对象设计:针对某一特定领域的软件应用,如何进行合理有效的面向对象设计,使之有可能进行单元测试;

  ·mock:如何为C++应用引入mock技术(甚至是IoC容器),从而简化单元测试。

  ·持续集成:如何加快集成的频率,将C++项目与现有的持续集成工具(例如CruiseControl)结合起来,使集成状态成为项目健康情况的重要标示信息。

  ·重构:如何有效利用现有工具,对规模较大的C++程序进行重构;如何避免使用对重构构成障碍的语言特性。

  正如记者所指出的,C++的灵敏实践正在日益受到相关IT企业和开发团队的重视,但这方面的系统研究和资料仍然非常欠缺,给希望引入灵敏实践的C++团队造成了巨大的障碍。经验丰富的C++程序员们假如投入更多的精力来讨论和总结“如何用C++做好一个项目”,会给整个行业带来更大的价值。
 
 
 
上一篇《C&C++论战之C++真的还有未来吗?》
下一篇《C语言库函数 (A类字母)》
 
 
 
 
 
 
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

如何磨出破洞牛仔裤?牛仔裤怎么剪破洞?

把牛仔裤磨出有线的破洞 1、具体工具就是磨脚石,下面垫一个硬物,然后用磨脚石一直磨一直磨,到把那块磨薄了,用手撕开就好了。出来的洞啊很自然的。需要猫须的话调几...

我就是扫描下图得到了敬业福和爱国福

先来看下敬业福和爱国福 今年春节,支付宝再次推出了“五福红包”活动,表示要“把欠大家的敬业福都还给大家”。 今天该活动正式启动,和去年一样,需要收集“五福”...

冰箱异味产生的原因和臭味去除的方法

有时候我们打开冰箱就会闻到一股异味,冰箱里的这种异味是因为一些物质发出的气味的混合体,闻起来让人恶心。 产生这些异味的主要原因有以下几点。 1、很多人有这种习...

 
 
 
  以Linus Torvalds的一番言论为导火索,国内的技术博客们掀起了一场不大不小的“语言大战”。是否真如Linux之父所说的那样,“C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极轻易产生彻头彻尾的垃圾(total and utter crap)。”孟岩的切身经验颇值得玩味:   我早在N年前就发现自己写程序速度慢,我当时对STL远比四周人熟悉,照例说长缨在手,应该效率很高才对。结果发现不是,写程序的时候非凡没自信,总在想:“这样固然是可以work了,但恐怕有更好的方案吧,会是什么呢?加个模板参数试试?要么抽象出一个基类?做一个bridge模式?那么Ownership的问题怎么解决?谁来负责回收内存呢?移植一个boost::shared_ptr过来吧!可多线程情况下会不会拖慢速度呢?应该不会,可是会碰到循环引用的情况。要么在中间搞一个weak_ptr把循环链断开?哎呀不行不行,太复杂,别人也理解不了。还是先这样吧,能work就行。” 就这样,兜了一个圈子回来。有的时候,这个圈子不是纯柏拉图式的,我会真的实现不少 “优化” 设计来比对,那个时间啊,花花的就耗在里面了。   另一位资深的C++程序员刘未鹏则这样感叹:   群众是轻易被误导的,我也曾经是。以为把握了更多的语言细节就更牛,但实际却是那些语言细节十有八九是平时编程用都用不到的。C++中众多的细节虽然在库设计者手里面有其用武之地,但普通程序员则根本无需过多关注,尤其是没有实际动机的关注。一般性的编码实践准则,以及基本的编程能力和基本功,乃至基本的程序设计理论以及算法设计。才是真正需要花时间把握的东西。   显而易见,在C++这种语言上,人们投入了大量精力、撰写了大量图书和文章来关注它的语言细节,却对在真实环境下使用它解决问题的最佳实践重视不足。假如这还不够糟糕的话,不妨再看看C++在项目层面上的最佳实践——几乎没有任何成文的资料存在。当灵敏实践对于Java、.NET、Ruby等等社区的开发者逐渐成为常识时,C++程序员们还要花大把时间去学习摸索如何写一个好的makefile、如何组织自己的项目目录结构,更不用说持续集成和测试驱动开发了。   但C++团队仍然需要灵敏实践。据记者的了解,国内有多家从事电信、铁道等行业应用开发的IT企业已经痛感缺乏项目组织手段和质量保证手段带来的问题,并希望通过引入灵敏实践来改善项目质量,提高工作效率。在C++项目中引入灵敏方法,至少需要以下几方面的最佳实践作为支撑:   ·项目自动化:如何在make等现有工具的基础上,通过合理的项目组织,实现项目构建、集成、测试的完全自动化。   ·测试驱动开发:如何引入以CppUnit、CxxTest为代表的单元测试工具,并以测试驱动功能代码的开发。这个话题又可以引申出两个方面:   ·面向对象设计:针对某一特定领域的软件应用,如何进行合理有效的面向对象设计,使之有可能进行单元测试;   ·mock:如何为C++应用引入mock技术(甚至是IoC容器),从而简化单元测试。   ·持续集成:如何加快集成的频率,将C++项目与现有的持续集成工具(例如CruiseControl)结合起来,使集成状态成为项目健康情况的重要标示信息。   ·重构:如何有效利用现有工具,对规模较大的C++程序进行重构;如何避免使用对重构构成障碍的语言特性。   正如记者所指出的,C++的灵敏实践正在日益受到相关IT企业和开发团队的重视,但这方面的系统研究和资料仍然非常欠缺,给希望引入灵敏实践的C++团队造成了巨大的障碍。经验丰富的C++程序员们假如投入更多的精力来讨论和总结“如何用C++做好一个项目”,会给整个行业带来更大的价值。
󰈣󰈤
 
 
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
赏心悦目的模特儿(9)
赏心悦目的模特儿(8)
赏心悦目的模特儿(7)
赏心悦目的模特儿(6)
周六一日游--绿野翠蜂场(一)
骆驼峰
下一站上环
杂乱的几张Danang
 
>>返回首页<<
 
 
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 热帖排行
 
 
 
 
©2005- 王朝网络 版权所有