The choice of programming language is still a passionate topic for many developers. However, managers and IT departments have clearly weighed in with their own preferences. Only six languages can expect a net increase in investment. The top two, HTML and scripting languages for Web sites, are a breed apart, because of their use in narrow contexts. They’re included in our data only because they are used so frequently in enterprise development projects.
In true application programming, notable declines occurred in C and C++. (See “C and C++ give way to managed code.”) Today, fortune smiles only on Java, C#, dynamic languages (such as Python, Ruby, and the like), and Visual Basic. What do all these
Click for larger view.
To be sure, C and C++ are not on the verge of extinction. Older programming languages, such as Ada, Fortran, assembly language, and proprietary 4GLs (fourth-generation languages) declined even more, though these products’ market share has been in steady decline for years. More importantly, most respondents indicate that they will continue to invest in C/C++ at a similar level to this year’s. Still, the long-term trend is clear.
Readers who enjoy seeing a more frequently updated report card on the respective positions of programming languages can consult Tiobe Software’s Web site, which displays a monthly language index based on worldwide availability of skilled engineers, courses, and third-party, language-specific tools. As of November 2005, this index, too, showed C++ in a slow decline, with corresponding increases in Java and C#.
Getting applications right
Modeling has definitely emerged from the confines of academia and government projects into mainstream business development -- due in part, no doubt, to the complexity of today’s enterprise applications. Data modeling and process modeling are popular, with process modeling expecting a 14 percent jump at sites this year. Adoption of modeling tools increases steadily with the size of the company, measured by the number of employees at a site. The larger the company, the more likely it is to use modeling.
This trend derives directly from modeling’s principal benefit: It captures large systems, thereby diminishing the gap between user requirements and developer specifications. This gap was one of the two principal challenges developers complained about in our survey, with 40 percent of respondents reporting that it was a major problem at their site. The other top challenge was time pressure, which was cited by 46 percent of respondents.