The Steelman language requirements were a set of requirements which a high-level general-purpose programming language should meet, created by the United States Department of Defense in The Department of Defense Common High Order Language program in 1978. The predecessors of this document were called, in order, "Strawman", "Woodenman", "Tinman" and "Ironman". The requirements focused on the needs of embedded computer applications, and emphasised reliability, maintainability, and efficiency. Notably, they included exception handling facilities, run-time checking, and parallel computing. It was concluded that no existing language met these criteria to a sufficient extent, so a contest was called to create a language that would be closer to fulfilling them. The design that won this contest became the Ada programming language. The resulting language followed the Steelman requirements closely, though not exactly. The Ada 95 revision of the language went beyond the Steelman requirements, targeting general-purpose systems in addition to embedded ones, and adding features supporting object-oriented programming. See also ALGOL 68 Pascal Smalltalk Ada References External links Department of Defense (June 1978), Requirements for High Order Computer Programming Languages: "Steelman" David A. Wheeler (1996), Introduction to Steelman On-Line (Version 1.2). SoftTech Inc. (1976), "Evaluation of ALGOL 68, Jovial J3B, Pascal, SIMULA 67, and TACPOL Versus TINMAN - Requirements for a Common High Order Programming Language." - See also: ALGOL 68, Jovial J3B, Pascal, SIMULA 67, and TACPOL (Defense Technical Information Center - DTIC ADA037637, Report Number 1021-14). David A. Wheeler (1997), "Ada, C, C++, and Java vs. The Steelman". Originally published in Ada Letters July/August 1997. Ada (programming language) Programming language design