好看的html代码,网站seo设置,做和别人类似的网站侵权吗,怎样做产品推广摘要#xff1a;C、C、Java这几个屹立不倒的开发语言#xff0c;如果以功能点作为单位的话#xff0c;谁的效率最高呢#xff1f;如果在项目初期就能确定功能点数量#xff0c;那么就可以很好的预测项目完成时间。这一点是不是对你很有帮助呢#xff1f; 一份6000个项目的…摘要C、C、Java这几个屹立不倒的开发语言如果以功能点作为单位的话谁的效率最高呢如果在项目初期就能确定功能点数量那么就可以很好的预测项目完成时间。这一点是不是对你很有帮助呢 一份6000个项目的比较结果表明编程语言的选择对项目进度有重大的影响。
我最近在开发者论坛上看到一个讨论有关JVM语言生产力编程效率方面的问题如果那些高效率的开发人员一旦离开了Java无需处理语言的冗长他们的编程效率会怎样会找到其他JVM语言来代替Java吗说实话这完全是一个似是而非的要求把简洁转化成生产力。简洁和底层技术使人们有可能相信其他的技术成本——可读性。另一个贡献者——动态类型可以允许在运行时报错并且会被静态类型捕获。一个给定语言的生产力编程效率是有许多因素决定的冗长仅仅是其中之一至于这是否是最大因素目前还不确定。
语言生产力编程效率的衡量常常被视为一种艺术而不是科学工作。或许因此有人认为它违背了精确测量这一标准并且有了失真方面的嫌疑。但是本文的作者Peter Hill带领了一组研究人员在软件工程上就硬件数据这一主题进行了研究。以功能点做为核心衡量单位在项目的需求阶段就开始测量功能点的数量它对许多组件进行了测量比如逻辑文件数量、接口文件、外部输入、外部输出和外部查询。它是一种可以给35年以上软件提供统一测量的一种方法。从本质上来讲它是基于可衡量的工件来估算功能总额的。一旦项目的功能点数量被确定你就可以进行其他方面的衡量并且还可以与其他大致相同数量的项目进行比较。
Peter小组ISBSG一个非营利性的软件研究小组已经聚集了6000个项目把功能点衡量的主要数据。从这些数据可以知道完成一个项目需要多少小时然后在映射到项目所用语言上。下图显示了他们研究结果 Language Hours Per Function Point ASP* 0.61 Visual Basic 0.85 Java 10.6 SQL 10.8 C 12.4 C 13.0 C# 15.5 PL/1 14.2 COBOL 16.8 ABAP 19.9
*表示经典的ASP.用于进行比较由ISBSG提供
这个数字是无可争议的。在表1上也似乎表明高级语言比低层次语言是更有生产力的。然而这一趋势又自相矛盾的语言设计主要是用于商业用途- COBOL和ABAP – 与通用编程语言相比反而会降低效率生产力。Hill指出语言并不是影响这些数字的唯一因素。项目类型你肯定不希望同一项目里面掺杂多种语言比如C和ASP、团队的规模与性质也会对上面的数字起着一定的作用。
尽管我希望C比C更具生产力并且希望Java也超过C和C但是C#排在这几个语言的最后仍让我非常吃惊我觉得它应该更接近Java特别是它们可以被使用在相类似的项目中。但是它排在VB的下面似乎是理所当然的。 Hill是一个非常谨慎的家伙他不会提供语言上统计数据除非他有个可借鉴的大项目。所以我猜测在我们知道如何提升脚本语言或者Java替代方案出来之前还需等一段时间。与此同时如果你能准确评估项目功能点那么你就可以参照上面这张表来预测项目完成时间啦