Roman Samborskyi | Dreamstime.com
Code Engineer Promo 60afa89d88175

Ada for the Embedded C Developer

May 27, 2021
Why would you need to consider learning another programming language?

This article is part of the Embedded Software series: Ada for the Embedded C Developer and the TechXchange: Developing High Quality Software

If you’re a C programmer, then you’ve probably heard about Ada but discounted it because, well, it isn't C. And why would you need to consider learning another language anyway?

While C is considered a good choice for desktop programs or applications where a shortened time-to-market is a major objective, it’s poorly suited for working within the domain of high-integrity systems. Ada's strength is in areas where reliability is paramount. It’s heavily used in embedded real-time systems, many of which are safety-critical. Specific domains include aerospace and defense, civil aviation, rail, automotive, and medical, among others. These applications require a high degree of safety: A software defect isn’t just an annoyance—it may have severe consequences.

Learning Ada isn’t complicated. Programming paradigms haven’t evolved much since object-oriented programming gained a foothold, and the same paradigms are present one way or another in many widely used languages.

Each of these articles addresses different aspects of Ada and its relationship to C and embedded programming:

AdaCore recently launched a new Ada for the Embedded C Developer course that introduces you to the Ada language by comparing it to C. It assumes that you have good knowledge of the C language. It also assumes that the choice of learning Ada is guided by considerations linked to reliability, safety, or security. In that sense, it teaches you Ada paradigms that should be applied in replacement of those usually applied in C.

This course also introduces you to the SPARK subset of the Ada programming language. It removes a few features of the language with undefined behavior, so that the code is fit for sound static-analysis techniques.

If you’re interested in learning to program in Ada, or if you need to perform an assessment of possible languages to be used for a new development, or you’re currently working on an Ada project and would like more background, this course is for you!

About the Author

Fabien Chouteau

Fabien joined AdaCore in 2010 after his engineering degree at the EPITA (Paris). He’s involved in real-time, embedded, and hardware simulation technology. Maker/DIYer in his spare time, his projects include electronics, music, and woodworking.

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!