`
touchmm
  • 浏览: 1037698 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Programming Languages Table-By Capers Jones

阅读更多

Programming Languages Table

Release 8.2, March 1996

By Capers Jones, Chairman, Software Productivity Research, Inc.

© Copyright 1997 by Software Productivity Research, Inc. All Rights Reserved.


What Is A Language Level?

As language levels go up, fewer statements to code one Function Point are required. For example, COBOL is a level 3 and requires about 105 statements per Function Point.

The numeric levels of various languages provide a convenient shortcut for converting size from one language to another. For example, if an application requires 1000 non-commentary COBOL statements (level 3), then it would take only 500 statements in a level 6 language (such as NATURAL) and only 250 statements in a level 12 language (such as OBJECTIVE C). As you can see, the average number of statements required is proportional to the levels of the various languages.

Do Language Levels Affect Productivity?

The correlation between the level of a language and development productivity is not linear. For most large software projects, coding amounts to only about 30 percent of the effort.

Assume a program is written in a language that is twice the level of a similar program, for instance level 6 versus level 3. In this example, the coding effort might be reduced by 50 percent. But the total project might be improved by only 15 percent, since coding only comprised 30 percent of the original effort. Double the level of the language again to a level 12. That will only give an additional 7.5 percent net savings. Once again, coding is halved. But coding is not a major factor for very high level languages.

More accurate economic productivity rates can be gained by examining the average monthly Function Point production rates associated with various language levels. Table 1 looks at how language levels affect productivity.


Table 1. Language Level Relationship to Productivity

LANGUAGE LEVEL        PRODUCTIVITY AVERAGE
                        PER STAFF MONTH
--------------      -------------------------
    1 - 3            5 to 10 Function Points
<br>
4 - 8 10 to 20 Function Points
<br>
9 - 15 16 to 23 Function Points
<br>
16 - 23 15 to 30 Function Points
<br>
24 - 55 30 to 50 Function Points
<br>
Above 55 40 to 100 Function Points
<br>

What Is The Basis For Language Levels?

The languages and levels in Table 2 were gathered in four ways.

  • Counting Function Points and Source Code
  • Counting Source Code
  • Inspecting Source Code
  • Researching Languages
Counting Function Points And Source Code

Actual counts of Function Points and source code statements were performed. Samples of counting Function Points and source code statements were done on Ada, several BASIC dialects, COBOL, PASCAL, and PL/I.

Counting Source Code

Source code statements were counted, then compared to the size of the same program in languages of known levels. Assembly, APL, C, OBJECTIVE C, FORTH, FORTRAN, LISP, PILOT, and PROLOG are languages that produce the same source code count as COBOL. So code sizes were compared to the known quantity of COBOL source code.

Inspecting Source Code

Source code inspection for common applications was done. Then the volume of code for the application in a measured language was hypothesized. ACTOR, CLARION, and TRUE BASIC are examples of languages that were inspected and their levels hypothesized by subjective means.

Researching Languages

Research was done by reading descriptions and genealogies of languages and making an educated guess as to their levels. KL, CLOS, TWAICE, and FASBOL are examples of languages that were assigned tentative levels merely from descriptions of the language, rather than from actual counts.

For spreadsheets the ordinary concepts of a language do not apply. In this case, formulas, labels, and constants were considered to be statements.


List Of Programming Languages

As of 1996, there were more than 500 languages and major dialects of languages available to software practitioners. Table 2 lists the most common of them in what is considered version 7 of the SPR Programming Languages Table.


Table 2. Programming Languages and Levels

LANGUAGE LEVEL AVERAGE SOURCE STATEMENTS PER FUNCTION POINT
1032/AF 20.00 16
1st Generation default 1.00 320
2nd Generation default 3.00 107
3rd Generation default 4.00 80
4th Generation default 16.00 20
5th Generation default 70.00 5
AAS Macro 3.50 91
ABAP/4 20.00 16
ACCEL 17.00 19
Access 8.50 38
ACTOR 15.00 21
Acumen 11.50 28
Ada 83 4.50 71
Ada 95 6.50 49
ADR/DL 8.00 40
ADR/IDEAL/PDL 16.00 20
ADS/Batch 16.00 20
ADS/Online 16.00 20
AI shell default 6.50 49
AI SHELLS 6.50 49
ALGOL 68 3.00 107
ALGOL W 3.00 107
AMBUSH 10.00 32
AML 6.50 49
AMPPL II 5.00 64
ANSI BASIC 5.00 64
ANSI COBOL 74 3.00 107
ANSI COBOL 85 3.50 91
ANSI SQL 25.00 13
ANSWER/DB 25.00 13
APL 360/370 10.00 32
APL default 10.00 32
APL*PLUS 10.00 32
APPLESOFT BASIC 2.50 128
Application Builder 16.00 20
Application Manager 9.00 36
APS 19.00 17
APT 4.50 71
APTools 16.00 20
ARC 6.50 49
Ariel 3.00 107
ARITY 6.50 49
Arity PROLOG 5.00 64
ART 6.50 49
ART-IM 7.00 46
ART Enterprise 7.00 46
Artemis 8.00 40
AS/SET 17.00 19
ASI/INQUIRY 25.00 13
ASK Windows 7.00 46
Assembly (Basic) 1.00 320
Assembly (Macro) 1.50 213
Associative default 5.00 64
Autocoder 1.00 320
awk 15.00 21
Aztec C 2.50 128
BALM 3.00 107
BASE SAS 6.00 53
BASIC 3.00 107
BASIC A 2.50 128
Basic assembly 1.00 320
Berkeley PASCAL 3.50 91
BETTER BASIC 3.50 91
BLISS 3.00 107
BMSGEN 9.00 36
BOEINGCALC 50.00 6
BTEQ 25.00 13
C 2.50 128
C Set 2 3.50 91
C++ 6.00 53
C86Plus 2.50 128
CA-dBFast 8.00 40
CA-EARL 11.50 28
CAST 6.50 49
CBASIC 3.50 91
CDADL 16.00 20
CELLSIM 7.00 46
Centerline C++ 6.00 53
CHILI 3.00 107
CHILL 3.00 107
CICS 7.00 46
CLARION 5.50 58
CLASCAL 4.00 80
CLI 10.00 32
CLIPPER 17.00 19
CLIPPER DB 8.00 40
CLOS 15.00 21
CLOUT 8.00 40
CMS2 3.00 107
CMSGEN 17.00 19
COBOL 3.00 107
COBOL II 3.00 107
Cobol/400 3.50 91
COBRA 16.00 20
CodeCenter 9.00 36
Cofac 9.00 36
COGEN 9.00 36
COGNOS 9.00 36
COGO 4.50 71
COMAL 4.00 80
COMIT II 5.00 64
Common LISP 5.00 64
Concurrent PASCAL 4.00 80
CONNIVER 5.00 64
CORAL 66 3.00 107
CORVET 17.00 19
CorVision 22.00 15
CPL 2.00 160
Crystal Reports 16.00 20
CSL 6.50 49
CSP 6.00 53
CSSL 7.00 46
CULPRIT 25.00 13
CxPERT 6.50 49
CYGNET 17.00 19
Data base default 8.00 40
Dataflex 8.00 40
Datatrieve 16.00 20
dBase III 8.00 40
dBase IV 9.00 36
DCL 1.50 213
DEC-RALLY 8.00 40
Decision support default 9.00 36
DELPHI 11.00 29
DL/1 8.00 40
DNA-4 17.00 19
DOS Batch Files 2.50 128
DSP Assembly 2.00 160
DTABL 7.00 46
DTIPT 7.00 46
DYANA 4.50 71
DYNAMO-III 7.00 46
EASEL 11.00 29
EASY 6.50 49
EASYTRIEVE + 25.00 13
Eclipse 6.50 49
ED-Scheme 3.4 6.00 53
EDA/SQL 27.00 12
EIFFEL 15.00 21
ENFORM 7.00 46
English-based default 6.00 53
Ensemble 11.00 29
EPOS 16.00 20
Erlang 8.00 40
ESF 8.00 40
ESPADVISOR 6.50 49
ESPL/I 4.50 71
EUCLID 3.00 107
EXCEL 1-2 51.00 6
EXCEL 3-4 55.00 6
EXCEL 5 57.00 6
EXPRESS 9.00 36
EXSYS 6.50 49
Extended Common LISP 5.75 56
EZNOMAD 9.00 36
Facets 16.00 20
FactoryLink IV 11.00 29
FAME 9.00 36
FileMaker Pro 9.00 36
FLAVORS 11.00 29
FLEX 7.00 46
FlexGen 11.00 29
FOCUS 8.00 40
FOIL 6.00 53
Forte 18.00 18
FORTH 5.00 64
FORTRAN 66 2.50 128
FORTRAN 77 3.00 107
FORTRAN 90 4.00 80
FORTRAN 95 4.50 71
FORTRAN 3.00 107
FORTRAN II 2.50 128
Foundation 11.00 29
FOXPRO 1 8.00 40
FOXPRO 2.5 9.50 34
FRAMEWORK 50.00 6
G2 6.50 49
GAMMA 20.00 16
Genascript 12.00 27
GENER/OL 25.00 13
GENEXUS 21.00 15
GENIFER 17.00 19
GeODE 2.0 20.00 16
GFA Basic 9.50 34
GML 7.00 46
Golden Common LISP 5.00 64
GPSS 7.00 46
GUEST 11.50 28
Guru 6.50 49
GW BASIC 3.25 98
Haskell 8.50 38
High C 2.50 128
HLEVEL 5.50 58
HP BASIC 2.50 128
HTML 2.0 20.00 16
HTML 3.0 22.00 15
Huron 20.00 16
IBM ADF I 16.00 20
IBM ADF II 18.00 18
IBM Advanced BASIC 3.25 98
IBM CICS/VS 8.00 40
IBM Compiled BASIC 3.50 91
IBM VS COBOL 3.00 107
IBM VS COBOL II 3.50 91
ICES 4.50 71
ICON 4.00 80
IDMS 8.00 40
IEF 23.00 14
IEW 23.00 14
IFPS/PLUS</font
分享到:
评论

相关推荐

    Metrics And Models In Software Quality Engineering 2Nd Edition

    This is the single best book on software quality engineering and metrics that I've encountered."-Capers Jones, from the Foreword

    Metrics and Models in Software Quality Engineering, Second Edition

    "This is the single best book on software quality engineering and metrics that I've encountered."-Capers Jones, from the Foreword &lt;br&gt;Metrics and Models in Software Quality Engineering, Second ...

    软件质量工程的度量与模型.pdf(全英文版)

    据Capers Jones在前言中的评价,这是他所遇到的关于软件质量工程和度量方面的最佳著作。该书全面探讨了软件质量工程这一软件开发中的核心话题,并提供了广泛的行业实例。 书中重点讨论了质量度量与模型的四个主要...

    Capers Android pdf+ Snorkel Developer Guide pdf

    c/C++ web 应用在android上的转换 包含一个ppt文档和一个developer guide,保留这里备用。 1. android NDK, for web applications 2. Snorkel provides basic web server capabilities for natively built ...

    安全左移理念,腾讯DevSecOps如何实践?.pdf

    根据Capers Jones的研究,缺陷在开发后期被发现和修复的成本更高。 【腾讯DevSecOps实践】腾讯的安全团队采用了以下策略来实践安全左移: 1. **面向开发人员的代码安全指南**:针对开发人员编写代码时可能面临的...

    capers:对着电脑玩跳棋,从书本上学习草稿游戏

    要自己编译,请克隆 repo 并从项目目录发出“make”,然后运行“./capers”。 目录概览: ./ 应用程序启动器、主 Makefile、许可证、杂项 蛋糕/ Martin Fierz 的蛋糕引擎 陈词滥调/ cb-engines的命令行主机,MF的...

    英文版 Metrics and Models.pdf

    6. **使用功能点度量来衡量软件过程改进**(Capers Jones著):通过功能点度量来评估软件过程改进的效果。 ### 理论、技术和实例的完美结合 本书不仅包含了理论知识,还有具体的技术方法和丰富的实例分析,非常...

    Shift_Left在开发安全中的应用.pdf

    根据Capers Jones的数据,85%的缺陷在开发阶段就已引入,而且大多数缺陷在测试阶段才被发现。此外,随着软件生命周期的推进,修复缺陷的成本会显著增加。因此,通过在早期阶段实施安全实践,可以更有效地管理和预防...

    software_quality_survey_2010

    《2010年软件质量调查》是一份深入探讨软件质量现状的研究报告,由Capers Jones撰写并由Software Productivity Research LLC出版。该报告基于1984年至2010年间收集的数据,覆盖了大约675家公司在全球24个国家的13,...

    CRM的一本好书

    此外,作者还感谢了一众业界专家和评审,他们为书籍提供了现实世界的视角和专业意见,包括Brian Berliner、Joy Blake、James Craig、Capers Jones、Kelly Mooney、Robin Neidorf、Marcia Robinson、David Linthicum...

    非常好的Scrum资料

    Capers Jones,一位前IBM员工和软件生产力研究(SPR)的创始人,指出发现和修复缺陷的成本随着开发阶段的推移而显著增加。例如,如果一个缺陷在编码阶段被发现,修复成本可能只有$16,000,但在生产环境中发现的话,...

    17 管理变更请求1.PDF

    Capers Jones的研究指出,需求扩展是多数项目面临的风险,尤其是当它们发生在需求基线确定之后。迟到的变更会严重影响已完成的工作,可能导致项目无限期延长。因此,控制项目范围扩展是必要的。这包括明确系统愿景、...

    功能点计数计算方法.pdf

    这种方法最初由Capers Jones于1985年提出,旨在建立逻辑源代码语句与国际功能点用户组(IFPUG)功能点指标之间的直接转换关系。通过大量的实际案例研究,“回火”法能够较为准确地预测软件项目的规模和工作量。 ###...

    Agile Scrum

    根据Capers Jones的研究,缺陷发现得越晚,修复的成本越高。例如,在代码阶段发现的缺陷成本远低于在测试或生产环境中发现的。因此,寻找和修复缺陷的早期策略对于降低整体项目成本至关重要。 ### Scrum简介 Scrum...

    UML基础知识与应用

    - 博文链接:https://capers.iteye.com/blog/407717 (可能提供更深入的UML学习资料) - 书籍推荐:《UML 2.0 从入门到精通》、《UML简明教程》等。 综上所述,UML是软件工程中不可或缺的一部分,通过掌握UML的基础...

    C++进阶:内存泄漏与缓冲区溢出的检测

    NULL 博文链接:https://capers.iteye.com/blog/407755

    NAT与防火墙穿透

    NULL 博文链接:https://capers.iteye.com/blog/407753

    西餐中英文菜单.doc

    头盘及沙拉类是西餐的开胃菜品,它们通常包括腌熏三文鱼(Smoked Salmon)、腌三文鱼(Marinated Salmon with Lemon and Capers)、凯撒沙拉(Caesar Salad)等。这些菜品以新鲜食材和独特的调味品组合,为后续的...

Global site tag (gtag.js) - Google Analytics