Ada, Rust and Steelman Language Requirements

Ada is the only pragmatic language that is still growing in a healthy way that meets the Steelman language requirements (created by US DoD circa 1978). Ada is rare among programming languages in that it is one of the few that was designed up-front according to a years-long well defined specification. Rust, at least aspires to meeting some of these requirements, even if not intentionally.

Crucial in the Steelman requirements were:

  • A general, flexible design that adapts to satisfy the needs of embedded computer applications.
  • Reliability. The language should aid the design and development of reliable programs.
  • Ease of maintainability. Code should be readable and programming decisions explicit.
  • Easy to produce efficient code with. Inefficient constructs should be easily identifiable.
  • No unnecessary complexity. Semantic structure should be consistent and minimize the number of concepts.
  • Easy to implement the language specification. All features should be easy to understand.
  • Machine independence. The language shall not be bound to any hardware or OS details.
  • Complete definition. All parts of the language shall be fully and unambiguously defined.