Learn how C++ developers use the language, according to an Evans Data survey, and what distinguishes them from other programmers.
In any profession, expertise is often a matter of knowing which tool is best for a given job, and choosing the right one to solve the challenge at hand. Programming languages are tools, too, and each has found its problem-solving niche among the developers who adopt those languages.
With its well-established history—C++ is now considered an "old" language—its users don't look for flashy features or revolutionary new ways to solve new kinds of development problems. Instead, as we learn from examining statistics provided by Evans Data Corp., a market research firm that specializes in software development trends, programmers who use C++ for at least part of their programming are interested in raw power that gets them down to the (nearly-)bare metal. If you had to pick the C++ programmer out of a crowd of car owners, your best guess would be the sports car driver who'd never consider an automatic transmission.
ADVERTISEMENT
Let's start with the assumptions. Microsoft targets its C++ compilers primarily to developers who write commercial applications (Independent Software Vendors, or ISVs). To some degree, this is an accurate assumption: according to the most recent EDC North
American Developer Survey (Spring, 2004), developers who use C++ at least part of the time are somewhat more likely to be an ISV than are those who never use C++. But well over half the C++ developers who responded to the EDC survey are not ISVs. In fact, value added resellers (VARs) and computer consultants are as willing to use C++ as they are to use other languages. C++ use has, however, lost its luster within enterprise settings: only half as many in-house developers use C++ as choose other languages.
Let me clarify something here, before I go further: When I say that a programmer uses C++, I mean that she uses the language at least some of the time. She may also use C#, Java, Visual Basic, Python, Ruby, or any number of other languages.
Few programmers use only one programming language. Most rely on a suite of languages to solve a variety of needs and to support the multiple environments with which most programmers work. However, it's instructive to compare the developers who have C++ in their
toolbox with those who never use C++ at all, which is what I'm doing here.
Another assumption is that C++ is used primarily by embedded system developers. While the primarily isn't so, this is certainly a major language for programers who write the software that runs in set-top boxes (anything from a cell phone to a camera to industrial equipment). Developers who use C++ are almost three times more likely to write applications for embedded systems.
While C++ developers are no more-or-less likely to write wireless applications than are those who eschew the language, they're twice as likely to be working today on writing or porting their applications to a 64-bit architecture.
But that's far from the only thing they do. C++ isn't especially popular among developers who write database applications, Web applications, or business logic development. Instead, developers who use C++ are significantly more likely to write software utilities, development tools, scientific applications, games, operating systems, or front end development. In other words: it's what you do that matters, not who you are.