Thought Leadership

The ideal programming language?

I recently wrote about programming languages and discussed which ones are common for embedded applications. Among the responses to that posting was a message from Robert Dewar from AdaCore. He makes the following points:

“It’s interesting to note that you omitted one language mentioned in the VDC report, namely Ada. Ada is interesting because, as you noted, all the other languages do not share Ada’s important characteristic that it was designed for embedded use. For example, the recognition that multi-threading is fundamental in most embedded programming, and therefore comprehensive features for handling this are an important part of the Ada language design. Other languages have no support at all for threading in the language itself (C, C++), or very rudimentary support (Java) that falls far short of what is needed (a fact recognized by the attempt to extend Java for real time use).

“The usage of Ada mentioned in the VDC report is listed as 3%, but that number may be deceptive in that it misses the fact that Ada’s predominant use is in large-scale safety- and security-critical systems. Significant parts of the avionics of many new planes are written in Ada, and also a number of other critical systems, such as air traffic control systems. I suspect that if you counted lines of code, and weighted the results by the significance of the applications involved, Ada would come quite a bit higher on the list.”

Robert is, of course, completely correct. Although not unique in its incorporation of multi-threading in the language, Ada is probably the only widely used language that was really designed for embedded applications. I think that my own lack of experience with Ada meant that I did not give it due consideration. I wonder if Ada usage is declining, stable or growing? Comments or email are welcome.

Colin Walls

I have over thirty years experience in the electronics industry, largely dedicated to embedded software. A frequent presenter at conferences and seminars and author of numerous technical articles and two books on embedded software, I am a member of the marketing team of the Mentor Graphics Embedded Systems Division, and am based in the UK. Away from work, I have a wide range of interests including photography and trying to point my two daughters in the right direction in life. Learn more about Colin, including his go-to karaoke song and the best parts of being British: http://go.mentor.com/3_acv

More from this author

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/embedded-software/2011/08/01/the-ideal-programming-language/