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-7-bit 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> From: Markus E Leypold Organization: N/A Date: Tue, 10 Apr 2007 17:39:12 +0200 Message-ID: User-Agent: Some cool user agent (SCUG) Cancel-Lock: sha1:YXqOC5Ry/99Ripne4tSxvA/qELo= MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 88.72.227.169 X-Trace: news.arcor-ip.de 1176219114 88.72.227.169 (10 Apr 2007 17:31:54 +0200) X-Complaints-To: abuse@arcor-ip.de Path: g2news1.google.com!news4.google.com!out04a.usenetserver.com!news.usenetserver.com!in01.usenetserver.com!news.usenetserver.com!news.tele.dk!news.tele.dk!small.news.tele.dk!news-fra1.dfn.de!newsfeed.arcor-ip.de!news.arcor-ip.de!not-for-mail Xref: g2news1.google.com comp.lang.ada:14870 Date: 2007-04-10T17:39:12+02:00 List-Id: 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. >>> Why do they like to play Sherlock Holmes during hours to look for a >>> bug? >> >> Strange. That would mean, Ada programs have no bugs. That is indeed > No, did not say that. But I certainly do not enjoy that and I have far > less this role when programming in Ada than in C++. Agreed. Still, we are talking about 2 different kinds of bugs here. Stray pointers, integer overflows (which usually lead to straxing pointers), heap corruption and so on are all very annoying and certainly don't occur in Ada so often (but they do: It's possible to read quite a lot of nonsense from a Stream and if the compiler itself produces the bug all bets are off ... :-( ). But that doesn't mean I could avoid looking for bugs (for hours) in Ada programs. So Adas type system is NOT a way to "avoid bugs" but to avoid unsafe execution (which is My complaint, BTW, with C/C++ would not the type system so much (it slows you down by a constant but predicatable factor, but it is managable) but rather the absence of local procedure and useful generics. And with time I've found that really sucks: It's almost impossible to write a non trivial reusable component without implementing some kind of meta compiler. I'm bit surprised that everybody focuses so much on the type system (every time one of these threads occur): Lack of generics is - in my eyes - a much more serious problem and (until recently) also plagued languages that had (more or less) a safe type system. >>> Here are the real >>> questions to me, again nothing wrong with Ada to me ! >> >> Pascal, you're person which a proven track record and a good standing >> in the Ada community (whereas I'm probably better known as a constant >> complainer, but hope that I have my reasons). But THIS post is >> absolute nonsense and not worthy to yourself. > Well maybe because I've been "fighting"[1] a C++ application recently to > work properly. An application full of bugs, awful buffer overflows, > unreadable... so I'm probably tired and have less control over myself :) Oh well - I real can understand that. But since I've also been "fighting" other software written in supposedly better languages, I think the problem is more one of bad software engineering. You would perhaps have had a better start (because _you_ could read the source easier) if the application had been in C++, but from my experience there are bad apps out there in every, also supposedly good, languages. Often it's the interface documentation that makes or breaks a day (and just to point a bit back to the Ada world: GtkAda is not glowing example in this respect). The factor that contributes most to unusability of unfixability of software is perhaps, that many people who release software, just release "source", not a product. A product has at least some semblance of user documentation (how, when and for what do I use it, how do I trouble shoot etc.). Free software often doesn't have that. Commercial bespoke software often hasn't got it, too -- simply because the customer is not willing to pay it, the project has taken more time and effort than planned and the contractor has to cut corners because the customers is not willing to extend the contract. Short sighted on both sides (but mostly on the customers side). > > [1] : given the context I really think fighting is the proper word :-). Regards -- Markus