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=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,61727075d20a4300,start X-Google-Attributes: gid103376,public From: "Robert C. Leif, Ph.D." Subject: Ada95 Should be a Multivolume ISO Standard Date: 1996/09/30 Message-ID: <2.2.32.19961001031937.006d9614@mail.cts.com> X-Deja-AN: 186377501 sender: Ada programming language x-sender: rleif@mail.cts.com comments: cc: "Charles B. Engle , Ph.D." , content-type: text/plain; charset="us-ascii" mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Windows Eudora Pro Version 2.2 (32) Date: 1996-09-30T00:00:00+00:00 List-Id: From: Robert C. Leif, Ph.D. Vice President, Ada_Med Date: 30 September, 1996 On Sun, 15 Sep 1996 06:27:06 -0400 Professor Robert Dewar Responded to my note "Ada95 Should be a Multivolume ISO Standard" Subject: Re: Ada95 Should be a Multivolume ISO Standard Since this text involves quotes from two individuals, I (Robert Leif) will indicate the author by the first letter of his last name being placed at the beginning of the quoted paragraph. Leif => L; Dewar => D; My new comments will NOT be in quotes. L. Introduction: Professor Dewar and I have different views on the advisability of making interim changes to the Ada Standard. I suspect that we are looking at the problem from two different prospectives. He is viewing it, as a superb software engineer, and I am looking at it from a business perspective. I believe the vast majority of the readers of this note would very much like to see greater commercial usage of Ada. I hope my arguments lead to a way to accomplish this without sacrificing the quality of Ada's design. Robert Leif wrote: L. suggested, "The first step is to change Ada 95 from a single to a multivolume ISO standard. The specification of Ada presently is based on the waterfall model and occurs at periods greater than a decade. A multivolume standard would permit the classic software approach of divide and conquer. The spiral mode, which is the method of choice for most software development, should be applied to Ada." L. "The second step is to employ some standard's group, such as the IEEE, to place its imprimatur on Provisional changes to Ada. I define Provisional to mean, this is our present design; but, we can NOT guarantee that it will stay in its present form. Experience may require that it be changed." L. "My personal choice for the standard's group is ACM SigAda. I quite well realize that the ACM is presently not a standards organization. However, the ACM SigAda has the great advantage of being composed of Ada enthusiasts." Robert Dewar replied D. "I strongly disagree with Bob Leif's suggestion. Yes, ACM SigAda is indeed a great source of Ada enthusiasts. It is thus a good source of ideas for language changes, and indeed during the Ada 95 process, many of the suggestions for change originated from the language issues working group of SigAda." D. "However, it is not a suitable group at all for generating formal changes to the standard, since this is an activity that requires more than enthusiasm. It requires a substantial expenditure of time (not something SigAda volunteers are likely to be able to provide), and a lot of experience in language design, and a VERY detailed knowledge of the semantic issues in Ada." L. My reason for suggesting SigAda was that it was an Ada group; rather than, ANSI or the IEEE, where one could not be sure who would be selected to approve the provisional standard. I could live with the Ada Resource Association (ARA) if it was, as originally, open to all Ada enthusiasts or to a joint ARA and ACM SigAda Provisional Standards Committee. If AJPO or a successor organization with similar functions exists, it could also provide a member or two of this Provisional Standards Committee. L. As far as the capacity of ACM SigAda to create an Ada Provisional Standards Committee, I suspect that virtually all of the Ada experts who would be appropriate to pass on Provisional Standards are members of ACM SigAda. D. "The whole idea of a multi-volume standard for Ada is a bad one. it is a recipe for changes getting into the language without adequate study and care." D. "Much better is to keep the entire process of developing extensions to Ada informal, as has been done very successfully with other languages (note that C++ is not yet even a single volume ISO standard!)" L. C++ now has enough flavors to hopefully fade away into its well deserved oblivion. I wanted an intermediate group to insure that we do not over a period of 12 years develop proprietary extensions. L. It must be noted, that we have had the painful experience of having available a technology superior to its competitors, Ada 83, that achieved minimal commercial acceptance. I believe one of the significant causes for this lack of acceptance was the poor fit with commercial GUIs like Microsoft Windows and X Windows. The absence of a callback did us in. I want to emphasize that the lack of a callback was NOT a design mistake. A reputable group of software engineers can not be expected to anticipate the design choices of others who work on different languages. The fault was in the process. L. When a significant problem, such as commercial windowing software, appears, there should be a mechanism short of a complete review of the language to institute change. I also believe that a mechanism should be developed to permit new annexes to be added to the standard. Otherwise, other groups can define the equivalent of new annexes and have them approved without going through ISO/IEC JTC/SC22 Working Group 9 (WG9). L. After a provisional standard or Annex has been in use for some reasonable period, for instance two years, WG9 could formally incorporate it into the appropriate volume of the ISO Ada standard, or suggest changes including to wait until the next complete review of Ada, or reject the provisional standard or Annex. D. "Let's discuss ideas for changes, a good example is Tuck's with type suggestion for solving the circular reference problem, agree on possible approaches, and then prototype and experiment with these ideas using GNAT (that's one of the things GNAT is intended to enable!)" L. Absolutely! I would hope that GNAT would permit researchers to create prototype extensions and changes to Ada that would provide the empirical data needed for the next major review of the language. This in itself would justify the DoD's expenditure for GNAT. D. "Then if an idea seems like it is reasonable and has consensus, it can be developed as an informally agreed on extension by the various vendors, which will allow us to investigate possible implementation problems." L. I think what Robert Dewar described above is a second source agreement. This is the accepted practice in the semiconductor industry. I have nothing against second source agreements, as a first step. However, I believe that after a reasonable time, it would be more in keeping with current standardization practices to have a public group create a provisional standard. D. "If there are no such problems, then eventually the feature may find its way into the next version of the language, or it may still not, because the whole point of a language revision is to study the coherence of various possible features. if all the good ideas for Ada 9X had been added to Ada 83 one by one, we would have a horrendous mess on our hands." L. Probably not. There are parts of Ada that are not strongly coupled for example Annex B: Interface to Other Languages, Package Interfaces Functions on Unsigned_n and the ability to have access-to-subprogram types be an argument to another subprogram. L. However, I wish to very strongly emphasize that I am not asking for major changes that are strongly coupled to the rest of the language; but only, reasonable additions and minor fixes. I believe that there has to be a language development process that is neither a waterfall nor bottom up. I strongly believe that the language should NOT be defined as what the chief operating officer or owner of the compiler company determines this minute. However, I do not wish Ada to be cast in stone for ten to twelve years. L. What I have suggested is a constrained spiral model. Changes to the Ada Specification will still have to be approved by ISO WG9. The specification of a language is a software process and should be covered by the same software engineering techniques employed to develop and maintain any other major software artifact. No other software artifact has the rule that nothing can be changed during a decade of maintenance. Robert C. Leif, Ph.D. Vice President Ada_Med Tel. & Fax (619) 582-0437 e-mail rleif@cts.com