Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

  1. Blog
  2. Article

Sarah Dickinson
on 10 May 2017

Why language choices can be irrelevant when choosing the right IoT OS


This is the first in a series of two blogs exploring the finding from the latest Eclipse Foundation IoT Developer Survey.

A couple of months ago we posted a blog inviting developers to contribute to the 3rd Eclipse Foundation IoT Developer Survey. The 2017 results are now published with a total of 713 respondents, from all over the world. The survey gives an insight into the current state of play in the making of the internet of things in 2017. As well as bigger trends about IoT adoption across various industries, the survey also provides a developer perspective on the methods they use today to build the IoT devices and solutions around us.

Looking at the top programming languages used to build IoT solutions today, over 15 were listed with Java (60.9%) and C (60.5%) coming out as the top, followed by the likes of C++, Python and Javascript. As expected, the results produced subtle differences between constrained devices, IoT gateways and the cloud. Programming language ultimately is dependent on the target destination of the developed software, as shown in the graphs below.

When comparing some of these results with other developer surveys such as the latest Stackoverflow developer survey for example (dominated by Javascript -62.5%, Java -39.7%, C# -34% or Python 32%), IoT development shows the prevalence of “legacy” languages over the new scripting darling. The fact that some devices and code needs to be supported for 10 years probably explains the situation. What this really shows is how hard it is to do IoT development without reusing a number of C or Java libraries. The growth of Javascript and Python, however, demonstrate that more developers turn to these languages to do iterative and agile development, even in the once slow-moving embedded space.

So what does this mean for developers when building IoT solutions and the platforms they choose?

It would be natural to think that they will be looking for Operating Systems that will support this variety of languages and libraries. So it won’t be a surprise to see that, Linux was the OS of choice for IoT devices because of the number of distributions, tools, languages and libraries that make development faster. The kernel itself might be the reason for the success, with its well known and straightforward behaviour plus the ability to use drivers to adapt it to the various hardware types found in the field.

What might come as a surprise though is to see that among the various Linuxes in use in IoT, Ubuntu and Ubuntu Core were found to be a close second with 44%. Is it really a surprise though?

Both Ubuntu and Ubuntu Core are language agnostic meaning developers can work with their programming language of choice and more importantly it’s quite simple for them to install new languages and libraries thanks to the package managers. Building multiple services for gateways and other smart devices in an open source environment and in their preferred language then becomes a very attractive option.

The introduction of snaps with Ubuntu Core has also brought a new way of working in the IoT space. Developers are now able to control exactly what they ship regardless of what OS it’s going to run on. This makes a developer’s life easier by saving the need to statically build everything in whether it is for a large scale deployment, beta or testing.

Next week we’ll publish the second blog in this series exploring the survey from a business perspective.

Related posts


Rhys Knipe
12 June 2024

Space pioneers: Lonestar gears up to create a data centre on the Moon

Canonical announcements Article

Why establish a data centre on the Moon? Find out in our blog. ...


Gabriel Aguiar Noury
21 November 2024

EdgeIQ and Ubuntu Core; bringing security and scalability to device management 

Internet of Things Article

Today, EdgeIQ and Canonical announced the release of the EdgeIQ Coda snap and official support of Ubuntu Core on the EdgeIQ Symphony platform. EdgeIQ Symphony helps you simplify and scale workflows for device fleet operations, data consumption and delivery, and application orchestration. Distributing EdgeIQ Coda as a snap brings the power ...


Edoardo Barbieri
29 October 2024

Meet Canonical at SPS 2024

Ubuntu Article

SPS (Smart Production Solutions) 2024 is almost here! With over 1,200 national and international exhibitors, SPS is the main gathering of industrial manufacturing to experience the latest trends and developments in the automation industry first-hand. Join Canonical, the company behind Ubuntu, at SPS 2024 to discuss open source innovation ...