Slashdot Mirror


Most Popular Programming Languages: C++ Knocks Python Out of Top Three in New Study (techrepublic.com)

C++ has knocked machine-learning favorite Python out of the top 3 in the TIOBE Index of popular programming languages. From a report: It marks a reversal of fortune for C++, which, after years of occupying third place in the index, was pushed down to fourth place by Python in September last year. First and second place in the list remain unchanged, with Java in pole position and C at number two. The TIOBE Index attempts to estimate the popularity of languages worldwide based on results from major search engines. The index is sometimes criticized for being a rather blunt measure, likely to be influenced by a range of factors beyond a language's popularity, but its rankings are broadly in line with others, with a similar mix of languages albeit arranged in a different order.

In an analysis alongside the latest figures, TIOBE attributes the comeback of C++ to a surge in its popularity, rather than a fall in the use of Python. "This is certainly not because Python is in decline: Python is scoring all time highs almost every month. It is just that C++ is also getting more and more popular," it writes. The report credits this growing interest in C++ to C++11, the version of the language released in 2011 that TIOBE said made C++ "much simpler, safer and more expressive."

8 of 161 comments (clear)

  1. Make C++ simpler ?!? by dargaud · · Score: 5, Interesting
    You would have to remove things from it, not just keep adding every paradigm from every other language. That thing has everything and the kitchen thing: you can do pure C with it. Or (almost) pure Java. Or only macros and templates. Anyway one programmer's C++ program might as well be an alien language to another C++ programmer.

    Besides that, their whole methodology is crap, as has been noted many times over: if there are plenty of messages asking for help on stackoverflow, maybe it's because users are struggling with a language, not because it's 'popular'. A language that is very easy to learn on your own wouldn't have any messages now would it ?

    --
    Non-Linux Penguins ?
    1. Re:Make C++ simpler ?!? by ranton · · Score: 5, Insightful

      You don't have to remove large slabs of the language, you just have to choose not to use them. The craziness that is C++ locales, for example, need not concern you because you won't use it.

      This is only true if you are either working alone or have control over the development practices of your product team. And hopefully you never move companies or acquire a company that develops differently than you do.

      Otherwise every feature in your language of choice is something you may need to use if you are supporting work done by other developers who use that feature.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    2. Re:Make C++ simpler ?!? by OzPeter · · Score: 4, Informative

      You would have to remove things from it, not just keep adding every paradigm from every other language. That thing has everything and the kitchen thing: you can do pure C with it. Or (almost) pure Java. Or only macros and templates. Anyway one programmer's C++ program might as well be an alien language to another C++ programmer.

      I can't remember who said it, but they said that C++ is actually 4 distinct languages under one banner (from memory): Procedural, OOP, C-style Macros, and Templates.

      Each of them have different attributes and gotcha's.

      I used to know C++ fairly well in the late 90's, but when I look at the current state of it I tend to shake any head in wonder as to what it has become. Not only have there been so many new additions to it, there have also been completely new paradigms in how to approach it.

      --
      I am Slashdot. Are you Slashdot as well?
    3. Re:Make C++ simpler ?!? by ceoyoyo · · Score: 4, Insightful

      It's also only true if you ever only look at your own code. One of the most irritating things about C++ is that in order to understand someone else's code you have to first essentially learn a new language by going through the project's style guide. If they have one. And it's any good.

      Hey, I found this great open source project, I just need to add/tweak this little feature... OMG, KILL IT WITH FIRE.

  2. Assembly by Ramley · · Score: 4, Interesting

    I was surprised to see Assembly in the top 10. Perhaps I shouldn't be, as I'm not in the world which uses Assembly, and I haven't even played with it since college back in the day.

    Forgive my ignorance here, but why the popularity of Assembly? It's impressive to say the least, but I'm unfamiliar with the world that lives in that language.

    Happy Monday!

  3. Namespaces in C by darthsilun · · Score: 4, Interesting

    Could we just have namespaces in C? Maybe reference types?
    Or pushing the envelope, how about a simple single-inheritance class model? It seems like every project I've ever worked on has jumped through hoops creating a simplistic "object" model.
    I've already been down this road once (or twice). We used C++ with no boost and limited to a very small set of features (well documented). But then along came someone who just wanted to use one little thing in boost. Or some other thing no on the list.
    And then the long slide down the slippery slope began.

  4. VB.NET? by NerdENerd · · Score: 4, Informative

    As a 15 year .NET veteran I call bullshit on VB.NET being so popular. Nobody uses VB.NET and .NET developers laugh at you if you do.

  5. Re:Use whitespace syntactically... by hazem · · Score: 4, Insightful

    You're getting marked as flame-bait, but I agree. Try reading (and typing in) code from a book with C (or practically any other language), and you'll have no problems. Try the same with a book with Python code that spans a page-break, and you'll have to break out a ruler to figure out the correct number of syntactic spaces.

    It's a fine scripting language, but it's hard to take seriously with limitations like that.