Who's Number One?
Java, VB, or C++?
Three market research firms give widely divergent and contradictory answers.
by Jim Fawcette
Posted January 9, 2002
For years, the pecking order has been clear: Visual Basic was the most widely used language, Java the fastest growing, and C/C++ the most powerful, but relegated to a shrinking niche of highly skilled programmers.
While many people anticipated that the transition to .NET, improved Java IDEs, the move to XML Web services, and introduction of C# would scramble the language totem pole, recent introduction of three, contradictory market research reports surprised us at Fawcette Technical Publications, Inc. Every one of these reports picks a different leader:
Visual Basic is still the dominant leader in number of programmers using that Microsoft language, according to the Gartner Group, although Java is expected to catch up in a few years.
C and its derivatives are strong leaders, according to the International Data Group.
Java is the leading programming language by a slim margin over C/C++ with VB a distant trailer, according to Evans Research.
We first became aware of this controversy when we interviewed [url=http://www.fawcette.com/javapro/2002_01/online/online_eprods/sueltz/part1/]Patricia Sueltz, EVP of Software for Sun Microsystems. She quoted a study by Evans Research that showed Java as the most widely used programming language ("Evans North American Developer Survey, Volume 2, October 2001"). While Evans declined to comment on any portion of the study or its methodology, which was done for Sun, we did get more detail from Sun itself.
According to Sun, the Evans study shows that, "Now more than half of all developers (54.2%) use Java some portion of the time. ?respondents expect their Java use to increase next year with 57.9% of respondents expecting to use Java at least some of the time next year. ?[While for C/C++,] only a little over half of respondents, 51.1%, use C/C++ at all."
The picture for Microsoft Visual Basic is even dimmer with planned usage showing "?a slight decline ?as only 47.9% expect to use it next year."
Figure 1. Three Views
Gartner says VB is number one, but that Java will catch up. IDC says C/C++ is number one with Java a distant fourth, while Evans says that Java is already the leader.
When the editors of FTP's Java Pro began rubbing the noses of their cohorts at Visual Studio Magazine and .NET Magazine in these numbers, those editors started doing their own digging. First, Gartner Group's take:
According to Mark Driver, research director at Gartner, "Today, Visual Basic is the world's most popular programming language. At Gartner we estimate that nearly half the world's professional programmers leverage VB (approximately 3 million VB programmers). Out of a total worldwide market of 7.5 million developers, Gartner sees the market as divided this way:
45% of developers worldwide use VB (~3 million)
18% use Java (1.2 million)
25% use C++ (~1.75 million)
1% use C#
But by 2006, the picture changes significantly, in Gartner's view:
40% of developers worldwide will use VB
40% will use Java
15% will use C++
25% will use C#
Mr. Driver expands on his company's perspective in a column for .NET Magazine.
Now, things are heating up, so we went to a third firm, International Data Corporation (IDC), which is associated with ComputerWorld and InfoWorld magazines, hoping for a tie breaker. Instead, what we found was another, widely divergent opinion.
According to IDC (The 2001 IDC Professional Developer Model Analysts: Stephen D. Hendrick and Ludovica Bruno), when you ask for primary language use, the results are: "Make no mistake, C/C++ is the leading primary language for application development. Although it is easy for Java to steal the spotlight because it is a new language, the reality is that C and C++ have a tremendous following, and vendors like Microsoft are working hard with products like C# to keep it that way."
Further, "There are between 2.6 and 3.0 million professional developers who use C and C++," according to IDC. Visual Basic (VB) occupies the number-two position, with between 1.0 and 2.3 million professional developers identifying it as their primary language. 4GL and various RAD languages are third with 1 million users, COBOL is used by 909,000 developers, while Java is way down in the number-five slot. "Java, which ranks fourth as a primary language, shows strong signs of growth. With between 846,000 and 1.1 million professional developers building Java applications, Java, in six years, has become well established as a key language. We also are not surprised to see that only 512,000 professional developers are engaged in maintenance of Java applications—likely stemming from the fact that because Java is a young language, most professional developers still see their activities with Java as being development centric," according to IDC.
When the editors of FTP's Java Pro began rubbing the noses of their cohorts at Visual Studio Magazine and .NET Magazine in these numbers, those editors started doing their own digging. First, Gartner Group's take:
According to Mark Driver, research director at Gartner, "Today, Visual Basic is the world's most popular programming language. At Gartner we estimate that nearly half the world's professional programmers leverage VB (approximately 3 million VB programmers). Out of a total worldwide market of 7.5 million developers, Gartner sees the market as divided this way:
45% of developers worldwide use VB (~3 million)
18% use Java (1.2 million)
25% use C++ (~1.75 million)
1% use C#
But by 2006, the picture changes significantly, in Gartner's view:
40% of developers worldwide will use VB
40% will use Java
15% will use C++
25% will use C#
Mr. Driver expands on his company's perspective in a column for .NET Magazine.
Now, things are heating up, so we went to a third firm, International Data Corporation (IDC), which is associated with ComputerWorld and InfoWorld magazines, hoping for a tie breaker. Instead, what we found was another, widely divergent opinion.
According to IDC (The 2001 IDC Professional Developer Model Analysts: Stephen D. Hendrick and Ludovica Bruno), when you ask for primary language use, the results are: "Make no mistake, C/C++ is the leading primary language for application development. Although it is easy for Java to steal the spotlight because it is a new language, the reality is that C and C++ have a tremendous following, and vendors like Microsoft are working hard with products like C# to keep it that way."
Further, "There are between 2.6 and 3.0 million professional developers who use C and C++," according to IDC. Visual Basic (VB) occupies the number-two position, with between 1.0 and 2.3 million professional developers identifying it as their primary language. 4GL and various RAD languages are third with 1 million users, COBOL is used by 909,000 developers, while Java is way down in the number-five slot. "Java, which ranks fourth as a primary language, shows strong signs of growth. With between 846,000 and 1.1 million professional developers building Java applications, Java, in six years, has become well established as a key language. We also are not surprised to see that only 512,000 professional developers are engaged in maintenance of Java applications—likely stemming from the fact that because Java is a young language, most professional developers still see their activities with Java as being development centric," according to IDC.
Part of the difference can be explained by the questions asked: While Evans and Gartner ask about use, the IDC study asks for "primary language." FTP asks the question both ways in its magazine readership studies and sees significant differences in the results. Because Java is a newer language, there are many programmers that do some of their work in Java, but have not yet made Java their principal development language. Similarly, more than a third of professional developers who use Visual Basic also use C/C++ to build components or compute-intensive objects, as well as device drivers.
Still, the extent of the discrepancies is unusual.
Other causes of the variations between these studies might be their samples—that is, the manner in which they found selections of the audience to measure—and their methodology. Because Evans would not respond to questions on its approach, we can't be certain of how the Evans study was done. A Microsoft spokesperson, not surprisingly, disagrees strongly with the Evans results. Through its PR agency, Microsoft responded that:
"The Evans methodology is flawed: Evans relies on subscription lists from rather obscure industry journals to find its respondents. The journals used change from wave to wave, and there is apparently no attempt to maintain consistency or validate the representative nature of its sample. Evans says it 'tries' to achieve a balanced sample, but is unable to articulate any steps it takes to do this. Furthermore, its criteria for qualifying a person as a 'professional developer' are too loose and prone to picking up non-professional developers. The figures cited by Evans for Java usage among professional developers are nearly double what we know from our own research and that of IDC.
"Evans claims 52%, while Microsoft's research shows 27%, and IDC's Professional Developer study shows similar proportions. Evan's Java growth analysis is not supported by either Microsoft's research or that of IDC, and Evans' data does not support the 10% Java usage growth it cites," according to the Microsoft spokesperson.
Microsoft's own research shows that "a significant majority" of developers use Visual Basic, with "Visual C++ showing roughly one third of VB users, and Java showing approximately one fourth of VB users." These are domestic, U.S. numbers only.
Reviewing past Evans Research reports would support the argument that Evans' audience selection is skewed toward a mix of low-end, academic, and C-conference attendee lists. Of course, research coming from Microsoft lacks the credibility of research from an independent firm, and Microsoft chooses to share only snippets of its research. However, Microsoft's approach appears to be the most rigorous of all. Every month, banks of telephone staff randomly dial phone numbers of American households and a literally ask if anyone there programs. This eliminates the inevitable skewing of results that comes from using anyone's lists.
Regardless, the competition between development languages is bound to heat up, just as the quantifiable differences between syntax and IDEs diminishes. The good news is, that whomever you're rooting for, you can find evidence in these studies to make you happy.