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 Path: g2news2.google.com!news2.google.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.com!newshosting.com!news2.euro.net!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: Tue, 16 Aug 2011 12:39:37 +0200 Organization: cbb software GmbH Message-ID: References: <1fd0cc9b-859d-428e-b68a-11e34de84225@gz10g2000vbb.googlegroups.com> <9ag33sFmuaU1@mid.individual.net> <1d8wyhvpcmpkd.ggiui9vebmtl.dlg@40tude.net> <150vz10ihvb5a.1lysmewa1muz4$.dlg@40tude.net> <1q4c610mmuxn7$.1k6s78wa0r8fj.dlg@40tude.net> <1vn800hbyx8k4$.1lsveclj56197$.dlg@40tude.net> <1gu6ni1yb54k3$.4nbvfqqndl8m$.dlg@40tude.net> <620cf34f-d008-4855-9945-ae7247221377@w18g2000yqc.googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: dsaj9gsnv4Trut6ZJ84waw.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit 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++:92805 comp.lang.ada:21617 Date: 2011-08-16T12:39:37+02:00 List-Id: On Tue, 16 Aug 2011 02:52:27 -0700 (PDT), Nick Keighley wrote: > On Aug 16, 9:47�am, "Dmitry A. Kazakov" > wrote: >> On Tue, 16 Aug 2011 01:18:31 -0700 (PDT), Nick Keighley wrote: > >>>> 2. I don't care about the platform, I care about what the program is >>>> supposed to do. The type's properties shall be defined by the application >>>> domain. >> >>> whilst this degree of abstraction is often good the ability to fiddle >>> with representaion is also sometimes useful. >> >> Never. It is a strong claim, but it holds. The cases of which you believe >> you have to handle the type's layout, are those where the *application* >> domain is the machine hardware itself. There exist such rare cases, but >> they represent no exception to what I said. > > this reminds of the maths that states a quadratic equation always has > two roots (solutions). Those cases where there seems to only one root > is actaully two roots both with the same value. > > You attempt to win the argument by definition engineering. Do you have other definitions? >>> And if we want our >>> programs to terminate before the sun goes cold knowing about >>> representaion is sometimes useful. >> >> A premature optimization does not guaranty you anything about performance, >> in fact the opposite. Unless your claim is that a deliberate use of a wrong >> representation (e.g. shorter than required) might result in a better >> performance, due to malfunction. > > I'm simply arguning that in the real world performance sometimes > matters. And the conclusion is that the required semantics need not be implemented if that might degrade performance? Aren't you trying to redefine the word "required"? > This may involve getting down and dirty with the > representaion and other (usually) implementation details. Aren't type specification and implementation (of that specification) different things? "Down and dirty" means "does wrong things", or something else? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de