As the Internet of Things (IoT) continues to evolve, it can be difficult to track which tools are most popular for different purposes. Similarly, trying to keep tabs on the relative popularity of programming languages can be a complex endeavor with few clear parameters. So, trying to figure out the most popular programming languages among the estimated 6.2 million IoT developers (in 2016) seems doubly fraught — but I’m not going to let that stop me.
There’s not a lot information on the topic, but if you’re willing to look at sources ranging from Medium to Quora to corporate sites and IoT blogs, and you’re willing to go back a few years, you can pick up some common threads.
IoT Developer Survey: Top IoT programming languages
According to the Eclipse Foundation’s 2018 IoT Developer Survey, here are the top IoT programming languages:
Based on that data, according to Chicago-based software shop Intersog, “If it’s a basic sensor, it’s probably using C, as it can work directly with the RAM. For the rest, developers will be able to pick and choose the language that best suits them and the build.” Intersog also cited Assembly language, B#, Go, Parasail, PHP, Rust, and Swift as having IoT applications, depending on the task.
IoT programming languages that pay the most
Back in 2017, IoT World took a different approach, trying to suss out which IoT programming languages pay developers the most. The results?
“Java and C developers can, on average, expect to earn higher salaries than specialists in the other languages used in the IoT, although senior Go coders have the highest salary potential. Skilled Go developers are among the best paid in the industry, even though junior and mid-level Go developers earn modestly compared to their peers.”
Finally, over on Quora, the arguments over IoT programming languages continue to rage, with one long-running thread attracting more than 20 answers ranging starting in 2015 and continuing through 2018 (Which programming languages will be most valuable in the IoT). The nominees mostly revolve around the usual suspects, with Java, Python, and C/C++ predominating.
A multilingual future for IoT?
Clearly, there’s a consensus set of top-tier IoT programming languages, but all of the top contenders have their own benefits and use cases. Java, the overall most popular IoT programming language, works in a wide variety of environments — from the backend to mobile apps — and dominates in gateways and in the cloud. C is generally considered the key programming language for embedded IoT devices, while C++ is the most common choice for more complex Linux implementations. Python, meanwhile, is well suited for data-intensive applications.
Perhaps, the most salient prediction, though, turns up all over the web: IoT development is multi-lingual, and it's likely to remain multi-lingual in the future.
Thanks to Fredric Paul (see source)