History of Ada

Steelman On-Line

Steelman is the original requirements document for the Ada 83 computer programming language. Steelman was released June 1978. The previous versions of this document were named STRAWMAN, WOODENMAN, TINMAN, and IRONMAN. You may view:


Steelman Table of Contents

  1. General Design Criteria
  2. General Syntax
  3. Types
  4. Expressions
  5. Constants, Variables, and Scopes
  6. Classical Control Structures
  7. Functions and Procedures
  8. Input-Output, Formating and Configuration Control
  9. Parallel Processing
  10. Exception Handling
  11. Representation and Other Translation Time Facilities
  12. Translation and Library Facilities.
  13. Support for the Language


Other Steelman Formats and Information

You can also download Steelman in a variety of formats (you will probably need to hold down a shift key while selecting these files):

Advanced users can jump to any specific requirement by appending a "#" and the requirement number to the Steelman URL. For example, a link to steelman.htm#3-2C brings up requirement 3-2C (which requires a Boolean type). You can start at specific chapters in the same way, for example, a link to steelman.htm#9 shows chapter 9 (which discusses parallel processing). A text file listing all requirement numbers and short names is also available.


Ada, C, C++, and Java vs. The Steelman

The comparison paper "Ada, C, C++, and Java vs. The Steelman" by David A. Wheeler is also available. This paper compares each of these languages to each of the Steelman requirements. You can view the normal (long) version, or a shorter version with hyperlinks to the Steelman requirement text. This paper was published in the July/August 1997 issue of Ada Letters. You may also retrieve the postscript version.

Note that this document also has a number of internal hypertext link destinations; advanced users can use these links to jump to specific areas of the text. For example, a link to steeltab.htm#3-2C shows comments on how each of these languages implement Steelman requirement 3-2C (for a Boolean type). You can also jump straight to the conclusions by jumping to steeltab.htm#conclusions.


Credit and Legal Notices

Feel free to copy Steelman On-Line, but if you use one of these electronic versions please give David A. Wheeler credit for doing the conversions to electronic media.

Please note that the comparison paper is copyright (C) 1996 David A. Wheeler. This paper is not endorsed by, and does not necessarily represent the views of, the Institute for Defense Analyses (IDA), the U.S. Department of Defense (DoD), or the U.S. Government. You may copy it freely as long as credit is given to the author.


Version Information

You are viewing version 1.2. This version corrects several small errors in the Steelman document and adds the paper comparing Ada, C, C++, and Java to the Steelman requirements.

Version 1.1 added an ASCII-only version of the document, and changed the background color to white to make it easier to read. Minor corrections have been made (e.g. an extra paragraph break in requirement 1E has been removed and extra quotes in some sections have been removed) and some hypertext links have been added. It also adds the hypertext link to the short list of requirements.


For More Information

For more information about Ada, see these WWW servers:

Steelman was converted to HTML and other electronic media by David A. Wheeler.