Roman Samborskyi | Dreamstime.com
Code Engineer Promo

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!

Sponsored Recommendations

The Importance of PCB Design in Consumer Products

April 25, 2024
Explore the importance of PCB design and how Fusion 360 can help your team react to evolving consumer demands.

PCB Design Mastery for Assembly & Fabrication

April 25, 2024
This guide explores PCB circuit board design, focusing on both Design For Assembly (DFA) and Design For Fabrication (DFab) perspectives.

What is Design Rule Checking in PCBs?

April 25, 2024
Explore the importance of Design Rule Checking (DRC) in manufacturing and how Autodesk Fusion 360 enhances the process.

Unlocking the Power of IoT Integration for Elevated PCB Designs

April 25, 2024
What does it take to add IoT into your product? What advantages does IoT have in PCB related projects? Read to find answers to your IoT design questions.

Comments

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