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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,1116ece181be1aea X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-09-24 17:42:08 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: 18k11tm001@sneakemail.com (Russ) Newsgroups: comp.lang.ada Subject: Re: Is the Writing on the Wall for Ada? Date: 24 Sep 2003 17:42:06 -0700 Organization: http://groups.google.com/ Message-ID: References: <3F650BBE.4080107@attbi.com> <3F67AAC6.2000906@attbi.com> <3F7024F8.1000102@crs4.it> <3F71A78A.5000701@crs4.it> NNTP-Posting-Host: 63.194.87.148 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1064450527 21332 127.0.0.1 (25 Sep 2003 00:42:07 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 25 Sep 2003 00:42:07 GMT Xref: archiver1.google.com comp.lang.ada:42869 Date: 2003-09-25T00:42:07+00:00 List-Id: Jacob Sparre Andersen wrote in message news:<3F71A78A.5000701@crs4.it>... > Russ wrote: > > Jacob Sparre Andersen wrote in message news:<3F7024F8.1000102@crs4.it>... > >>Russ wrote: > >>>Wes Groleau wrote in message news:... > > [ please try to quote more moderately ] > > >>And at least for simple cases like matrix operations, it is possible to > >>make the compiler check if a temporary variable is needed or not. We > >>can thus (at least in theory) leave it to the compiler to check if the > >>temporary variable is needed or not _and_ to consider which of the > >>solutions - with or without the temporary variable - is actually faster > >>on the hardware in question. > > > If the compiler can really do all that, then fine. > > It can! Great! > > But how many really > > can? Can gnat do that, for example? > > GNAT didn't do it last time I tested it. I haven't written a patch yet > that does it, and I haven't heard that anybody else has done it, so GNAT > does probably not do it yet. What? You wrote above, "It can!", but now you're saying it can't after all. Perhaps you meant to say, "It could, if someone would implement it!" That's quite different than "It can!". I don't mean to be a semantic quibbler, but it sure seems different to me. > > Or is this just one of those > > "maybe someday in the distant future," "pie in the sky" things? > > It is - like everything else - a "some day when it is needed" things. I > don't really need it at the moment, but I might implement it anyway, > just to get rid of all these tiring claims that we need a ":+" procedure > because it makes our code faster. Have you ever thought of all the > problems it creates, if we make assignment into just another procedure? Oh, you're going to wait until it's "needed" to implement it? When I decide I need it, where can I reach you, and how long will it take you to implement it for me? By the way, I used matrix addition as an example only, but the principle applies to other cases too. Quaternion arithmetic, for example. Will your implementation cover that too? Many other examples could be given as well, of course. If you think that one example covers the entire matter, you have missed the point. > > By the way, even if there is no difference in efficiency, I still > > prefer > > > > count += 1 > > to > > count = count + 1 > > > > The latter grates on my minimalist sensibilities like fingernails on a > > chalkboard, > > Ada is _not_ designed for source code minimalism! It is designed to > make safe, trustworthy, and maintainable software. If you prefer source > code minimalism to maintainable software, then it is okay with me. Just > don't try to change Ada to suit that style. That is not the idea with Ada. I agree that minimalism can be taken too far (e.g., Perl). However, that hardly means that minimalism is inherently antithetical to safety, readability, and maintainability, and I'm getting tired of the repeated insinuations on this forum that it is. When properly applied, minimalism is the very *essence* of readability and maintainability. When the LHS is a long, convoluted expression, readability is most certainly *not* enhanced by forcing the reader to verify that the expression on the left matches the expression on the right. This is just basic common sense. Let me ask you which of the following is more readable: lwienfowowoenfnowoqndfoowopqihjefhnowqoowldvno := lwienfowowoenfnowoqndfoowopqihjefhmowqoowldvno + 1 or lwienfowowoenfnowoqndfoowopqihjefhnowqoowldvno += 1 If you said the latter, then pass go and collect $200. Otherwise, I give up, because you are beyond hope of being convinced of anything reasonable on this matter. Yes, I realize that those variable names are ridiculous, but I'm just trying to make a basic point. Some variable names and data structures *are* complicated. By the way, the question above was a trick question. See if you can figure out why. > > If this low-level deficiency is not corrected in > > Ada0x, that will be a big mistake. > > It is _not_ a deficiency. It is an intentional design. And a bad one at that. > Jacob