comp.lang.ada
 help / color / mirror / Atom feed
From: Brad Moore <brad.moore@shaw.ca>
Subject: Re: How to get nice with GNAT?
Date: Tue, 09 Dec 2014 16:14:20 -0700
Date: 2014-12-09T16:14:20-07:00	[thread overview]
Message-ID: <vdFhw.134721$_R5.25469@fx28.iad> (raw)
In-Reply-To: <1hrw1i0f6nyde.1obvidset2kfc$.dlg@40tude.net>

On 2014-12-09 1:51 AM, Dmitry A. Kazakov wrote:
>>> Which is using Ada as if it were C. The combinations of objects should be
>>> handled in a way allowing to map combinations onto the language items
>>> allowing static checks. Yes, it is not always possible, and where not
>>> possible it becomes a C program in Ada, partially of course.
>>
>> Not at all. C has no run-time checks; you'll never get any sort of error
>> from it unless you write it explicitly yourself. I'm never going to have
>> enough fortitude to write thousands of pages of checks by hand; I've got to
>> have language support to make those checks.
>
> Yes, but we are discussing bugs, not errors. When you say that an exception
> manifests a bug, then C is as good as Ada. The same bug in C will show
> itself differently, but so what.

The "so what" is a monumentally huge difference in my experience. Aside 
from C not having exceptions, having an exception flag an error at the 
site of the violation can make it much easier to notice and fix the bug.
Since it is typically not practical to write all these checks by hand in 
C, it is not uncommon that the program can continue to execute 
considerably past the bug until some undesirable behaviour is eventually 
noticed as a result of a growing snowball effect. For instance, in C you 
might end up with some strange memory corruption as a side effect of the 
original bug, which may or may not be easy to reproduce, but often can 
be extremely difficult to debug. A memory corruption problem may not 
always cause a failure, and may not be actually noticed until a system 
has been deployed. An unhandled exception in Ada however results in the 
program ceasing execution, so it is more likely that the bug will be 
noticed earlier, possibly before deployment, which can be far less costly.


  reply	other threads:[~2014-12-09 23:14 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-21 11:41 How to get nice with GNAT? Natasha Kerensikova
2014-11-21 12:42 ` Björn Lundin
2014-11-21 22:55 ` Randy Brukardt
2014-11-21 23:13   ` Björn Lundin
2014-11-22  9:45   ` How to get nice traceback " Natasha Kerensikova
2014-11-22  9:57     ` Dmitry A. Kazakov
2014-11-24 22:35     ` Randy Brukardt
2014-11-22 10:11 ` How to get nice " gautier_niouzes
2014-11-22 10:40   ` Natasha Kerensikova
2014-11-22 22:44 ` brbarkstrom
2014-11-22 23:24   ` Jeffrey Carter
2014-11-23 18:06   ` Björn Lundin
2014-11-23 16:13 ` brbarkstrom
2014-11-23 16:18   ` J-P. Rosen
2014-11-23 17:02   ` Jeffrey Carter
2014-11-23 17:41 ` brbarkstrom
2014-11-23 19:22   ` Simon Wright
2014-11-23 20:49   ` Jeffrey Carter
2014-11-24  3:05     ` brbarkstrom
2014-11-24  6:25       ` Jeffrey Carter
2014-11-24 14:39         ` brbarkstrom
2014-11-24 17:42       ` Dennis Lee Bieber
2014-11-25 13:45         ` brbarkstrom
2014-11-25 15:07           ` ake.ragnar.dahlgren
2014-11-25 15:51             ` brbarkstrom
2014-11-25 16:52             ` Jeffrey Carter
2014-11-25 19:18             ` G.B.
2014-11-25 20:47               ` brbarkstrom
2014-11-25 22:12             ` Randy Brukardt
2014-11-25 23:30               ` Simon Wright
2014-11-26  1:25                 ` G.B.
2014-11-26  7:35                   ` Simon Wright
2014-11-26 11:55                     ` Georg Bauhaus
2014-11-26 13:06                       ` Dmitry A. Kazakov
2014-11-26 13:36                         ` brbarkstrom
2014-11-26 21:27                         ` Randy Brukardt
2014-11-26 22:38                           ` brbarkstrom
2014-11-27  9:01                             ` Dmitry A. Kazakov
2014-11-27 13:53                               ` brbarkstrom
2014-11-27 17:19                                 ` Dmitry A. Kazakov
2014-12-01 22:25                                   ` Randy Brukardt
2014-12-02  8:42                                     ` Dmitry A. Kazakov
2014-12-03 21:41                                       ` Randy Brukardt
2014-12-06 12:02                                         ` Dmitry A. Kazakov
2014-12-08 22:45                                           ` Randy Brukardt
2014-12-09  8:51                                             ` Dmitry A. Kazakov
2014-12-09 23:14                                               ` Brad Moore [this message]
2014-12-09 17:59                                                 ` Dmitry A. Kazakov
2014-11-27  8:52                           ` Dmitry A. Kazakov
2014-11-26  6:18                 ` J-P. Rosen
2014-11-26  7:37                   ` Simon Wright
2014-11-26  8:41               ` Dmitry A. Kazakov
2014-11-25 18:33           ` Dennis Lee Bieber
2014-11-26  1:27             ` Dennis Lee Bieber
2014-11-26  3:29               ` brbarkstrom
2014-11-23 18:55 ` brbarkstrom
2014-11-23 19:30 ` brbarkstrom
2014-11-23 22:38   ` Simon Wright
2014-11-24  2:47     ` brbarkstrom
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox