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-Thread: 103376,93a8020cc980d113 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII Newsgroups: comp.lang.ada Subject: Re: What is wrong with Ada? References: <1176150704.130880.248080@l77g2000hsb.googlegroups.com> <461B52A6.20102@obry.net> <461BA892.3090002@obry.net> <82dgve.spf.ln@hunter.axlog.fr> From: Markus E Leypold Organization: N/A Date: Tue, 10 Apr 2007 20:15:04 +0200 Message-ID: User-Agent: Some cool user agent (SCUG) Cancel-Lock: sha1:uQTYpoHprkvy0kNQV+V07T5X6SE= MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit NNTP-Posting-Host: 88.72.227.169 X-Trace: news.arcor-ip.de 1176228466 88.72.227.169 (10 Apr 2007 20:07:46 +0200) X-Complaints-To: abuse@arcor-ip.de Path: g2news1.google.com!news1.google.com!news.glorb.com!feed.xsnews.nl!border-1.ams.xsnews.nl!193.201.147.84.MISMATCH!xlned.com!feeder1.xlned.com!newsfeed.freenet.de!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor-ip.de!news.arcor-ip.de!not-for-mail Xref: g2news1.google.com comp.lang.ada:14880 Date: 2007-04-10T20:15:04+02:00 List-Id: Jean-Pierre Rosen writes: > Markus E Leypold a �crit : >> Pascal Obry writes: >> >>> Markus, >>> >>>>> Why do they like unreadable code? >>>>> Why do they like to play with a debugger ? >>>> Good question. That "real Ada software engineers" (like "real men") >>>> never need a debugger might be the reason why gdb is so badly >>>> integrated with Gnat. That's a thought. >>> gdb is used with Ada just not so often. >> Right. But when it is used, it is sorely needed, since this then is >> one of the conceptual bugs I mentioned. >> > Sorry, but I beg to disagree here. Conceptual bugs are found by > reasonning on the source, not with a debugger. In development, yes. Not if they crop up after deployment. Then your approach would be to re-reason the whole source. Not a viable approach. Mine is, to track the test test case with a debugger of some sort to some likely origin (let's say something like: This record already comes corrupted from the database module) and then apply reasoning. But the debugger comes rather handy for determeinining where to look. The cocpetual bugs I'm talking about, are basically bugs like violation of more complex post conditions that cannot be expressed in the type system. >Every now and then you > may need to check the value of a variable at some point in execution > to validate or invalidate an hypothesis, but even there, I find a > proper trace message much faster and more precise than using a > debugger. Depends on the quality of the debugger. I prefer not to rebuild the executable with tracing instrumentation if I got a nice debugger. (And, BTW, sometimes inserting tracing instrumentation changes the behaviour. That was so with my "Gnat doesn't handle controlled types right on 'Read and 'Write in variant sections" bug, and it sucked plenty.) Regards -- Markus