Previous Table of Contents Next


10.5.2. Books, Selected Articles, and Other Publications of Interest on Ada 95

Barnes, J. G. P. 1995. Programming in Ada 95. Reading, MA: Addison-Wesley. The latest in a series of popular Ada texts by this author. Barnes covers the whole language well and readably, with a fine sense of humor.

Barnes, J. (Ed.). 1997. Ada 95 Rationale. Berlin: Springer-Verlag. Ada 95 Rationale is the companion to the Reference Manual (language standard); it introduces Ada 95 and its attractive new features and explains the rationale behind them. It should be studied in parallel with the Ada 95 Reference Manual. Various electronic forms are also available; a searchable HTML version is on the Web.

Beidler, J. 1997. Data structures and algorithms: An object-oriented approach using Ada 95. Berlin: Springer-Verlag. An interesting approach to this subject; its special strength is the development in parallel of two libraries of software components, one generics-based, the other inheritance-based.

Burns, A., and A. Wellings. 1995. Concurrency in Ada. Cambridge, England: Cambridge University Press. A readable and complete text on concurrent programming and real-time systems in Ada 95.

Burns, A., and A. Wellings. 1997. Real-time systems and programming languages. Reading, MA: Addison-Wesley. An excellent text on the issues in designing real-time systems. Ada 95 is emphasized, but other languages such as Occam and various C dialects are also considered.

Cohen, N. 1996. Ada as a second language, 2nd ed. New York: McGraw-Hill. An encyclopedic work, over 1100 pages long. Its strength is in its thorough, exhaustive coverage of the language and its realistic examples.

Culwin, F. 1997. Ada: A developmental approach, 2nd ed. Englewood Cliffs, NJ: Prentice Hall. A text for students without previous programming experience. The author emphasizes design issues as well as programming.

Dijkstra, E. W. 1975. Guarded commands, nondeterminacy, and formal derivation of programs. Communications of the ACM 18(8):453-457. Introduces much of the theory used in the Ada select statement.

English, J. 1997. Ada 95: The Craft of object-oriented programming. Englewood Cliffs, NJ: Prentice Hall. This book introduces Ada as a first language, using an example-driven approach that gradually develops small programs into large case studies.

Feldman, M. B. 1992. Portable dining philosophers: a movable feast of concurrency and software engineering. Proc. 23rd ACM-SIGCSE Technical symposium on computer science education. Also on the Web at my site.

Feldman, M. B. 1997a. Ada as a foundation programming language. This is a frequently updated document reporting the use of Ada in first-year programming courses. Available on the Web.

Feldman, M. B. 1997b. An Ada 95 sort race construction set. Proc. AdaEurope ’97. Also available on the Web at my site.

Feldman, M. B. 1997c. Software construction and data structures with Ada 95. Reading, MA: Addison-Wesley. An undergraduate text focusing on algorithms and data structures with a definite software-engineering flavor and a heavy emphasis on developing generic and polymorphic software components.

Feldman, M. B., and E. B. Koffman. 1996. Ada 95: Problem solving and program design. Reading, MA: Addison-Wesley. A text that introduces Ada 95 to readers with no previous programming experience in any language. The text is shipped with an Aonix ObjectAda CD-ROM containing an Ada 95 development system for Windows 95/NT.

Guttag, J. V., E. Horowitz, and D. R. Musser. 1978. Abstract data types and software validation. Communications of the ACM 21(12):1048-1064. One of the early papers on abstract data types.

Hoare, C. A. R. 1974. Monitors: An operating system structuring concept. Communications of the ACM 17(10):549-557. Introduces much of the theory behind Ada’s protected types.

Hoare, C. A. R. 1978. Communicating sequential processes. Communications of the ACM 21(8):666-677. Introduces much of the theory behind rendezvous.

HOLWG. 1978. STEELMAN. This is the famous requirements document for a new defense programming language, which led to Ada 83. The previous versions of this document were named, in sequence, STRAWMAN, WOODENMAN, TINMAN, and IRONMAN. This document was never accessibly published but is now available on the Web.

Ichbiah, J., et al. 1979a. Preliminary Ada reference manual. SIGPLAN Notices 14(6A).

Ichbiah, J., et al. 1979b. Rationale for the design of the Ada programming language. SIGPLAN Notices 14(6B).

Ichbiah, J., et al. 1987. Rationale for the design of the Ada programming language. Honeywell. Available on the Web at Ada IC.

Johnston, S. 1997. Ada 95 for C and C++ programmers. Reading, MA: Addison Wesley. The correspondences between C/C++ idioms and Ada 95 ones are described; both the core language and the annexes are presented. Shipped with the Aonix ObjectAda CD-ROM.

Liskov, B. H., and S. N. Zilles. 1977. Abstraction mechanisms in CLU. Communications of the ACM 20(8):564-576. Specification versus implementation.

Lopes, A. V. 1997. Introcão à Programmacão com Ada 95, (in Portuguese). Canos RS, Brazil: Editoria ULBRA

Naiditch, D. J. 1995. Rendezvous with Ada 95. John Wiley and Sons. (ISBN 0-471-01276-9) A very readable, often humorous, survey of Ada 95.

National Research Council. 1996. Ada and Beyond: Software Policies for the Department of Defense. Available from NRC; also on the Web at the Ada IC site.

Paige, E. 1997. Memorandum of April 29, 1997 on the Use of the Ada Programming Language. This is the Ada policy announcement by Emmett Paige, Jr., then U.S. Assistant Secretary of Defense for Command, Control, Communications and Intelligence, “to eliminate the mandatory requirement for use of the Ada programming language in favor of an engineering approach to selection of the language to be used.”

Rosen, J.-P. 1995. Méthodes de génie logiciel avec Ada 95 (Software Engineering Methods with Ada 95; in French). Paris: InterEditions. Introduces Ada 95 in the context of several important software engineering methodologies.

Skansholm, J. 1997. Ada from the beginning (3rd ed.) Reading, MA: Addison-Wesley. This book was one of the first to use Ada with CS1-style pedagogy. There are excellent sections on the idiosyncrasies of interactive I/O (a problem in all languages) and a sufficient number of fully worked examples to satisfy students.

Smith, M. A. 1996. Object-oriented software in Ada 95. International Thomson Computer Press. For those interested in pursuing object-oriented programming with Ada 95, this book can serve as an excellent follow-up to the present work.

Stein, D. 1985. Ada: A life and a legacy. Cambridge, MA: MIT Press. A biography of the real Ada, after whom the language is named.

Stroustrup, B. 1982. Classes: an abstract data type facility for the C language. SIGPLAN Notices 17(1):354-356. An early article on what became C++.

Taft, T. and R. A. Duff (Eds.). 1997. Ada 95 reference manual. Berlin: Springer-Verlag. Ada 95 reference manual completely documents the Ada 95 standard and thus is an indispensable working companion for anybody using Ada 95 professionally or learning the language systematically. Various electronic forms are also available; a searchable HTML version is on the Web.

Wheeler, D. A. 1997. Ada 95: The Lovelace tutorial. Berlin: Springer-Verlag. This book, based on a successful World Wide Web tutorial, introduces the basic elements of Ada 95 to those who already know another programming language.

U.S. Dept. of Defense. 1983. ANSI/MIL-STD-1815A-1983. Reference manual for the Ada programming language. This is the definition of the language now called Ada 83. Available on the Web at Ada IC.

Whitaker, W. 1996. Ada—The project: The DoD High Order Language Working Group. History of programming languages—II. Reading, MA: Addison-Wesley. This definitive paper, written for the 1993 Second History of Programming Languages Conference (HOPL-II), is also on the Web.


Previous Table of Contents Next