How do you decide which programming language to use in a particular IoT project? In some cases, your options still will be limited by your hardware platform. In others, though, you’ll be able to choose from a language based on factors such as whether your enterprise dev team is already familiar with it, whether it works within the environment used by other components of the total IoT system, or whether it produces code that is smaller, more efficient, or more rapidly written than that of other options.
There are 11 languages that float to the top of the consideration pool when it comes to programming embedded systems. They range from general-purpose languages like C++ and Java to embedded-specific choices like Go and Parasail.
It makes sense that a language first developed to program telephone switches would be a reasonable choice for embedded system development. C is as close to a lingua franca as exists in the world of software development: It’s available on nearly every advanced embedded system platform that exists. For some platforms where it’s not directly available, it’s still the basis for the dedicated language used in the SDK.
The odds are good that professional programmers have at least a passing knowledge of C already — and if they don’t, an investment in learning C should pay off for both the programmer’s career and your enterprise development efforts in the future. In today’s terms, C is a bit of a throwback: It’s procedural rather than object-oriented, doesn’t come with a built-in bias toward a graphical user interface, and is compiled rather than interpreted. All of those factors, though, make it a strong candidate for just about any IoT development effort.
When the programming world began moving toward object-oriented languages in the early 1980s, procedural languages such as Fortran, Cobol, and C seemed destined to fade into obscurity. While Fortran and Cobol have become niche languages (sure, Cobol is a big niche, but still…), C retained its relevance due to the work of Bjarne Stroustrup, who developed an object-oriented pre-processor for C — a pre-processor that came to be called C++.
C++ kept the spare nature of C but added data abstraction, classes, and objects. All of these features make C++ a popular choice for those who are writing embedded and IoT code for Linux systems. This programming language still is going strong after more than 30 years in the field. READ MORE..