# 158: Programming Is Too Difficult for Humans

- Show: [Embedded.fm](https://hardwarepodcasts.com/podcast/embedded-fm)
- Published: 2016-06-28
- Length: 1h 06m
- Page: https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans
- Listen: https://makingembeddedsystems.libsyn.com/embedded-ep158mp3

## Summary

Fabien Chouteau, a software engineer at AdaCore, discusses the Ada programming language and its suitability for safety-critical embedded systems. He explains Ada's design philosophy, including its formal requirements document (the Steelman document), strong typing, and the SPARK tool for formal verification. Chouteau also promotes the 'Make with Ada' competition, highlighting supported platforms like the STM32 and Crazyflie nanodrone, and demonstrates how Ada improves code reliability through contract-based programming.

## Chapters

- [0:06](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=6) Introduction and Guest Background
- [3:08](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=188) Ada Language Design and Steelman Requirements
- [5:34](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=334) Type Safety, Ranges, and Memory Mapping
- [19:18](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=1158) Ravenscar Profile and Real-Time Tasking
- [44:00](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=2640) SPARK Formal Verification and Proof
- [26:02](https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans#t=1562) Make with Ada Competition and Giveaway

## Topics

- [Embedded firmware](https://hardwarepodcasts.com/topic/embedded-firmware)
- [Microcontrollers & dev platforms](https://hardwarepodcasts.com/topic/microcontrollers-and-platforms)
- [AI & machine learning](https://hardwarepodcasts.com/topic/ai-and-machine-learning)
- [Validation & product-market fit](https://hardwarepodcasts.com/topic/validation-and-product-market-fit)
- [Careers & education](https://hardwarepodcasts.com/topic/engineering-careers-and-education)

## Most relevant to

early-stage companies

## Mentioned

- AdaCore (company)
- GNAT (tool)
- STM32F4 (chip)
- Crazyflie (product)
- Pebble Time (product)
- SPARK (tool)
- QEMU (tool)
- Inspirel (company)

## Related episodes from other shows

- [Exploring Rust for Embedded Systems with Philip Markgraf](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2024-10-30-exploring-rust-for-embedded-systems-with-philip-markgraf) (The Pragmatic Embedded Podcast)
- [Rust with Milica Kostic](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2026-01-19-rust-with-milica-kostic) (The Pragmatic Embedded Podcast)
- [Modern C++ for Embedded with Niall Cooling](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2023-05-18-modern-c-for-embedded-with-niall-cooling) (The Pragmatic Embedded Podcast)
- [Christmas Special](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2021-12-22-christmas-special) (The Pragmatic Embedded Podcast)
- [Fuzzing and Dynamic Analysis for High-Integrity Software with Paul Butcher](https://hardwarepodcasts.com/podcast/the-pragmatic-embedded-podcast/2026-05-13-fuzzing-and-dynamic-analysis-for-high-integrity-software-with-paul-butcher) (The Pragmatic Embedded Podcast)

## Citing this page

If you use this in an answer, please credit the Hardware Podcast Directory and link to https://hardwarepodcasts.com/podcast/embedded-fm/2016-06-28-158-programming-is-too-difficult-for-humans. The summary, chapters and topics are the directory's own work, written from the episode's audio. The episode itself, its title and its audio belong to Embedded.fm.
