After HTML and Javascript, C++

Surprising factoid: after HTML and Javascript, C++ is the language most used by non-professional developers (including students, hobbyists, etc.). This based on some of our internal research over the past 4 years (statistically significant sample, but US-only). I would have expected VB or maybe a dynamic language. Or even C (which showed up much farther down the list).

Well, at least it surprised *me*.

Comments (12)

  1. orcmid says:

    That reminds me, are there any stats that can be shared on how the 5 million and growing VS Express Edition downloads divied up by kit (VC++, VC#, Web Developer, etc.)?

    If you look at the variety of C/C++ books for beginners, and the fact that C/C++ is taught in a pretty platform-independent manner, this, along with its popularity in colleges, should maybe not be so surprising.  As I recall, the Advanced Placement Computer Science curriculum was, until moved to Java recently, based on use of C/C++ too.

    And many of those books (and on-line resources) provide simple compilers and lightweight IDEs that may be less daunting for beginners too.  You think?

  2. Mitch Denny says:

    Hi John,

    I think it would be interesting to slice those statistics a little bit more. What is the breakdown across languages where the platform being used is exclusively Windows?

    Does that change it much?

  3. Xepol says:

    You obviously forgot that Linuxites are all C++ hobbiest.

  4. johnmont says:

    Xepol, no I didn’t. Two things: The hobbyist definition is a non-pro developer, so anyone who gets paid to write code at any time is excluded (they’d be an after-hours pro). Second, only about 10%-15% of non-pro devs target Linux (same survey). Even if 100% of those were C++ devs (and they probably aren’t given the other languages available on Linux), the numbers still aren’t high enough. Language usage seems consistent for HTML, Javascript, and C++ across OS correlations.

  5. johnmont says:

    Dennis, I don’t remember the exact numbers, but VWD and VB Express were the two top-downloaded products. Following a ways behind were C++ and VC#. A long way behind that was VJ#.

  6. johnmont says:

    Mitch, I don’t think it’s a platform thing — I think Dennis’s analysis is right: C++ is still the lingua franca across OSes and app styles and it’s still the #1 language taught in most CS curricula. (I even think I read that C++ usage in academia is growing – evidently Java peaked and is now leveling off or even shrinking in academia.)

  7. mheller says:

    Hmmm. There was a time when it would have been FORTRAN, because that’s what all scientists and engineers learned. Can you correlate this with their academic course work?

  8. johnmont says:

    We have some data that shows the bulk of academic coursework in 4-year CS curricula is C/C++ (secondarily Java). 2-year coursework I think is VB and a few other languages.

  9. orcmid says:

    I’ve done some browsing in course catalogs and campus bookstores in the Seattle area.  My experience confirms the data that John provides.  I am also not surprised about the breakdown of VS 2005 Express Edition downloads, but knowing the actual ranking is helpful.  

    I also see a tendency of satellite campuses to lean toward the same mix as community colleges.  

    [My short list of great college bookstores consists of the University Bookstore (main Seattle store, hometown advantage [;-), the Stanford University Bookstore on the Ave in Palo Alto, and the Columbia University Bookstore up Broadway.  This is not based on a large sample.  My preferred shopping for their required textbooks is actually, especially the used & new third parties, which can beat campus bookstore prices quite handily.]

    Oh: To my surprise, C and Fortran are still taught at the college level in engineering-related courses.  But the U of W Fluency in Information Technology uses HTML and JavaScript (perfect for VWD) and I see Squeak being used in a course or two.  I think I saw Scheme, Python and Ruby too, but I wasn’t paying careful attention to those.

  10. Al says:

    After trying to learn C++ on a Mac and running into all kinds of compiler problems (I have no doubt they were small problems, but to a beginner they were show stoppers), I broke down and switched to Java (with Eclipse for the IDE) and am sailing.  So, at least for me, OS/platform had some bearing on my choices.  That said, as soon as I feel comfortable with Java, I’m going to go try tackling C++ again – because it does appear to be the lingua franca.

  11. Nick says:

    I think it’s a prestige thing.  C++ is considered by many to be the language that "real programmers" know, whether that’s deserved or not.  When you tell someone that you write C++, you often times get that "wow" look.

    So its possible that people might have been lying on the survey to look more impressive, or they’re trying to learn it so they can look impressive to others.