5.4 Programming Language


5.4 Programming Language

The specific programming language a project uses will affect your estimates in at least four ways.

First, as Figure 5-6 suggested, the project team's experience with the specific language and tools that will be used on the project has about a 40% impact on the overall productivity rate of the project.

Second, some languages generate more functionality per line of code than others. Table 5-3 shows the amount of functionality that several languages produce relative to the C programming language.

Table 5-3: Ratio of High-Level-Language Statements to Equivalent C Code

Language

Level Relative to C

C

1 to 1

C#

1 to 2.5

C++

1 to 2.5

Cobol

1 to 1.5

Fortran 95

1 to 2

Java

1 to 2.5

Macro Assembly

2 to 1

Perl

1 to 6

Smalltalk

1 to 6

SQL

1 to 10

Visual Basic

1 to 4.5

Source: Adapted from Estimating Software Costs (Jones 1998) and Software Cost Estimation with Cocomo II (Boehm 2000).

If you don't have any choice about the programming language you're using, this point is not relevant to your estimate. But if you have some leeway in choosing a programming language, you can see that using a language such as Java, C#, or Microsoft Visual Basic would tend to be more productive than using C, Cobol, or Macro Assembly.

A third factor related to languages is the richness of the tool support and environment associated with the language. According to Cocomo II, the weakest tool set and environment will increase total project effort by about 50% compared to the strongest tool set and environment (Boehm et al. 2000). Realize that the choice of programming language might determine the choice of tool set and environment.

A final factor related to programming language is that developers working in interpreted languages tend to be more productive than those working in compiled languages, perhaps as much as a factor of 2 (Jones 1986a, Prechelt 2000).

The concept of amount of functionality produced per line of code will be discussed further in Section 18.2, "Function-Point Estimation."




Software Estimation. Demystifying the Black Art
Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
ISBN: 0735605351
EAN: 2147483647
Year: 2004
Pages: 212

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net