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,e0e1d3b3f7c994b8 X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!news.glorb.com!ecngs!feeder.ecngs.de!130.59.10.21.MISMATCH!kanaga.switch.ch!switch.ch!news.belwue.de!LF.net!news.enyo.de!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada Subject: Re: Robert Dewar's great article about the Strengths of Ada over other langauges in multiprocessing! Date: Sat, 22 Mar 2008 23:51:07 +0100 Message-ID: <87tziynzj8.fsf@mid.deneb.enyo.de> References: <13t4b2kkjem20f3@corp.supernews.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: idssi.enyo.de 1206226267 28430 212.9.189.177 (22 Mar 2008 22:51:07 GMT) X-Complaints-To: Cancel-Lock: sha1:oehb7Cmw1jGiDBdy0+hYe9fXr1U= Xref: g2news1.google.com comp.lang.ada:20552 Date: 2008-03-22T23:51:07+01:00 List-Id: * ME: > As many of may have already noticed, there has been a tremendous furor > over the lack of multicore support in the common languages like C and > C++. I have been reading these articles in EE Times and elsewhere > discussing this disaster with all the teeth gnashing and handwringing > acting as though Ada never existed. Robert Dewar ,our hero, has > written an absolutely excellent article with a clever intro. > http://www.eetimes.com/news/design/showArticle.jhtml?articleID=206900265 GNAT indirectly inherits most C/C++ ambiguities regarding concurrency because Ada code is compiled to GIMPLE, an intermediate language which is heavily influenced by C/C++ requirements and which lacks a rigorously specified memory model (among other things). In fact, for most C/C++ concurrency surprises (for instance, a conditional write turned into an unconditional one by GCC), Ada test cases could be produced which showed the same problem. For Ada, these are defects in the toolchain. For C/C++, they are mere quality-of-implementation issues. Is this a major difference? Probably not, because you may still have to convince your Ada vendor that their reading of the standard is incorrect, and the concurrency anomaly you're observing is actually an implementation defect.