Python Heads IEEE List of Top Programming Languages

Deciding which programming languages are the “most popular” is always something of a subjective exercise—or a fool’s errand. No matter what methodology you use to determine one language’s usage over another, you’re going to find someone who disagrees with you.

That said, it would be hard to disagree with much of the newest edition of the top programming languages list generated by IEEE Spectrum, which places Python in the number-one spot, followed by Java, C, C++, and R. (Actually, R’s placement is a bit surprising, but we’ll get to that in a minute.)

IEEE starts with a list of 300 languages from GitHub. From there, according to its methodology page, it analyzes search data: “We looked at the volume of results found on Google when we searched for each one using the template ‘X programming’ where ‘X’ is the name of the language.” In addition to data from Google Search and Google Trends, it also incorporates data from Twitter, Stack Overflow (i.e., measuring the number of questions that mention each language), Reddit, Hacker News, CareerBuilder, and IEEE’s Job Site and Xplore Digital Library. All that analysis results in a net score; take a look at the top ten:

In some ways, that’s similar to the methodology that other organizations use to create their lists, including TIOBE, which analyzes data from a variety of aggregators and search engines, including Wikipedia and Google. (For a language to place on TIOBE’s rankings, it must also be Turing complete, have its own Wikipedia entry, and earn more than 5,000 hits for +”<language> programming” on Google.)

Although some observers might take issue with IEEE’s breakdown (for example, some might argue that JavaScript should place higher than its sixth-place finish), it’s pretty clear that Python remains a robust language for work across the web, embedded systems, and enterprise platforms (although it lags Java, C, Kotlin, and Swift when it comes to mobile aptitude, at least according to this breakdown).

Python’s increasing use in specialist segments such as data analytics, finance IT, and even machine learning means it’s only becoming more vital to technologists. Fortunately, that also means it’s a language with a ton of online documentation, including tutorials of its more esoteric aspects (including GUIs, for example) so it’s easy to get started if you’re interested in it.  

Which brings us to R and its high placement on IEEE’s list. For years, R was regarded as a specialist language, used primarily in data science. It’s beloved by many data scientists and academic institutions—however, there’s been much debate in recent years over whether Python is eroding R’s market-share.

“R has issues with scalability,” Enriko Aryanto, the CTO and a co-founder of the Redwood City, Calif.-based QuanticMind, a data platform for intelligent marketing, told Dice earlier this year. “It’s a single-threaded language that runs in RAM, so it’s memory-constrained, while Python has full support for multi-threading and doesn’t have memory issues. When choosing a language, it all comes down to choosing what’s best to solve your problem.” Companies need a language that scales for big data projects, which potentially limits R’s use.

So with that context, it’s surprising to see R on this list—it’s not considered a broadly used language, and, unlike the languages around it, it doesn’t play much of a role in building web or mobile apps or services. How it beat JavaScript, C#, Swift, PHP, and others is an interesting question, and the answer is no doubt buried deep in IEEE’s methodology.

19 Responses to “Python Heads IEEE List of Top Programming Languages”

  1. Swift, Go, Perl, Python, Lisp – where does it end? Being a senior software engineer, I see more garbage technologies being added to the field every year. Stuff we don’t need. Just take a look at all of the DevOps technologies out there. Every DevOps job I see has a different laundry list of requirements. Recruiters are going nuts. The nerds and geeks have nothing better to do with their pitiful lives than to invent more stuff. Then the other nerds and geeks lap it up, and before you know it, that new thing that we really didn’t need is a requirement for the job. I wish these people would get a life. Go out and get laid! I’m teaching myself Python right now, having learned Perl many years ago. And when Python goes out of vogue, it will be because some nerd invented something new – that we don’t need – and I will have to waste more of my free time learning that – and not get paid while I’m doing it. It’s a perpetual cycle. Those in charge lack the common sense to recognize this and shoot themselves in the foot by making it harder to find employees because the number of combinations of skillsets is out of hand. “Oh, she knows C#, Java, MVC, Perl, and Entity Framework. We need someone who knows C#, Python, Java, Angular JS, and Javascript. She doesn’t fit the bill. Next!”

    • I have to agree about the DevOps mess. Think about the variety of tools that are available for each piece of the DevOps puzzle. Now look at the demands that companies are making in job descriptions. That 3-D Venn diagram of the DevOps technologies companies are looking for only intersects at a very tiny point yet companies won’t budge and claim there’s a talent shortage. I hear “I see you have background in A, B, C, D, and E but the client is also insisting on candidates having experience in Y and your experience is in Z” all the time. It’s insane.

    • I agree. When I recruited new members for my team, especially people with experience, I would be looking for candidates with a slightly different experience. They usually bring additional inputs to the existing team. We tend to be narrow sided, even though we think we embrace new technologies.

    • You should learn a language or technology if you have to learn it. Don’t learn it because its the latest and greatest. If you can program well in any one langauage, you can easily learn a new language over the weekend.

    • Considering that Lisp is one of the first programming languages and influenced many other languages that followed, I have no clue why you included it in your list. Knowing Lisp is good thing, not a bad thing.

  2. Hello,
    I have one website that works well. I see Python becoming a popular language.
    Can using Python do something good for my website, some additional functionality?
    Suggest something, please.
    My website is for job ads.

  3. Interesting take. I came to this thread as part of a search for a possible career tweak, looking to add more programming to my knowledge management and instructional design skill set. What this thread has actually done, is to discourage me from taking up programming.

    That isn’t a criticism, the insight is helpful. I love learning. But I love accomplishing useful things more. I already have to constantly learn in my primary field just to be perceived as employable, and there are only so many hours in a day. At some point, all that learning has to be given a chance to gel, and to be put to the test and refined and used to accomplish useful work.

    Perpetual learning without production is nothing more than planning paralysis with a lab attached. I don’t want to waste my time in an endless cycle of perpetual virtual college, where the programming languages in demand at the start, are obsolete by the time I learn them. To me, that’s is the stale old traditional college model of learning for the sake of learning which, with no accountability for then generating measurable value, is completely disconnected from typical reality. Out in the real world, you have to generate more wealth than you consume, period. If you do not, then you don’t have a business, you have a hobby.

    At some point, we have to actually accomplish useful work with the tools we have. Otherwise, what’s the point?

  4. Robert Wilkinson

    How many Python questions are asked by students doing their homework ? It is very popular in Computer Science courses, because the environment is so simple to set up.

    I’d be much more interested if it was possible to rate languages by the amount of real life usage they are getting.

  5. As a professional how many times have you googled “X programming” for any of the languages that you know? Feels like this data is absolutely meaningless, except to gauge what languages people who do not know anything about computer languages are considering learning.

  6. The resentment from hardcore developers is understandable, however Python has been great for the non-techies who just want to get some work done in their field of specialisation.

    IMHO Python is taking programming to masses but when it comes to more serious hardcore programming stuff, it does have it s limitations.

  7. I wish we could fine anyone who uses a picture of a snake when writing about Python, considering that the language has nothing at all to do with the snake. It gives me the impression that the person knows little about programming, so how am I supposed to take him or her seriously?

  8. Chris Fox

    And then there’s all the JavaScript crap. More dialects than rural Chinese, node and angular and react.

    “Native code? Get out of here you freak, we need a React developer.”

    Yeah like a language where everything is var is real programming