From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!samsung!xylogics!merk!alliant!linus!linus!eachus From: eachus@linus.mitre.org (Robert I. Eachus) Newsgroups: comp.lang.ada Subject: Re: Ada PDLs Message-ID: Date: 30 Jul 90 17:57:40 GMT References: <1163@manta.NOSC.MIL> <7949@jarthur.Claremont.EDU> Sender: usenet@linus.mitre.org Organization: The Mitre Corporation, Bedford, MA In-reply-to: ssdken@watson.Claremont.EDU's message of 26 Jul 90 21:43:39 GMT List-Id: A long time ago (1984) the there was a big fight over whether Ada PDL's should be compilable. By the end of the year the battle was over, as the last advocates of Ada PDL's which were not compilable Ada were won over. I think that ACM SIGAda even passed a resolution that the proper PDL for Ada is syntactically correct compilable Ada. The IEEE went ahead and approved IEEE 990 (1987) as a Recommended Practice, after a similar phrase was added. There are several tools which allow you to add standardized comments to source programs, but in general it is easier to express detailed designs in Ada than to actually implement some of them. My personal preference is to have a couple of packages which I use during design, only two of which are mentioned in the final product: with Documentation; use Documentation; with Assertions; use Assertions; with To_Be_Done; use To_Be_Done; with Undefined; The advantage of this approach is that the body of Assertions and Documentation can be much different during development, so that compiling and running a development version delivers various useful statistics. One of my favorite tricks is to make each programmer a record type, and have the elaboration of an object of that type have the side effect of incrementing a counter... The disadvantage of this approach to design documentation is that you don't get those statistics until and unless you have a compilable design. (I prefer to start with a compilable design and to keep it that way.) The big advantage is that, assuming you frequently compile your design, the design documentation always agrees with the actual product. One class of changes I would like to get into Ada 9X is better support for design attributes. (foo'LAST_MODIFIED, bar'VERSION, foo_bar'AUTHOR should be required attributes). -- Robert I. Eachus with STANDARD_DISCLAIMER; use STANDARD_DISCLAIMER; function MESSAGE (TEXT: in CLEVER_IDEAS) return BETTER_IDEAS is...