Survey says Python is top programming language

August 10, 2018

Measurement.Blues-August 10, 2018

It's been said that programming languages are akin to religion. Engineers and developers will go out of their way to defend the use of their favorite language. (Perhaps it's more the pain of learning a new language that keeps us using the old). Surely you've seen many surveys on programming language preferences. As with all surveys, the results depend on who was asked.

IEEE recently surveyed its members, asking which languages they use. Given that IEEE represents electrical engineers, we naturally expect the results to differ from surveys taken in the software community. To EEs, software is usually a tool to make hardware work as opposed to being the product itself.

IEEE has published its 2018 list of top programming languages. Python came out on top overall. Other surveys showed different results.

IEEE's survey results highlight four use categories: web, mobile, enterprise, and embedded. You can view the results for any combination of the four through an interactive results page. Figure 1 shows the top 22 languages overall.

Figure 1. The IEEE 2018 programming language survey shows Python topping C and C++. Source: IEEE.

Figure 2 limits the results to embedded applications only. Even there, Python still tops the list. Do you agree? Embedded systems designer and prolific author Jack Gnassle doesn't. "The data is sort of meaningless," wrote Gnassle in an email to EE Times. "It's like asking what is the most popular hand tool. A woodworker might say a hammer, but a machinist might say a mill. It all depends on the domain that one is working in. In my biz, embedded, we know that C is king as it usually scores 60% to 70%. But I bet few use it for programming Windows applications or iPhone apps."

IEEE says Python tops embedded applications
Figure 2. According to the IEEE 2018 survey, Python is the most popular language for embedded applications, but many engineers disagree with that conclusion.

Gnassle may be wrong about that. While the IEEE survey doesn't break out Windows apps, it does break out mobile uses. There, the top five languages are C++, C, Java, C#, and JavaScript (ranked No. 1 to No. 5, respectively). But the IEEE survey doesn't specify language use for mobile apps. Perhaps some people answered mobile even though they write embedded code for cellphones or tablets. We don't know.

"To make it even odder," continued Gnassle, "in the embedded space, they rank C++ above C, but every survey refutes that — even AspenCore's!"

Gnassle has a point. AspenCore's EE Times' and's own 2017 survey contradicts that of IEEE. Not only is C well above C++, but both bury Python. According to IEEE, Python tops C and C++ even among embedded systems engineers.

To continue Gnassle's point that the results depend on who you ask, according to the TIOBE Index for August 2018, Java is on top, followed by C, C++, and then Python (Figure 3). TIOBE produces software for testing software.

TIOBE programming language index August 2018

Figure 3: According to TIOBE, Java is the most popular language. Source: TIOBE.

David Ewing, president of Firia, notes: "Lots of K–12 schools are teaching Python nowadays. In fact, our company has a product aimed at teaching coding, and we do it with Python on microcontrollers. The fact that an extremely powerful language used widely in industry also happens to be a great starting point for learning to code is a testament to the design of that language. It speaks to the growth we've continued to see in Python adoption." If Ewing is right, the Python's popularity could continue to grow.

"There's embedded stuff," continued Ewing, "and there are web browsers." Browsers exclusively support Javascript (more formally, ECMAscript). So it's quite surprising that Javascript is not listed higher in the IEEE rankings given that it's the only language that can claim a massive install base (every web browser, mobile, etc.) wherein there is no alternative language supported.

>> Continue reading this article on our sister site, EE Times: "IEEE survey ranks programming languages."


Loading comments...