* Why no exception hierarchy ? @ 1995-03-23 23:10 Mogens Jensen 1995-03-24 11:19 ` Michel Gauthier 1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar 0 siblings, 2 replies; 47+ messages in thread From: Mogens Jensen @ 1995-03-23 23:10 UTC (permalink / raw) Hi all, I am, as many others, looking into Ada95. I am currently using C++, and am increasingly aware of some more or less serious flaws in the C++ language. One thing that puzzles me in Ada95 is that exceptions isn't hierarchical like in C++ and Delphi (and others, that I don't know of :) ). This would also help in the Numeric_Error is_a Constraint_Error problem. As OOP has been built into the language, class hierarchies/libraries will be built (or transferred from C++, maybe?); and these will probably throw exceptions. As far as I can see, a hierarchy of exceptions would help a lot in such a library. What is the rationale for this (I couldn't find it in either the AARM or the Rationale). Greetings from Jens Jakob Jensen, Denmark (using my fathers account) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-23 23:10 Why no exception hierarchy ? Mogens Jensen @ 1995-03-24 11:19 ` Michel Gauthier 1995-03-24 21:52 ` Tucker Taft ` (2 more replies) 1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar 1 sibling, 3 replies; 47+ messages in thread From: Michel Gauthier @ 1995-03-24 11:19 UTC (permalink / raw) In article <3ksv4s$f9e@news.uni-c.dk>, mojemj@unidhp.uni-c.dk (Mogens Jensen) wrote: >> [...] >> >> As OOP has been built into the language, class hierarchies/libraries will >> be built (or transferred from C++, maybe?); and these will probably throw >> exceptions. >> As far as I can see, a hierarchy of exceptions would help a lot in such >> a library. >> >> What is the rationale for this (I couldn't find it in either the AARM or >> the Rationale). I cannot answer about the rationale for this, but I can emphasize that something like an exception hierarchy was already implementable in Ada-83, indeed with a lot of genericity (and crashes of the ...X... compiler). Using Ada-95, exception identities are very similar to an 'exception type'. You can pass them as parameters, store them in data structures if suitable (stacks, queues, arrays, record fields). These stored exceptions or parameter exceptions can be raised and handled (using the equality operator). The use of access discriminants to exception identities permits to use an exception as a per-object parameter. All these features are probably sufficient (I have not yet built this exception hierarchy ) to satisfy your needs. So, in fact, is there any real need for more specific features ? -- Michel Gauthier - Laboratoire d'informatique - 123 avenue Albert Thomas F-87060 Limoges - fax +33()55457315 ----- Are the messages that objects exchange also objects ? ----- ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-24 11:19 ` Michel Gauthier @ 1995-03-24 21:52 ` Tucker Taft 1995-03-25 1:50 ` Kenneth Almquist 1995-03-27 19:23 ` Kenneth Almquist 2 siblings, 0 replies; 47+ messages in thread From: Tucker Taft @ 1995-03-24 21:52 UTC (permalink / raw) Michel Gauthier (gauthier@unilim.fr) wrote: : In article <3ksv4s$f9e@news.uni-c.dk>, mojemj@unidhp.uni-c.dk (Mogens : Jensen) wrote: : >> [...] : >> : >> As OOP has been built into the language, class hierarchies/libraries will : >> be built (or transferred from C++, maybe?); and these will probably throw : >> exceptions. : >> As far as I can see, a hierarchy of exceptions would help a lot in such : >> a library. : >> : >> What is the rationale for this (I couldn't find it in either the AARM or : >> the Rationale). : I cannot answer about the rationale for this, Early versions of Ada 9X included exception hierarchies. However, it was eliminated in favor of being able to pass information along with an exception. It is possible to create an incredibly elaborate exception facility, but the truth is, exceptions are mostly used for nearly fatal errors, or at least errors that are handled by resetting to some well-defined state. In these cases, you mostly want a dump of (human-readable) information to log in an error file or report to the user. Having lots of fine distinctions between different exceptions and lots of different exception handlers is probably overkill. Similarly, exception "signatures" for subprograms are overkill, in my view. They sound great in theory, but in practice, any fault tolerant system will end up having to have a handler for "others" anyway, if only to handle the case when a subprogram violates its exception signature ;-). The test is to write a large system using exception hierarchies, exception signatures, etc. Do these features really make the system more robust, or do they just add to the complexity and hence make the system less robust? : Michel Gauthier - Laboratoire d'informatique - 123 avenue Albert Thomas : F-87060 Limoges - fax +33()55457315 : ----- Are the messages that objects exchange also objects ? ----- -Tucker Taft stt@inmet.com Intermetrics, Inc. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-24 11:19 ` Michel Gauthier 1995-03-24 21:52 ` Tucker Taft @ 1995-03-25 1:50 ` Kenneth Almquist 1995-03-25 12:40 ` David Weller 1995-03-25 16:03 ` Larry Kilgallen, LJK Software 1995-03-27 19:23 ` Kenneth Almquist 2 siblings, 2 replies; 47+ messages in thread From: Kenneth Almquist @ 1995-03-25 1:50 UTC (permalink / raw) An example of something that the Ada 83 exception mechanism did not handle well is binding UNIX system calls to Ada. POSIX.5 maps all system call errors into a single exception named POSIX_Error, and provides a per-task error code variable. This is dangerous. Consider the following C code: if (unlink("file") < 0) printf("Could not delete file: %s\n", strerror(errno)); A naive translation of this code to Ada is: begin unlink("file"); exception when posix_error => put("Could not delete file: "); put(image(get_error_code)); new_line; end; This translation is incorrect because "image(get_error_code)", which corresponds to the C code "strerror(errno)" is evaluated after the first call to "put". If "put" modifies errno, the wrong error code will be printed. In short, passing data around in global variables is dangerous and leads to unreadable code. (Try showing the above code without the surrounding text to your office mate and see how long it takes him/her to spot the bug.) As far as I can tell, Ada 95 provides two ways to resolve this problem, neither of which I entirely like. One is to encode the error code in the exception message. Then we could have: function get_error_code(x: exception_occurence) return error_code; which would translate the exception_message into an error code. This seems to be an abuse of the intended purpose of the exception_message, which is to provide human-readable information on the exception. In addition, passing the error code around as a string seems cumbersome and inefficient. On the plus side, it is backward compatible with the existing POSIX.5 binding. The other approach is to map each error code to a separate exception and use query functions on exception identities to implement classes. In this case, one would write: exception when occurence : others => if is_system_call_error(exception_identity(occurence)) then -- code to handle exception goes here else raise; -- we aren't interested in this exception. end if; end; This approach leads to more complicated code than is ideal, because we write two tests for the identity of the exception (the "when" clause and the "if" statement). In Ada 83 it is possible to determine which exceptions are handled by a routine by simply scanning the "when" clauses; here you have to read the "if" statement as well. Have I missed overlooked any possibilities? Was this problem (making UNIX bindings to Ada) discussed during the Ada 9X revision process? Kenneth Almquist ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-25 1:50 ` Kenneth Almquist @ 1995-03-25 12:40 ` David Weller 1995-03-27 5:47 ` Kenneth Almquist 1995-03-25 16:03 ` Larry Kilgallen, LJK Software 1 sibling, 1 reply; 47+ messages in thread From: David Weller @ 1995-03-25 12:40 UTC (permalink / raw) In article <D5z3sF.1ou@nntpa.cb.att.com>, Kenneth Almquist <ka@socrates.hr.att.com> wrote: >An example of something that the Ada 83 exception mechanism did not handle >well is binding UNIX system calls to Ada. POSIX.5 maps all system call >errors into a single exception named POSIX_Error, and provides a per-task >error code variable. This is dangerous. Consider the following C code: > >[snip] > >Have I missed overlooked any possibilities? >Was this problem (making UNIX bindings to Ada) discussed during the Ada 9X >revision process? Look at the GNAT file i-cpoerr.ads (Interfaces.C.Posix_Error). It's in there. (I think it _solves_ the problem, but doesn't answer your concerns) -- Frustrated with C, C++, Pascal, Fortran? Ada95 _might_ be for you! For all sorts of interesting Ada95 tidbits, run the command: "finger dweller@starbase.neosoft.com | more" (or e-mail with "finger" as subj.) if u cn rd ths, u r gd enuf to chg to Ada :-) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-25 12:40 ` David Weller @ 1995-03-27 5:47 ` Kenneth Almquist 0 siblings, 0 replies; 47+ messages in thread From: Kenneth Almquist @ 1995-03-27 5:47 UTC (permalink / raw) dweller@Starbase.NeoSoft.COM (David Weller) writes: > Look at the GNAT file i-cpoerr.ads (Interfaces.C.Posix_Error). It's > in there. > > (I think it _solves_ the problem, but doesn't answer your concerns) It doesn't use exceptions. You are right, of course--any problem with exceptions can be _solved_ by simply not using exceptions. Why didn't I think of that? :-) Kenneth Almquist ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-25 1:50 ` Kenneth Almquist 1995-03-25 12:40 ` David Weller @ 1995-03-25 16:03 ` Larry Kilgallen, LJK Software 1 sibling, 0 replies; 47+ messages in thread From: Larry Kilgallen, LJK Software @ 1995-03-25 16:03 UTC (permalink / raw) In article <D5z3sF.1ou@nntpa.cb.att.com>, ka@socrates.hr.att.com (Kenneth Almquist) writes: > An example of something that the Ada 83 exception mechanism did not handle > well is binding UNIX system calls to Ada. POSIX.5 maps all system call > errors into a single exception named POSIX_Error, and provides a per-task > error code variable. This is dangerous. Dangerous? Sure. Smells of "errno" !!! > As far as I can tell, Ada 95 provides two ways to resolve this problem, > neither of which I entirely like. One is to encode the error code in the > exception message. Then we could have: > > function get_error_code(x: exception_occurence) return error_code; > > which would translate the exception_message into an error code. This > seems to be an abuse of the intended purpose of the exception_message, > which is to provide human-readable information on the exception. In > The other approach is to map each error code to a separate exception > and use query functions on exception identities to implement classes. > In this case, one would write: > > exception > when occurence : others => > if is_system_call_error(exception_identity(occurence)) then > Have I missed overlooked any possibilities? On VMS, DEC Ada (83) provides the pragma IMPORT_EXCEPTION, allowing you to assign an arbitrary Ada name to your choice of an OS-generated (or layered-product-generated) OS-style exception. Perhaps DEC Ada does the same thing on Unix -- I don't know. I do not know enough about Ada 95 to understand why this would not work, but I would be interested in comments from those who do know about Ada 95. Larry Kilgallen ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-24 11:19 ` Michel Gauthier 1995-03-24 21:52 ` Tucker Taft 1995-03-25 1:50 ` Kenneth Almquist @ 1995-03-27 19:23 ` Kenneth Almquist 1995-03-28 16:56 ` Larry Kilgallen, LJK Software 2 siblings, 1 reply; 47+ messages in thread From: Kenneth Almquist @ 1995-03-27 19:23 UTC (permalink / raw) kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software) writes: > For an address representation clause, which might be used to access hardware, > optimizing out dead assignments seems quite inappropriate. Is there no > Ada83 method of avoiding such an optimization for such objects? Pragma Atomic will suppress these optimizations. Kenneth Almquist ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-27 19:23 ` Kenneth Almquist @ 1995-03-28 16:56 ` Larry Kilgallen, LJK Software 1995-03-29 0:00 ` Kevin F. Quinn ` (3 more replies) 0 siblings, 4 replies; 47+ messages in thread From: Larry Kilgallen, LJK Software @ 1995-03-28 16:56 UTC (permalink / raw) In article <D645uH.Dqr@nntpa.cb.att.com>, ka@socrates.hr.att.com (Kenneth Almquist) writes: > kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software) writes: >> For an address representation clause, which might be used to access hardware, >> optimizing out dead assignments seems quite inappropriate. Is there no >> Ada83 method of avoiding such an optimization for such objects? > > Pragma Atomic will suppress these optimizations. I find no reference to Pragma Atomic in the manual for DEC Ada, which is supposedly validated against the Ada83 standard. Can you provide more information ? Larry Kilgallen ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-28 16:56 ` Larry Kilgallen, LJK Software @ 1995-03-29 0:00 ` Kevin F. Quinn 1995-03-30 0:00 ` Kevin F. Quinn 1995-03-31 0:00 ` Kenneth Almquist ` (2 subsequent siblings) 3 siblings, 1 reply; 47+ messages in thread From: Kevin F. Quinn @ 1995-03-29 0:00 UTC (permalink / raw) In article <1995Mar28.115614.9511@eisner>, kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software) wrote: > In article <D645uH.Dqr@nntpa.cb.att.com>, ka@socrates.hr.att.com (Kenneth Almquist) writes: > > kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software) writes: > >> For an address representation clause, which might be used to access hardware, > >> optimizing out dead assignments seems quite inappropriate. Is there no > >> Ada83 method of avoiding such an optimization for such objects? > > > > Pragma Atomic will suppress these optimizations. > > I find no reference to Pragma Atomic in the manual for DEC Ada, which > is supposedly validated against the Ada83 standard. Pragma Atomic is not required by Ada83. And there is no equivalent that is. Try looking under Pragma Volatile instead - XDAda certainly has it so DEC Ada might, given that they have the same front-end. Couldn't tell you for sure off-hand though - I have this nagging feeling that it's an XD enhancement. Note that GNAT has both Atomic and Volatile, and that they achieve different goals; Atomic forces reads and writes to an object to be indivisible, and Volatile forces all access to be direct to/from memory. Volatile is the one that stops the optimisations you're worrying about. I think some Ada83 compilers implement a pragma Atomic that does the job of pragma Volatile; but I'm not sure. I would have thought that anything with an address clause would not be optimised in such a way, and that the compiler would make no assumptions as to its stability. The '95 LRM says this explicitly: 13.3.19 If the Address if an object is specified, or it is imported or exported, then the implementation should not perform optimizations based on assumptions of no aliases. Note that this means that you could use pragma Export, for example, to achieve the desired effect. Just because you export something doesn't mean you actually have to use it outside the Ada environment :) You should check this with the '83 LRM et. al. though. Try writing something like: with System; procedure ResetKevsASIC is Kevs_Command_Register : Integer; for Kevs_Command_Register use at System.To_Address(16#101010#); begin Kevs_Command_Register := 16#0000#; Kevs_Command_Register := 16#0123#; end Test; and compile with assembly listing switched on (ADA/LIS/MAC <file>) and take a peek at the output. If you see two writes to the relevant location, you should be alright. If you just see one (where the value is 16#1234#) then you know that you need something else. I'd be surprised though... (horrified might be a better adjective :) ) pragma Volatile of course allows you to stop those optimisations from occurring on data that isn't located specifically with an address clause. That's the important difference. P.S. Forgive me if the System.To_Address bit is wrong; I don't have DEC Ada to hand here. You might need to use UnChecked_Conversion from Integer to System.Address. -- Kevin F. Quinn * "No-one ever made any money out of good kevq@banana.demon.co.uk * looks and charm." kevq@cix.compulink.co.uk * "You obviously haven't met Lady Hamilton..." Compu$erve: 100025,1525 * Blackadder III ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-29 0:00 ` Kevin F. Quinn @ 1995-03-30 0:00 ` Kevin F. Quinn 0 siblings, 0 replies; 47+ messages in thread From: Kevin F. Quinn @ 1995-03-30 0:00 UTC (permalink / raw) In article <19950329.215548.46@banana.demon.co.uk>, I wrote: > Try looking under Pragma Volatile instead - XDAda certainly > has it so DEC Ada might, given that they have the same front-end. > Couldn't tell you for sure off-hand though - I have this nagging feeling > that it's an XD enhancement. It does exist in DEC Ada. And it works. (And surprisingly enough, I was right about System.To_Address as well - must have been a good day :) ) -- Kevin F. Quinn * "No-one ever made any money out of good kevq@banana.demon.co.uk * looks and charm." kevq@cix.compulink.co.uk * "You obviously haven't met Lady Hamilton..." Compu$erve: 100025,1525 * Blackadder III ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-28 16:56 ` Larry Kilgallen, LJK Software 1995-03-29 0:00 ` Kevin F. Quinn @ 1995-03-31 0:00 ` Kenneth Almquist 1995-04-04 0:00 ` Robert Dewar 1995-04-07 0:00 ` Ada means what version by default ? Robert I. Eachus 3 siblings, 0 replies; 47+ messages in thread From: Kenneth Almquist @ 1995-03-31 0:00 UTC (permalink / raw) > In article <D645uH.Dqr@nntpa.cb.att.com>, ka@socrates.hr.att.com (Kenneth Almquist) writes: >> kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software) writes: >>> For an address representation clause, which might be used to access hardware, >>> optimizing out dead assignments seems quite inappropriate. Is there no >>> Ada83 method of avoiding such an optimization for such objects? >> >> Pragma Atomic will suppress these optimizations. My mistake; I meant pragma Shared. Pragma Atomic is that Ada 95 replacement for pragma Shared. Pragma Shared might not do what you want on some implementations because the the description refers to actions of other tasks. The intended implementation of pragma Shared is the same as that of pragma Atomic, but a smart compiler might use its knowledge of the other tasks and the way the run time scheduler works to perform optimizations that would be prohibited by pragma Atomic. Kenneth Almquist ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-28 16:56 ` Larry Kilgallen, LJK Software 1995-03-29 0:00 ` Kevin F. Quinn 1995-03-31 0:00 ` Kenneth Almquist @ 1995-04-04 0:00 ` Robert Dewar 1995-04-05 0:00 ` Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) Theodore Dennison ` (3 more replies) 1995-04-07 0:00 ` Ada means what version by default ? Robert I. Eachus 3 siblings, 4 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-04 0:00 UTC (permalink / raw) pragma Atomic is in Ada 85, it is not found in the obsolete language defined by the previous standard. Seriously, we should from now on consider on this newsgroup that Ada means Ada 95 by default. If people want to ask questions or make comments about Ada 83 they should be careful to specify that this is what they are talking about. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) 1995-04-04 0:00 ` Robert Dewar @ 1995-04-05 0:00 ` Theodore Dennison 1995-04-07 0:00 ` Robert Dewar [not found] ` <1995Apr4.210804.9579@eisner.decus.org> ` (2 subsequent siblings) 3 siblings, 1 reply; 47+ messages in thread From: Theodore Dennison @ 1995-04-05 0:00 UTC (permalink / raw) dewar@cs.nyu.edu (Robert Dewar) wrote: >pragma Atomic is in Ada 85, it is not found in the obsolete language defined >by the previous standard. > >Seriously, we should from now on consider on this newsgroup that Ada means >Ada 95 by default. If people want to ask questions or make comments about >Ada 83 they should be careful to specify that this is what they are talking >about. I think that will be a good idea, once a validated Ada 95 compiler exists. Gnat, R.R., and others have compilers that are damn close, perhaps even actually conform, but at the moment there is no Ada 95 compiler. This should only be an issue for another month or so. You guys can wait that long, can't you? T.E.D. (structured programming mafioso) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) 1995-04-05 0:00 ` Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) Theodore Dennison @ 1995-04-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) T.E.D. says we mustn't think Ada means Ada 95 till there are validated compilers. Hmm! maybe we could get the C++ folks to follow that same rule :-) One interesting effect of GNAT of course is that now there are more andd more students to whom Ada only means Ada 95 (one of the nice things about the academic world is that you don't get shot if you use a GASP! unvalidated compiler) ^ permalink raw reply [flat|nested] 47+ messages in thread
[parent not found: <1995Apr4.210804.9579@eisner.decus.org>]
* Re: Ada means what version by default ? [not found] ` <1995Apr4.210804.9579@eisner.decus.org> @ 1995-04-05 0:00 ` Michael Feldman 1995-04-06 0:00 ` Larry Kilgallen 1995-04-05 0:00 ` Kevin F. Quinn 1 sibling, 1 reply; 47+ messages in thread From: Michael Feldman @ 1995-04-05 0:00 UTC (permalink / raw) In article <1995Apr4.210804.9579@eisner.decus.org>, Larry Kilgallen <kilgallen@eisner.decus.org> wrote: >I strongly disagree. That language which has validated commercial >compilers most widely available should be the default. I think that is a reasonable expectation in this forum. >Of course, in the spirit of Ada, it would seem that the version should >be fully specified in all postings where it matters. Certainly, but I'd like to try and extract a promise from all us regulars that we won;t flame newbies who get it wrong. Please. Let's be polite and helpful. THAT will aid Ada's acceptance in a big way. Mike Feldman ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? 1995-04-05 0:00 ` Ada means what version by default ? Michael Feldman @ 1995-04-06 0:00 ` Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 0 siblings, 2 replies; 47+ messages in thread From: Larry Kilgallen @ 1995-04-06 0:00 UTC (permalink / raw) In article <3lv3g2$eek@felix.seas.gwu.edu>, mfeldman@seas.gwu.edu (Michael Feldman) writes: > In article <1995Apr4.210804.9579@eisner.decus.org>, > Larry Kilgallen <kilgallen@eisner.decus.org> wrote: >>Of course, in the spirit of Ada, it would seem that the version should >>be fully specified in all postings where it matters. > > Certainly, but I'd like to try and extract a promise from all us regulars > that we won;t flame newbies who get it wrong. Please. Let's be polite > and helpful. THAT will aid Ada's acceptance in a big way. Absolutely! There is an individual in another newsgroup who will flame any questioner who does not fully specify their problem environment (hey, if the questioner knew it all, they wouldn't be asking, would they). Others will answer politely presuming one environment either implicitly (not good) or explicitly (good). What I have seen on comp.language.ada, however is much better. Many folks will give _both_ the Ada 83 and Ada 95 answer. The crucial point is to make sure it comes across not as "if you are smart enough to have version X", but rather "if you happen to have version X available to you". Even if every vendor past and present were to instantaneously release an Ada 95 compiler, being the commercial money-grubbing capitalists that they are :-), they would probably charge for it. Not every user can afford to buy a new compiler, even if they are required to use commercial compilers. Correspondingly, some who can afford to buy a new compiler are not allowed to switch compilers in mid-contract. So there are lots of non-technical reasons to use Ada 83 for many years. Don't let this newsgroup become elitist. Larry Kilgallen ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? 1995-04-06 0:00 ` Larry Kilgallen @ 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 1 sibling, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) Larry, even if every vendor released an Ada 95 compiler right now, and offered you a free upgrade, it might well be unwise to accept it! You may well find it would cause trouble. Caution is needed in making the switch, and you are right, people will be using Ada 83 for a while to come for all sorts of reasons. If you have a good Ada 83 compiler, and it meets your needs, then there is no rush to change! Of course if you have to start a new project, and you have to have a validated compiler, then at some point (several years off), you will have no choice but to switch to Ada 95, because eventually Ada 83 validation will expire! ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? 1995-04-06 0:00 ` Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar @ 1995-04-07 0:00 ` Jean D. Ichbiah 1 sibling, 0 replies; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-07 0:00 UTC (permalink / raw) In article <1995Apr6.072906.9591@eisner.decus.org> kilgallen@eisner.decus.org (Larry Kilgallen) writes: >Even if every vendor past and present were to instantaneously release an >Ada 95 compiler, being the commercial money-grubbing capitalists that they >are :-), they would probably charge for it. Not every user can afford to >buy a new compiler[...] The cost of the compiler is but the tip of the iceberg: if you are running a project of a million line or so, you are likely to have baselined your compiler and the cost of changing (and confronting 95 incompatibilities) could very well be several order of magnitude higher than the compiler costs. >So there are lots of non-technical reasons to use Ada 83 for many years. For example, the fact that a given target may be used for your project, have a decent Ada compiler, but be insufficiently present on the market to entice any vendor to supply a 95 compiler. Jean D. Ichbiah ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? [not found] ` <1995Apr4.210804.9579@eisner.decus.org> 1995-04-05 0:00 ` Ada means what version by default ? Michael Feldman @ 1995-04-05 0:00 ` Kevin F. Quinn 1995-04-07 0:00 ` Robert Dewar 1 sibling, 1 reply; 47+ messages in thread From: Kevin F. Quinn @ 1995-04-05 0:00 UTC (permalink / raw) In article <1995Apr4.210804.9579@eisner.decus.org>, kilgallen@eisner.decus.org (Larry Kilgallen) wrote: > In article <3ls5sb$nl8@gnat.cs.nyu.edu>, dewar@cs.nyu.edu (Robert Dewar) writes: > > Seriously, we should from now on consider on this newsgroup that Ada means > > Ada 95 by default. > > I strongly disagree. That language which has validated commercial > compilers most widely available should be the default. > > Of course, in the spirit of Ada, it would seem that the version should > be fully specified in all postings where it matters. I'd agree there. Robert D. is in a bit of a special position w.r.t. Ada95; most Ada use out there is Ada83 (by a very long way). And that will probably continue to be the case for a good few years yet, given the duration of a typical Ada project and the availability (or lack) of tried, tested and trusted compilers. I would also submit that when people refer to Ada95, it is likely that they will mention it, often by reference to which version of GNAT they are using - partly 'coz the version of GNAT is often important, and partly because they recognise the as-yet weak penetration of Ada95 into the market. Whereas an Ada83 user is much more likely just to say "Ada", and is often completely unaware that Ada95 even exists. I certainly intend to specify both ways as far as this group was concerned, and I humbly submit that this is the best way to go, for a while at any rate. That way any newcomers will see immediately that there are two types of Ada, Ada83 and Ada95 -- Kevin F. Quinn * "No-one ever made any money out of good kevq@banana.demon.co.uk * looks and charm." kevq@cix.compulink.co.uk * "You obviously haven't met Lady Hamilton..." Compu$erve: 100025,1525 * Blackadder III ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? 1995-04-05 0:00 ` Kevin F. Quinn @ 1995-04-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) Kevin says: "I'd agree there. Robert D. is in a bit of a special position w.r.t. Ada95; most Ada use out there is Ada83 (by a very long way). And that will probably continue to be the case for a good few years yet, given the duration of a typical Ada project and the availability (or lack) of tried, tested and trusted compilers." Hmm! this reflects a view that Ada is only used on giant projects. More and more a typical Ada project is a couple of hundred lines long, if that, written by a student for some project. It would be interesting to know how many professional Ada programmers there are in the world working on big projects. We estimate that between 5,000 and 10,000 people have downloaded GNAT from us and various mirror sites. And of course, when students are using the compiler, they don't download it individually, furthermore we have no way of including the number of people who get it off CD ROM's etc. How do you want to do the comparison? if you allow only big DoD projects in the comparison, no doubt Kevin is right, but if you count all programmers who have written in Ada, or even count lines of code, the switch over may be faster than you think (students churn out lots of code pretty fast :-) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-04 0:00 ` Robert Dewar 1995-04-05 0:00 ` Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) Theodore Dennison [not found] ` <1995Apr4.210804.9579@eisner.decus.org> @ 1995-04-05 0:00 ` Michael Feldman 1995-04-05 0:00 ` Jean D. Ichbiah 3 siblings, 0 replies; 47+ messages in thread From: Michael Feldman @ 1995-04-05 0:00 UTC (permalink / raw) In article <3ls5sb$nl8@gnat.cs.nyu.edu>, Robert Dewar <dewar@cs.nyu.edu> wrote: >Seriously, we should from now on consider on this newsgroup that Ada means >Ada 95 by default. If people want to ask questions or make comments about >Ada 83 they should be careful to specify that this is what they are talking >about. Sorry, Robert. This is a reasonable expectation only for folks like you and me (and other regulars) who have hung around this group and the Ada community for years. We bemoan Ada's lack of acceptance; we can contribute a good deal to Ada's acceptance by being very careful to be polite to newbies who may not be up to date on what's 83 and what's 95. Some of them even spell the name wrong. It really is not that much work to be nice to these guys. The Ada community is far too incestuous; let's make sure we are not acting as our own enemy. Flip remarks about "obsolete languages" really aren't helpful. Mike Feldman ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-04 0:00 ` Robert Dewar ` (2 preceding siblings ...) 1995-04-05 0:00 ` Why no exception hierarchy ? Michael Feldman @ 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Robert A Duff ` (4 more replies) 3 siblings, 5 replies; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-05 0:00 UTC (permalink / raw) In article <3ls5sb$nl8@gnat.cs.nyu.edu> dewar@cs.nyu.edu (Robert Dewar) writes: >pragma Atomic is in Ada 85, it is not found in the obsolete language defined >by the previous standard. >Seriously, we should from now on consider on this newsgroup that Ada means >Ada 95 by default. If people want to ask questions or make comments about >Ada 83 they should be careful to specify that this is what they are talking >about. Dear Robert, Since when have you become an adept of the Soviet practice of rewriting history? There is no such thing as Ada 83: it is called Ada. Moreover, look at the cover of the new standard and as far as I can read it refers to a language called Ada 95! As a Gnat vendor your zeal at burrying Ada prematurely is clearly understandable, but let us be a bottle of Dom Perignon that total lines of Ada 95 do not exceed those of Ada before 2000? Please respond if you accept the bet. We probably have hundreds of witnesses in this newsgroup. Best regards, Jean P.S. You realize this is a bet I cannot loose: in 2000 I will celebrate my 60th and Dom Perignon will be quite proper. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah @ 1995-04-05 0:00 ` Robert A Duff 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Garlington KE ` (3 subsequent siblings) 4 siblings, 1 reply; 47+ messages in thread From: Robert A Duff @ 1995-04-05 0:00 UTC (permalink / raw) In article <ichbiah.271.2F82D56D@jdi.tiac.net>, Jean D. Ichbiah <ichbiah@jdi.tiac.net> wrote: >Since when have you become an adept of the Soviet practice of >rewriting history? There is no such thing as Ada 83: it is called >Ada. Moreover, look at the cover of the new standard and as >far as I can read it refers to a language called Ada 95! Jean, The title of the ISO standard is "Information Technology -- Programming languages -- Ada". No "95" there. A different cover was added to the version that was sent out by the Ada 9X office. The Foreword says, "This second edition cancels and replaces the first edition (ISO 8652:1987), of which it constitutes a technical revision." So as far as ISO is concerned, "Ada" refers to the 1995 version of the language. (Also, as far as ISO is concerned, Ada 83 is really Ada 87!) - Bob ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Robert A Duff @ 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 0 siblings, 1 reply; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-05 0:00 UTC (permalink / raw) In article <D6Ky3v.DGn@world.std.com> bobduff@world.std.com (Robert A Duff) writes: >From: bobduff@world.std.com (Robert A Duff) >Subject: Re: Why no exception hierarchy ? >Date: Wed, 5 Apr 1995 20:55:07 GMT >In article <ichbiah.271.2F82D56D@jdi.tiac.net>, >Jean D. Ichbiah <ichbiah@jdi.tiac.net> wrote: >>Since when have you become an adept of the Soviet practice of >>rewriting history? There is no such thing as Ada 83: it is called >>Ada. Moreover, look at the cover of the new standard and as >>far as I can read it refers to a language called Ada 95! >Jean, >The title of the ISO standard is "Information Technology -- Programming >languages -- Ada". No "95" there. A different cover was added to the >version that was sent out by the Ada 9X office. This is by a factor of 100 the document that will be available to the public. >The Foreword says, "This second edition cancels and replaces the first >edition (ISO 8652:1987), of which it constitutes a technical revision." This is the Soviet practice of thinking you can "cancel history" Jean D. Ichbiah P.S. How about writing "This new edition cancels the previous version of Robert Duff of which it constitutes a technical revision". :-) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah @ 1995-04-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) Jean says: ">The Foreword says, "This second edition cancels and replaces the first >edition (ISO 8652:1987), of which it constitutes a technical revision." This is the Soviet practice of thinking you can "cancel history" " Gosh, I guess when Jean talks about PC's he means a 4.77 MHz machine using an 8088, except perhaps in the SU (which I notice itself has been canceled) where no doubt the practice is to use PC to mean a somewhat different machine. Superceding old technology with new technology has nothing to do with rewriting history, it simply has to do with technological progress. The ISO standard for any language (COBOL, Fortran etc.) always means the most recent version. We really have two usages to consider here: Popular usage. When people say Fortran, they typically mean the latest version they are using. Right now for example, that is mostly Fortran 77, but is rapidly switching to Fortran 90. Official usage. As dictated by the standards body. In this usage, Ada definitely means the current standard and no other. Note that in neither usage does COBOL refer to the original version. When the word Fortran is used, no one means the original Fortran (this was true even in 1965, when Fortran already meant Fortran-2). So I am afraid that Jean's understandable insistence that Ada mean only the language he originally designed won't have much effect. For Ada, the informal popular usage is mixed. Already when someone asks a question about Ada (undesignated) on this newsgroup, answers come in assuming the meaning was Ada 95, and as time goes on that will be more common. So perhaps it is premature to point out that eventually Ada will mean only Ada 95 in popular usage, but it is certainly the case that using Ada to mean Ada 83 is going to be increasingly confusing. So, to repeat my second suggestion, I think it is a good idea if everyone on this newsgroup clearly says Ada 83 or Ada 95 to make the disctinction clear. We will know that Jean means Ada 83 when he says Ada, but then he doesn't need to ask beginner's questions about Ada 83 anyway :-) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Robert A Duff @ 1995-04-05 0:00 ` Garlington KE 1995-04-06 0:00 ` Versions of Ada (was Why no exception hierarchy ?) Larry Kilgallen 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar ` (2 subsequent siblings) 4 siblings, 1 reply; 47+ messages in thread From: Garlington KE @ 1995-04-05 0:00 UTC (permalink / raw) Jean D. Ichbiah (ichbiah@jdi.tiac.net) wrote: : Since when have you become an adept of the Soviet practice of : rewriting history? There is no such thing as Ada 83: it is called : Ada. Moreover, look at the cover of the new standard and as : far as I can read it refers to a language called Ada 95! Actually, mine just says "Information technology - Programming languages - Ada". : As a Gnat vendor your zeal at burrying Ada prematurely is : clearly understandable, but let us be a bottle of Dom Perignon : that total lines of Ada 95 do not exceed those of Ada before 2000? Ummm.. if I compile my Ada [not 95] code with my Tartan 9X compiler in a couple of years, will that make it Ada 95 code? If so, this might be an interesting bet! Will enough Ada [not 95] compilers support Ada 95 by 2000 that most of the existing Ada code has been recompiled under at least one of them by one user? -------------------------------------------------------------------- Ken Garlington GarlingtonKE@lfwc.lockheed.com F-22 Computer Resources Lockheed Fort Worth Co. If LFWC or the F-22 program has any opinions, they aren't telling me. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Versions of Ada (was Why no exception hierarchy ?) 1995-04-05 0:00 ` Garlington KE @ 1995-04-06 0:00 ` Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Garlington KE 0 siblings, 2 replies; 47+ messages in thread From: Larry Kilgallen @ 1995-04-06 0:00 UTC (permalink / raw) In article <3lurur$esb@butch.lmsc.lockheed.com>, l107353@cliffy.lfwc.lockheed.com (Garlington KE) writes: > Jean D. Ichbiah (ichbiah@jdi.tiac.net) wrote: > : As a Gnat vendor your zeal at burrying Ada prematurely is > : clearly understandable, but let us be a bottle of Dom Perignon > : that total lines of Ada 95 do not exceed those of Ada before 2000? > > Ummm.. if I compile my Ada [not 95] code with my Tartan 9X compiler in > a couple of years, will that make it Ada 95 code? > > If so, this might be an interesting bet! Will enough Ada [not 95] compilers > support Ada 95 by 2000 that most of the existing Ada code has been recompiled > under at least one of them by one user? Even though I am a teetotaller, I do not want to stand between these two folks and their Dom Perignon. I do think, however, that what is crucial is not what goes on inside the computer, but what goes on inside the mind of the programmer. Even if Ada 95 is "better" for some purposes, It is not better for all. I used Ada for 6 years without ever using Tasking. I had no need for Tasking. Last year a new project brought me to Ada specifically due to a need for Tasking. That is in a project situation where Ada would otherwise be a total non-contender due to lack of a supported compiler, particularly on the Macintosh. (P.S., supported on the Macintosh means the vendor stays up to date with each new toolbox as Apple distributes it to thousands of developers six months in advance of public release.) Don't _ever_ turn up your nose at _any_ Ada user who lacks a need for every bell and whistle ever invented. Until you are able to point to solid supported commercial compilers for every platform (in my environment) and freeware compilers for every platform (for education environments), every Ada convert should be received lovingly regardless of version affiliation. (By the way, most of my latest project is in Pascal, due to widespread availability. There is a bit of VAX Scan, however, to convert between Pascal dialects on various platforms. That is why I love Ada -- compilers at least attempt to comply with standards.) Larry Kilgallen using Ada without government mandate ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Versions of Ada (was Why no exception hierarchy ?) 1995-04-06 0:00 ` Versions of Ada (was Why no exception hierarchy ?) Larry Kilgallen @ 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Garlington KE 1 sibling, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) I absolutely agree that we should not turn up our noses at any user of Ada, whatever version they are using! What we need to avoid is the now quite common occurrence where some use of an Ada-83 compiler asks a question about "Ada", and several people give what turn out to be unhelpful assumptions that Ada 95 is involved. Example: Someone using Dec Ada on a VAX under VMS: How do I read command line parameters. Several helpful responses that turn out not so helpful: No problem use the Ada.Command.Line package equally if the questioner is indeed an Ada 95 user, then it is not very helpful for someone to write an answer: Well on the VAX is use (some strange Dec dependent stuff). Hope that helps! (but of course it doesn't help at all) So we can probably all agree on the need to encourage everyone to distinguish between Ada 83 and Ada 95. Clearly from this interchange, it is going to cause confusion to use just Ada if we are talking technical issues. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Versions of Ada (was Why no exception hierarchy ?) 1995-04-06 0:00 ` Versions of Ada (was Why no exception hierarchy ?) Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar @ 1995-04-07 0:00 ` Garlington KE 1 sibling, 0 replies; 47+ messages in thread From: Garlington KE @ 1995-04-07 0:00 UTC (permalink / raw) Larry Kilgallen (kilgallen@eisner.decus.org) wrote: : Even if Ada 95 is "better" for some purposes, It is not better for all. : I used Ada for 6 years without ever using Tasking. I had no need for : Tasking. I think this was my point. You can use "Ada 95" without using all of "Ada 95". Even if you don't use a single new major feature in "Ada 95," I would still think it would be better to use an Ada 95 compiler just to get rid of some of those annoying parts of Ada pre-95. Of course, Dr. Ichbias' comments about conversion costs are very valid, but for a new project, I would always start with Ada 95 if I could. Of course, if you want to use a Tartan compiler anytime after the next couple of years, you're going to get Ada 95 whether you want it or not, pretty much. For my project, I think this is a Good Thing. And, boy, those static pointers are going to be GREAT! <g> Oddly enough, back in the late '80's I was routinely told by various Air Force and Navy types that we _weren't_ using Ada, since we didn't use tasking either. I hear a lot less of that these days... -------------------------------------------------------------------- Ken Garlington GarlingtonKE@lfwc.lockheed.com F-22 Computer Resources Lockheed Fort Worth Co. If LFWC or the F-22 program has any opinions, they aren't telling me. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Robert A Duff 1995-04-05 0:00 ` Garlington KE @ 1995-04-06 0:00 ` Robert Dewar 1995-04-07 0:00 ` Norman H. Cohen ` (2 more replies) 1995-04-06 0:00 ` Robert Dewar 1995-04-06 0:00 ` Robert Dewar 4 siblings, 3 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-06 0:00 UTC (permalink / raw) well I understand Jean may like to think that Ada still means Ada 83, but that is not the way that the international standardization of a language works. The standardized language is called Ada, not Ada 95. The name "Ada 95" has no official status, it is just a convenient handle for advertising, like Fortran 77 (the official language name is simply Fortran). So if you ask what is standard Ada, the only existing standards for Ada are for the new version, which we call Ada 95. In ISO and ANSI terms, it is not even valid to reference the old standards, because they have been obsoleted by the new standards. This is how all language standards work. My recomendation that Ada mean the new language has nothing to do with me being involved with GNAT, it is merely in line with the proper usage of both the ANSI and international standards. Since this newsgroup is generally discussing latest technology, more and more posts are concerned with the current Ada, rather than the now obsolete version, and that trend will probably continue. It is certainly a good idea to be clear on what version you mean. But if people use Ada on its own, it is reasonable to suggest that we have a consistent understanding of what this means. Since it definitely means the new version in ISO and ANSI speak, and we cannot change that usage, we may as well be consistent with it. Jean says there is no such language as Ada 83, true, in this same sense there is no such language as Ada 95. These are just informal usages. If you get a copy of the ISO standard, it will not say Ada 95, it will just say Ada. Note that the copies of RM 6.0 recently mailed out by the Ada 9X project office are NOT official copies of the standard (you can tell by the paragraph numbers, paragraph numbers are not allowed in ISO standards). Probably the best recommendation is to clearly specify which version you are talking about, using Ada 83 and Ada 95, since these are the common informat designations we are used to. People using Ada on its own, assuming that people will realize they mean Ada 83, will find themselves increasingly misunderstood. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar @ 1995-04-07 0:00 ` Norman H. Cohen 1995-04-07 0:00 ` Garlington KE 1995-04-07 0:00 ` Jean D. Ichbiah 2 siblings, 0 replies; 47+ messages in thread From: Norman H. Cohen @ 1995-04-07 0:00 UTC (permalink / raw) In article <dewar.797220950@schonberg>, dewar@cs.nyu.edu (Robert Dewar) writes: |> Note that the copies of RM 6.0 recently mailed out by the Ada 9X |> project office are NOT official copies of the standard (you can tell by |> the paragraph numbers, paragraph numbers are not allowed in ISO standards). The following special Competitive Upgrade Offer from ISO is good only during the first week of april: For a fraction of the cost of an official ISO standard, they will send you an Upgrade Kit, consisting of a bottle of opaquing fluid that you can use to hide the paragraph numbers in RM 6.0. -- Norman H. Cohen ncohen@watson.ibm.com ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar 1995-04-07 0:00 ` Norman H. Cohen @ 1995-04-07 0:00 ` Garlington KE 1995-04-07 0:00 ` Jean D. Ichbiah 2 siblings, 0 replies; 47+ messages in thread From: Garlington KE @ 1995-04-07 0:00 UTC (permalink / raw) Robert Dewar (dewar@cs.nyu.edu) wrote: : So if you ask what is standard Ada, the only existing standards for Ada : are for the new version, which we call Ada 95. Although, to be fair, it is still valid to reference MIL-STD-1815(A) if you work for the good old US DOD. -------------------------------------------------------------------- Ken Garlington GarlingtonKE@lfwc.lockheed.com F-22 Computer Resources Lockheed Fort Worth Co. If LFWC or the F-22 program has any opinions, they aren't telling me. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar 1995-04-07 0:00 ` Norman H. Cohen 1995-04-07 0:00 ` Garlington KE @ 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 2 siblings, 1 reply; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-07 0:00 UTC (permalink / raw) In article <dewar.797220950@schonberg> dewar@cs.nyu.edu (Robert Dewar) writes: >The standardized language is called Ada, not Ada 95. The name "Ada 95" has >no official status, it is just a convenient handle for advertising, like >Fortran 77 (the official language name is simply Fortran). This notion of "official" status or name diKtated by ISO gives it more power to rewrite history than they really can. Following you, then, you must be saying Windows to mean the latest version: Windows NW 3.51 and this instantly has all 3.1 users disappear in a blackhole that not even 95 will rescue. Safer to state full name. Jean D. Ichbiah ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-07 0:00 ` Jean D. Ichbiah @ 1995-04-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) JDI says: "Following you, then, you must be saying Windows to mean the latest version: Windows NW 3.51 and this instantly has all 3.1 users disappear in a blackhole that not even 95 will rescue." Actually since Windows is not a standard, it is just a trademark of MS, no such statements can be made. Standards make a big difference. For instance, it is quite important for people in this newsgroups to distinguish between Ada (the standardized language), and Ada (the language implemented by their local compiler). The confusion between the two is the source of many problems (in Ada and all other standardized languages). ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah ` (2 preceding siblings ...) 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar @ 1995-04-06 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-06 0:00 ` Robert Dewar 4 siblings, 1 reply; 47+ messages in thread From: Robert Dewar @ 1995-04-06 0:00 UTC (permalink / raw) I am happy to accept this bet. We now estimate that there are over 5000 users of GNAT, and we are accumulating code at a rapid rate, and people only send us bugs :-) Of course if we get rid of all the bugs, then no one will send us any more code. How do we adjudicate this comparison? ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Robert Dewar @ 1995-04-07 0:00 ` Jean D. Ichbiah 0 siblings, 0 replies; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-07 0:00 UTC (permalink / raw) In article <dewar.797221436@schonberg> dewar@cs.nyu.edu (Robert Dewar) writes: >I am happy to accept this bet.[...] >How do we adjudicate this comparison? If it is obvious we will know, if not we will toss a coin. Jean D. Ichbiah ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-05 0:00 ` Jean D. Ichbiah ` (3 preceding siblings ...) 1995-04-06 0:00 ` Robert Dewar @ 1995-04-06 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 4 siblings, 1 reply; 47+ messages in thread From: Robert Dewar @ 1995-04-06 0:00 UTC (permalink / raw) There is only one condition on the bet, and that is that whoever pays for the bottle, we have to drink it together, OK? Robert ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Robert Dewar @ 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 0 siblings, 1 reply; 47+ messages in thread From: Jean D. Ichbiah @ 1995-04-07 0:00 UTC (permalink / raw) In article <dewar.797221638@schonberg> dewar@cs.nyu.edu (Robert Dewar) writes: >From: dewar@cs.nyu.edu (Robert Dewar) >Subject: Re: Why no exception hierarchy ? >Date: 6 Apr 1995 22:27:59 -0400 >There is only one condition on the bet, and that is that whoever pays for >the bottle, we have to drink it together, OK? >Robert Was there ever any other possible interpretation? ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-07 0:00 ` Jean D. Ichbiah @ 1995-04-07 0:00 ` Robert Dewar 0 siblings, 0 replies; 47+ messages in thread From: Robert Dewar @ 1995-04-07 0:00 UTC (permalink / raw) "Was there ever any other possible interpretation?" No of course not, but I want other to be clear on that. Sometimes people have heard us arge fiercely, e.g. in the ARG, and concluded that we must be in the mode of avoiding one another on the street :-) My favorite memory was one ARG meeting, where you got up and said "Ah yes, now that Robert has called my ideas 'incredible junk', I see I must be completely wrong :-)" (and yes, the smiley belongs *inside* the quotes here!) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Ada means what version by default ? 1995-03-28 16:56 ` Larry Kilgallen, LJK Software ` (2 preceding siblings ...) 1995-04-04 0:00 ` Robert Dewar @ 1995-04-07 0:00 ` Robert I. Eachus 3 siblings, 0 replies; 47+ messages in thread From: Robert I. Eachus @ 1995-04-07 0:00 UTC (permalink / raw) In article <ichbiah.280.2F856EEB@jdi.tiac.net> ichbiah@jdi.tiac.net (Jean D. Ichbiah) writes: > The cost of the compiler is but the tip of the iceberg: if you are > running a project of a million line or so, you are likely to have > baselined your compiler and the cost of changing (and confronting > 95 incompatibilities) could very well be several order of > magnitude higher than the compiler costs. Could be, but the evidence so far is that the differences between compilers are more likely to cause problems, and that has not been a major problem in Ada. In many cases moving to 9X has been compile, rerun tests, and go. (But first you must get to the point where your major problem is not compiler bugs in the 9X compiler.) > For example, the fact that a given target may be used for your > project, have a decent Ada compiler, but be insufficiently present > on the market to entice any vendor to supply a 95 compiler. This is turning out to be the major issue, but it is cutting both ways. For a few hardware architectures, most notably the 68K family, staying with 83 seems currently to be the prudent choice. With many other architectures, such as the Power PC, Ada 95 compilers seem to be more mature today... (Flame retardant: Just so I don't get overly toasted, I'm not just talking general software development, but in particular embedded systems. Compiler, toolset, chapter 13, existing bindings, and long term support are all important, and two projects with the same target can and will reach different conclusions.) -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is... ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-23 23:10 Why no exception hierarchy ? Mogens Jensen 1995-03-24 11:19 ` Michel Gauthier @ 1995-03-25 18:13 ` Robert Dewar 1995-03-28 18:15 ` Jean D. Ichbiah 1995-03-31 0:00 ` Mats Weber 1 sibling, 2 replies; 47+ messages in thread From: Robert Dewar @ 1995-03-25 18:13 UTC (permalink / raw) The rationale for not having a hierarchy of exceptions is simply simplicity. We looked at proposals for such extensions early on (see some of the arly mapping documents for details), but decided that the complexity was not worth it. There really is no problem with numeric_error and constraint_error except that the original language goofed in trying to distinguish exception conditions too finely, as became apparent later on. The current definition is just a kludge for backwards compatibility, really no Ada 95 programmer should even know about Numeric_Error. The overuse of exceptions, and in particular the over specification of fine distinctions in exceptions is a common design error in Ada programs, which would no doubt be encouraged by a fancier exception mechanism. For example, in one early version of the Posix interface, every error condition was mapped into a separate exception, but it becamse clear that it is much better to have a single exception with an error code. When Jean considered this particular point (the Posix point), he wondered to me whether perhaps a better language design would have been to have only one exception with an error code ... ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar @ 1995-03-28 18:15 ` Jean D. Ichbiah 1995-03-31 0:00 ` Mats Weber 1 sibling, 0 replies; 47+ messages in thread From: Jean D. Ichbiah @ 1995-03-28 18:15 UTC (permalink / raw) In article <3l1mgn$ppb@gnat.cs.nyu.edu> dewar@cs.nyu.edu (Robert Dewar) writes: >The overuse of exceptions, and in particular the over specification of >fine distinctions in exceptions is a common design error in Ada programs, >which would no doubt be encouraged by a fancier exception mechanism. >For example, in one early version of the Posix interface, every error >condition was mapped into a separate exception, but it becamse clear that >it is much better to have a single exception with an error code. >When Jean considered this particular point (the Posix point), he wondered >to me whether perhaps a better language design would have been to have only >one exception with an error code ... Well said Robert. In the Ada design (83) I spent several years reducing the 18 or so exceptions of preliminary Green to the 5 of Ada. I tried to convince others to reduce it to one but was not convincing enough. The logic for one is that there is not much you con do most of the time with the knowledge of which exception. You do know the current process failed. But usually you do not have much information on where it failed. So the only thing that matters is that you have to provide a replacement solution. The only proper way to be really sure of where an exception occurs is to corner it within a narrow block (begin ... exception ... end) and once you do this, the name of the exception does not matter much, nor does the error code. Jean D. Ichbiah ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar 1995-03-28 18:15 ` Jean D. Ichbiah @ 1995-03-31 0:00 ` Mats Weber 1995-04-04 0:00 ` Robert Dewar 1 sibling, 1 reply; 47+ messages in thread From: Mats Weber @ 1995-03-31 0:00 UTC (permalink / raw) In article <3l1mgn$ppb@gnat.cs.nyu.edu>, dewar@cs.nyu.edu (Robert Dewar) wrote: > For example, in one early version of the Posix interface, every error > condition was mapped into a separate exception, but it becamse clear that > it is much better to have a single exception with an error code. And how are tasks dealt with ? I guess the error code given by the last exception is returned by a global function or variable (like UNIX's errno), but that mechanism doesn't work in a multitasking environment. This is why I like Modula-3's parameterized exceptions. Combined with inheritance, they are as powerful as exception hierarchies, but simpler to specify. ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-03-31 0:00 ` Mats Weber @ 1995-04-04 0:00 ` Robert Dewar 1995-04-06 0:00 ` Mats Weber 0 siblings, 1 reply; 47+ messages in thread From: Robert Dewar @ 1995-04-04 0:00 UTC (permalink / raw) Mats, the Posix design for error identification works perfectly well in the multi-tasking situation (could you really think they had neglected this obvious point ...) ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-04 0:00 ` Robert Dewar @ 1995-04-06 0:00 ` Mats Weber 1995-04-07 0:00 ` Kenneth Almquist 0 siblings, 1 reply; 47+ messages in thread From: Mats Weber @ 1995-04-06 0:00 UTC (permalink / raw) In article <3ls5v8$nma@gnat.cs.nyu.edu>, dewar@cs.nyu.edu (Robert Dewar) wrote: > Mats, the Posix design for error identification works perfectly well > in the multi-tasking situation (could you really think they had > neglected this obvious point ...) Of course not. But then, how is it done, since there are no task identifications in Ada 83 ? ^ permalink raw reply [flat|nested] 47+ messages in thread
* Re: Why no exception hierarchy ? 1995-04-06 0:00 ` Mats Weber @ 1995-04-07 0:00 ` Kenneth Almquist 0 siblings, 0 replies; 47+ messages in thread From: Kenneth Almquist @ 1995-04-07 0:00 UTC (permalink / raw) Mats.Weber@matrix.ch (Mats Weber) asks: > not. But then, how is it [POSIX error identification] done, since there > are no task identifications in Ada 83 ? The interface to errno defined by POSIX.5 is procedural. Get_Error_Code returns the current value of errno, and Set_Error_Code sets errno. This allows a variety of implementations. As far as I can tell, all require some assistance from the run time system, but since other parts of POSIX.5 require assistance from the run time system, this is not a major issue. Kenneth Almquist ^ permalink raw reply [flat|nested] 47+ messages in thread
end of thread, other threads:[~1995-04-07 0:00 UTC | newest] Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 1995-03-23 23:10 Why no exception hierarchy ? Mogens Jensen 1995-03-24 11:19 ` Michel Gauthier 1995-03-24 21:52 ` Tucker Taft 1995-03-25 1:50 ` Kenneth Almquist 1995-03-25 12:40 ` David Weller 1995-03-27 5:47 ` Kenneth Almquist 1995-03-25 16:03 ` Larry Kilgallen, LJK Software 1995-03-27 19:23 ` Kenneth Almquist 1995-03-28 16:56 ` Larry Kilgallen, LJK Software 1995-03-29 0:00 ` Kevin F. Quinn 1995-03-30 0:00 ` Kevin F. Quinn 1995-03-31 0:00 ` Kenneth Almquist 1995-04-04 0:00 ` Robert Dewar 1995-04-05 0:00 ` Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) Theodore Dennison 1995-04-07 0:00 ` Robert Dewar [not found] ` <1995Apr4.210804.9579@eisner.decus.org> 1995-04-05 0:00 ` Ada means what version by default ? Michael Feldman 1995-04-06 0:00 ` Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Kevin F. Quinn 1995-04-07 0:00 ` Robert Dewar 1995-04-05 0:00 ` Why no exception hierarchy ? Michael Feldman 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-05 0:00 ` Robert A Duff 1995-04-05 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 1995-04-05 0:00 ` Garlington KE 1995-04-06 0:00 ` Versions of Ada (was Why no exception hierarchy ?) Larry Kilgallen 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Garlington KE 1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar 1995-04-07 0:00 ` Norman H. Cohen 1995-04-07 0:00 ` Garlington KE 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 1995-04-06 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-06 0:00 ` Robert Dewar 1995-04-07 0:00 ` Jean D. Ichbiah 1995-04-07 0:00 ` Robert Dewar 1995-04-07 0:00 ` Ada means what version by default ? Robert I. Eachus 1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar 1995-03-28 18:15 ` Jean D. Ichbiah 1995-03-31 0:00 ` Mats Weber 1995-04-04 0:00 ` Robert Dewar 1995-04-06 0:00 ` Mats Weber 1995-04-07 0:00 ` Kenneth Almquist
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox