1. 12
  1. 11

    I know people always like to quibble over the methodology of these studies and offer folkloric reasons why their preferred language appears lower in the index than it “really” is, but the thing that always surprises me is just how low Visual Basic appears in the rankings. My mental model of the computer programming population is hierarchical:

    • 99% using Excel formulae
    • 0.9% using VBA macros in Excel
    • 0.09% using a more complicated VBA/VB setup
    • everyone else arguing whether Java, C, or Javascript is the most popular ever and how it’s surprising that Rust isn’t top 20 yet as everybody I know is kicking the tyres

    So I’m shocked to find that Java, C, or Javascript do so well in these popularity metrics.

    1. 6

      If I had to guess, I would think that perhaps many Visual Basic users–especially those using it as a scripting language in applications–don’t necessarily regard it as “programming”, thus reducing the incidence of the phrase “visual basic programming” in pages written by or for them. Note that “excel programming” is explicitly ignored by the tiobe index.

      I wish there was something like google ngram viewer, but for web pages instead of books. It could be a great help investigating questions like yours.

      1. 8

        Excellent observation. I have a related anecdote from academia: many scientists see R as a tool for data analysis, and not as a “programming language” and don’t consider their analyses “programs” or “scripts”. My jobs is to improve software engineering practise in research, and not everyone agrees that their thing they automate with a computer is “software”.

    2. 8

      I dislike the TIOBE Index and feel that it is inaccurate. While I personally really enjoy C (and C++) and would start new projects in it, my opinion is that C is not the number one language for the following reasons:

      1. Lack of careers/jobs featuring C. There are of course people who write embedded software and/or get paid to work on operating systems and these people probably are writing C but I personally believe that there are far far more people writing javascript and other higher level languages. Where are the “C bootcamps” for instance? Many universities do not even teach C (mine taught C++).

      2. TIOBE might be mixing other languages into the C pot. If you’re using C++ you’re probably writing some C code but these should be counted as C++. Job listings referencing “C/C++” should be in the C++ column. Same for Objective-C. People writing iOS software may end up writing some C but for the most part these should be counted as Objective-C.

      3. Community size. Where is the “C” community? I’d honestly like to know. Let’s look at Reddit subscribers:

      C https://old.reddit.com/r/C_Programming/ (~80k)

      C++ https://old.reddit.com/r/cpp/ (~134k)

      Java https://old.reddit.com/r/java/ (~133k)

      Javascript https://old.reddit.com/r/javascript/ (~921k)

      Also I am not sure what this suggestion means:

      “Since C++11 and C++14 have their own pages on Wikipedia, these search terms are not used any more for C++. This was a suggestion done by Alain Dekker.”

      C++11 and C++14 are very much C++ and I guess that would make me in direct disagreement with Alain’s suggestion.

      1. 4

        C is a mature language and has not much of a “fanboyism” behind it compared to younger languages like Go, Rust, etc. One should not underestimate that fact and only look how large this or that community is. It does not correlate much with use in professional fields when the language is old and does not need more “advertisement”.

        1. 1

          Given that the tiobe index is based on search results, I assume that it can go down in two main ways:

          1. A page which contained the relevant phrase is removed / no longer hosted.
          2. There are more new results for other languages than there are for this language (making this language a smaller percentage of the total).

          It would be interesting to see a graph of absolute numbers over time for each language. Does a language which drops in popularity do so because web pages are short lived, or does the number of pages about programming increase at a rate sufficient to drown out anything which isn’t actively adding to its totals? How big a boost does a language get for being around (and at least moderately popular) for a few decades?

        2. 1

          I’ve never set much store by the tiobe index, given the rather tenuous link between the incidence of web sites containing the specific phrase, “<language> programming” and the “popularity” of a language.

          “Since C++11 and C++14 have their own pages on Wikipedia, these search terms are not used any more for C++. This was a suggestion done by Alain Dekker.”

          C++11 and C++14 are very much C++ and I guess that would make me in direct disagreement with Alain’s suggestion.

          This is just laughable. If you visit the wikipedia pages in question, the first lines are “C++11 is a version of the standard for the programming language C++” and “C++14 is a version of the ISO/IEC 14882 standard for the programming language C++”. There are also separate pages for C++03, C++17 and C++20. Were “C++11” and “C++14” previously include in tiobe’s C++ grouping, while the others weren’t?

          1. 1

            I agree with you in general that C is not taught as much as say, PHP is (at least locally). However I have heard from former students that school 42 does indeed teach C to beginners. I would assume C is one of the larger swathes of ‘dark matter development’ as well.

          2. 4

            I marked as spam, because this kind of post doesn’t make sense to me. If it was to be shared, then it should be shared every month, not a particular month because of a particular language. All or nothing.

            1. 1

              According to TIOBE, C popularity has halved in 2017, and doubled again next year. That’s clearly incredibly improbable: C is the slowest moving language, with very conservative users, immune to fashion swings. It must have been just a measurement error, showing that TIOBE methodology is so bad, that it has at best ±50% accuracy. A 2% swing means nothing.

              Here’s another source: OpenHub, e.g. C vs JS vs Go

              Of course, it’s also flawed. This time because it’s only a sample of projects added to the site. But at least it looks at actual repos and is immune to search engines tweaking their algorithms.