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,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news.glorb.com!news.mixmin.net!newsfeed01.sul.t-online.de!t-online.de!newsfeed.arcor.de!newsspool2.arcor-online.net!news.arcor.de.POSTED!not-for-mail Date: Fri, 18 Feb 2011 15:15:56 +0100 From: Georg Bauhaus User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: What's wrong with C++? References: <104cfd9f-dbf5-4f05-9c4a-a2319dd371a9@glegroupsg2000goo.googlegroups.com> <4d5d0c16$0$6972$9b4e6d93@newsspool4.arcor-online.net> <065e06c2-13df-4ef0-8e71-e0f835f7380f@8g2000prt.googlegroups.com> <4d5e5e71$0$6875$9b4e6d93@newsspool2.arcor-online.net> <525f8b4a-2e54-4290-b606-8ed73e68b12b@o21g2000prn.googlegroups.com> In-Reply-To: <525f8b4a-2e54-4290-b606-8ed73e68b12b@o21g2000prn.googlegroups.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: <4d5e7f1c$0$7662$9b4e6d93@newsspool1.arcor-online.net> Organization: Arcor NNTP-Posting-Date: 18 Feb 2011 15:15:56 CET NNTP-Posting-Host: 8dd9ff0e.newsspool1.arcor-online.net X-Trace: DXC=XUaCS[hE1M>;]cDoEWD6A4ic==]BZ:af>4Fo<]lROoR1<`=YMgDjhg2dVcF>55@P_1nc\616M64>:Lh>_cHTX3j=\SCKn2YWZ]= X-Complaints-To: usenet-abuse@arcor.de Xref: g2news1.google.com comp.lang.ada:17423 Date: 2011-02-18T15:15:56+01:00 List-Id: On 18.02.11 14:26, richard wrote: > On Feb 18, 3:56 am, Georg Bauhaus > wrote: >> On18.02.11 12:34, richard wrote: >> >>>> Make "+" a little more obscure (if possible) and have >>>> a proponent of Ada look for the error... >> >>>> Or talk about the possibility (or not) of changing the >>>> definition of Integer temporarily to a debugging version >>>> of Integer whose operations we can trace. >>> We do not use predefined type integer in production code. If you >>> define your own constrained integer type, this is not likely to be a >>> problem. >> >> I take that as an example of why neither C++ nor Ada can be used >> without additional rules made to prevent dangerous situations >> from occurring. However, the rules might differ, in quantity and >> in quality. >> >> To me, a more interesting question concerns less hypostatized >> circumstances: Given real world programming capacity, >> measurable in terms of cost, degree of success, etc., >> what are the effects, as measured in projects using either >> language, of: >> >> - given rule set >> - programmer education >> - language facilities >> - actual/idiomatic/dominant use? > Your reply does not correspond to the statement in my post. If I define my "own constrained integer type, this is not likely to be a problem", provided there is a rule to "not use predefined type Integer in production code". My original example was intended to show how generalizations do not work when comparing languages (since generalizations is what language warriors often use). I hope that talking about either of - #define private public - function "+" (Left, Right: Integer) return Integer; is simply not so relevant to the discussion of respective language merits, for two reasons: (a) anyone writing these lines or similarly disruptive source text knows what he or she is doing (for example, not causing a problem) (b) judging a language by considering corner cases (or even single cases) without a demonstration of their real impact seems void. Comparing languages would, I think, have to start from substantial evidence about the utility of a feature; delighted as I am about hearing that a real project is not using predefined type Integer (neither String?), this finding will not stop language warriors from shooting arrows into the (duly) neglected corners of either language. Showing that the arrows won't do any harm to their target is effort that, I think, could be directed towards more profitable uses in language comparisons. Such as the apparent simplicity, for example, with which work-sharing, work-seeking and work-stealing algorithms for general use have only recently been written in plain old Ada on occasion of a huge effort to add a concurrency library to Java. (The Paraffin and Magpie libraries.) Has there an equally simple idea for adding similar support to the upcoming C++?