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,ab1d177a5a26577d X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Received: by 10.68.46.193 with SMTP id x1mr10127426pbm.7.1317779609421; Tue, 04 Oct 2011 18:53:29 -0700 (PDT) Path: lh7ni11774pbb.0!nntp.google.com!news1.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Tue, 04 Oct 2011 20:53:26 -0500 From: "Peter C. Chapin" Subject: Re: What's wrong with C++? Newsgroups: comp.lang.ada References: <1ee1a434-4048-48f6-9f5e-d8126bebb808@r19g2000prm.googlegroups.com> User-Agent: Pan/0.133 (House of Butterflies) MIME-Version: 1.0 Message-ID: Date: Tue, 04 Oct 2011 20:53:28 -0500 X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-B7TNJGNd6bVR5KeD7iPmiWD7uPhwMviQU0BV+aNsJkwrSQI5IIGP05m0pF+i2C2WcY2dcsDC0CB8bnr!8ir/ggz3WbfZnkoPdmDydunebrn9MNE8dz/tXHRmITJiX9ReRJ0hMtEs+DFev7k= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 2442 Xref: news1.google.com comp.lang.ada:18302 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Date: 2011-10-04T20:53:28-05:00 List-Id: On Tue, 04 Oct 2011 23:00:20 +0200, Yannick DuchĂȘne (Hibou57) wrote: > So OK, it is formally proved that is not even sure a given C++ source > file can really be compiled or not. That's big, ouch. I don't think this is a big deal. It's an interesting theoretical observation with little practical significance. For one thing, I doubt any reasonably normal looking program would invoke this behavior. A broken program might, I suppose, but non-termination of the compiler is not much different than a compile error. Nobody is injured by the program it didn't create; it's only an inconvenience to the programmer who has to adjust the source. C++ isn't alone with this problem either. I understand that Scala's type system is also Turing complete. It is possible, apparently, to write a Scala program for which type checking never terminates. Again it's an interesting theoretical observation but I don't think anyone really cares. In our work at VTC on translating some NASA software to SPARK we encountered a situation where the SPARK simplifier took an "infinitely" long time to execute... well, okay, it only took about an hour. Yes it did terminate but it took so long that development was impractical (no different, really, than true non-termination). Our response: fix the source. Peter