I’ve written about Ada running on microcontrollers for a while now, including running it on a STMicroelectronics Cortex-M4 platform (see “Running Ada 2012 On The Cortex-M4”). I know that Ada doesn’t have the following of C or C++, but it’s worth looking at if you’re doing embedded development—especially where safety- and security-critical requirements are high on the list (see “Comparing Ada and C”).
The Make with Ada competition, sponsored by AdaCore, is a new competition designed to highlight Ada programming. That’s a bit more of a challenge because Ada developers represent a much smaller group. Still, one needn’t be an Ada guru to enter. Besides, you can find free Ada tools as the Adacore Libre site.
More Articles About Ada and SPARK
The Libre site includes Eclipse IDE support as well as the GNAT Programming Studio (GPS). Thinking about a web-based project? There is an ADA Web Server (AWS) to start building on, plus support for Cortex-M and Cortex-A platforms. The biggest difference between this site and other open-source Ada sites is support for the latest Ada 2012 standard that includes built-in support for contracts (see “Ada 2012: The Joy of Contracts"). SPARK also gets play on the site (see “What’s the Difference Between Ada and SPARK?”) in case your project has more demanding reliability, safety, and security requirements.
A pair of Crazyflie 2.0 nano drones (see figure) will be the prizes for the Robert Dewar and Lady Ada Lovelace awards for dependability and inventiveness, respectively. The Crazyflie 2.0 nano already has an Ada-based software solution (see “Ada/SPARK Fixes Crazyflie Nano Quadrotor”) and a separate open-source, Ada-based autopilot project is up and running (see “AdaPilot “Sparks” Autopilot Project”).
The Crazyflie 2.0 nano, which features Ada support, will be two of the awards for the Make with Ada competition. (Courtesy of Bitcraze)
By the way, the Crazyflie 2.0 nano Ada project was done by an Adacore summer intern who had not used Ada beforehand. He found a number of bugs in the process of translating the C version of the software to Ada.
A lot of myths circulate about Ada (see “11 Myths About Ada”), but most are propagated by those who have never used it or used a very old version. Now there’s a chance to check out Ada and maybe even pick up a little cash.
I will be one of the judges taking a look at the projects. I’ve helped out with various competitions like this in the past, but most tended to be organized around hardware. Nonetheless, almost every one of those competitions was really about the software tools that supported the hardware in question. This is not much different, except that you can choose the hardware.
We probably won’t see many of the Ada pros in the competition mix. That’s because their projects tend to be security-related and not solely from the programming standpoint.