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=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Thread: 109fba,cd8ed9115942852f X-Google-NewGroupId: yes X-Google-Thread: 103376,b92b95c9b5585075 X-Google-NewGroupId: yes X-Google-Attributes: gid4f1905883f,gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!feeder.news-service.com!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.c++,comp.lang.ada Subject: Re: Why use C++? Date: Thu, 11 Aug 2011 11:13:03 +0200 Organization: cbb software GmbH Message-ID: <150vz10ihvb5a.1lysmewa1muz4$.dlg@40tude.net> References: <1e292299-2cbe-4443-86f3-b19b8af50fff@c29g2000yqd.googlegroups.com> <1fd0cc9b-859d-428e-b68a-11e34de84225@gz10g2000vbb.googlegroups.com> <9ag33sFmuaU1@mid.individual.net> <1d8wyhvpcmpkd.ggiui9vebmtl.dlg@40tude.net> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: 8BAb+dQDBqGzBGZwuLdUyQ.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: g2news2.google.com comp.lang.c++:92567 comp.lang.ada:21502 Date: 2011-08-11T11:13:03+02:00 List-Id: On Thu, 11 Aug 2011 03:20:55 -0500, Jed wrote: > "Dmitry A. Kazakov" wrote in message > news:1d8wyhvpcmpkd.ggiui9vebmtl.dlg@40tude.net... >> On Wed, 10 Aug 2011 17:37:28 -0500, Randy Brukardt wrote: >> >>> There are uses for wrapping types, but they are far less likely than wanting >>> overflow detection. The default should be to catch errors, not turn them >>> into different ones. >> >> The OP mentioned image processing, the behavior frequently needed there is >> saturated integer arithmetic, which is nether ranged nor modular. >> >> As for modular types, wrapping is the mathematically correct behavior, >> it is not an error. >> >> You just cannot provide every possible arithmetic at the language >> level. >> > > What do you think the practical level of limitation is? Types that cannot be constructed by the operations of the types algebra provided by the language. Richer the algebra is, less built-in types needed. > Were you thinking "beyond integers" with your statement? There is nothing special in integer types, except that for the types algebra you need ordinal numerals (i.e. at least one integer type). > What kinds of integer types would > you like to see built-in to a hypothetical ideal language? As little as possible. Usage of predefined integer types makes design more fragile. E.g. it is bad when somebody uses Ada's Integer, or C++ int (OK, in C++ there is no other option), instead of introducing a type reflecting the application semantics rather than the decision of some compiler vendor motivated by other concerns. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de