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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,30a9bb3017fa58dd X-Google-Attributes: gid103376,public X-Google-Thread: 1025b4,959627a08fbc77c5 X-Google-Attributes: gid1025b4,public From: Robert Dewar Subject: Re: GNAT versions ( was :Ada compiler for PC?) Date: 1999/05/05 Message-ID: <7gpsrd$qc7$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 474359994 References: <7fndu7$im4$1@nnrp1.dejanews.com> <7g5ju3$qpb$1@nnrp1.dejanews.com> <7gbjhg$s98$1@rtl.cygnus.com> X-Http-Proxy: 1.0 x16.dejanews.com:80 (Squid/1.1.22) for client 205.232.38.4 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Wed May 05 16:49:51 1999 GMT Newsgroups: comp.lang.ada,gnu.misc.discuss X-Http-User-Agent: Mozilla/3.01SC-SGI (X11; I; IRIX 5.3 IP22) Date: 1999-05-05T00:00:00+00:00 List-Id: In article , mrs@kithrup.com (Mike Stump) wrote: > In article <7gbjhg$s98$1@rtl.cygnus.com>, > I don't think any of this was related to GNAT. My take is just a > simple conflict of styles. It only delayed EH by 2-7 years. My > choice, would have been to not delay it, and just get it working, then > working well, then well ported, then clean up the interfaces and > documentation. That certainly seems backwards to me, for me the sequence of software production goes like: design and document the interfaces refine the interfaces till they are correct then implement I find the style of doing things backwards worrisome, though I realize it is common enough, especially in the C community. We certainly follow this procedure internally at ACT. If someone thinks a new feature is useful, then first we have a general discussion of the idea, then we design the feature (e.g. package specs are produced and reviewed), then we do the implementation of the bodies. I doubt this description of normal software design procedures seems strange, at least I would expect it was entirely familiar to the comp.lang.ada users reading this! The trouble with doing things backwards is that you are realying FAR too heavily on testing alone as the criterion for correctness. Even if there were a comprehensive and systematic test suite, including significant amounts of code, testing is never sufficient on its own to ensure that your design is correct. I must say I am a little puzzled by Mike's reluctance to document things. If EH was really delayed 7 years because of this (I think that's a bit of an exaggeration :-) it is a pity ... As to whether one should bend the rules and allow things to be implemented without documentation, and instead hope for documentation to appear later, it's hard to say. Sometimes you DO have to make this compromise, but it often does not work out well. The trouble is that many people who have this code-now, document-later approach have a lot of trouble coming through with the documentation later. For me personally, writing well documented code is a pleasure, sort of like writing a text book that students like to read. If code is accessible and easy to understand, and good documentation is part of the reason, then that is a pleasing achievment in itself. I get the impression that a lot of programmers don't share this view, and find documentation a nuisance -- too bad. P.S. I still find the documentation of the exception handling stuff in GCC inadequate. This may be just lack of skill on my part in reading C code of this kind (clearly there is an expectation that you figure out some of the details of the specification by looking at the details of the coding, which I find uncomfortable. One unfortunate consequence is that the GNAT exception handling has been developed entirely independently, and I suspect that there could be more merging, though I am not sure of this, because to have an exception handling mechanism usable by both C++ and Ada 95, a perfectly reasonable goal, would require careful examination of the specifications *before* starting to implement. Anyway, I do agree with Mike on one important point, the exception handling requirements for GNAT had nothing at all to do with the development of EH handling in GCC! -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own