Parlez vous Fortran?
A look at the variety of programming languages that are [or have been] used for embedded and some thoughts on the future possibilities.
Summary
Colin Walls surveys the past and present programming languages used in embedded systems, from legacy choices like Fortran to contemporary options. The blog evaluates trade-offs—toolchain, runtime cost, safety, and portability—and offers practical thoughts on future language adoption for firmware design.
Key Takeaways
- Compare the strengths and weaknesses of legacy languages (Fortran, Ada, C) versus modern choices (C++, Rust, MicroPython) for embedded use cases.
- Evaluate toolchain, runtime, and memory trade-offs when choosing a language for firmware, bare-metal, or embedded Linux projects.
- Plan migration or interoperability strategies, including FFI and incremental rewrites, for legacy embedded codebases.
- Identify safety, performance, and maintenance implications to guide language selection on microcontrollers and RISC-V targets.
- Assess when higher-level runtimes or domain-specific languages make sense for IoT and resource-constrained systems.
Who Should Read This
Embedded firmware engineers, architects, and technical leads with some experience who need to evaluate language choices or plan migrations for constrained systems.
Still RelevantIntermediate
Related Documents
- Consistent Overhead Byte Stuffing TimelessIntermediate
- PID Without a PhD TimelessIntermediate
- Introduction to Embedded Systems - A Cyber-Physical Systems Approach Still RelevantIntermediate
- Can an RTOS be really real-time? TimelessAdvanced
- Memory Mapped I/O in C TimelessIntermediate








