220 17046 <CAD6_Qj_o64bWjyF5EWBG4k=75JVNnOQ-GjN-osEawf49csNP3Q@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: =?UTF-8?Q?David_Rodr=C3=ADguez_Ibeas?= <dibeas@ieee.org>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Post-fix operator declaration change.
Date: Tue, 17 Mar 2015 09:03:46 -0400
Lines: 218
Approved: news@gmane.org
Message-ID: <CAD6_Qj_o64bWjyF5EWBG4k=75JVNnOQ-GjN-osEawf49csNP3Q@mail.gmail.com>
References: <aeaa36aa-8add-4730-ae9b-0129668cea73@isocpp.org>
	<f3556af9-4483-49cc-a1f3-2603ed0aa95f@isocpp.org>
	<22101a9e-0e9a-4e70-b332-a1cd9ced7eb6@isocpp.org>
	<CAFk2RUbo=vRuUSxLPkWZABmLVN5jq7JxyxuH7Fkz5s33KaD9oA@mail.gmail.com>
	<bce5f14b-81f0-4626-93c0-d26beacbcb48@isocpp.org>
	<CAFk2RUauHNNU-4dHLL+L30pBFELbehR--kbPwNHP5jEQX=SOpQ@mail.gmail.com>
	<8e0337ea-ec51-464e-b45d-06d1b4a91839@isocpp.org>
	<69e71162-a69d-41a8-b48c-d6eef8a46208@isocpp.org>
	<78c5c7c6-2a1c-4dac-aabd-916685cfc48a@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a113cc7e0dd814205117b987f
X-Trace: ger.gmane.org 1426597450 29468 80.91.229.3 (17 Mar 2015 13:04:10 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 17 Mar 2015 13:04:10 +0000 (UTC)
To: "std-proposals@isocpp.org" <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBDIIVO6GQULBBM6MUCUAKGQETOVDINQ@isocpp.org Tue Mar 17 14:03:57 2015
Return-path: <std-proposals+bncBDIIVO6GQULBBM6MUCUAKGQETOVDINQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pd0-f200.google.com ([209.85.192.200])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBDIIVO6GQULBBM6MUCUAKGQETOVDINQ@isocpp.org>)
	id 1YXr9x-0004nj-AE
	for gclcip-std-proposals@m.gmane.org; Tue, 17 Mar 2015 14:03:49 +0100
Original-Received: by pdev10 with SMTP id v10sf12141958pde.0
        for <gclcip-std-proposals@m.gmane.org>; Tue, 17 Mar 2015 06:03:47 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:sender:in-reply-to:references:date
         :message-id:subject:from:to:content-type:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:list-post:list-help:list-archive:list-subscribe
         :list-unsubscribe;
        bh=s0gm5OAi44RCSlLxx1kYdrWZrkVknPUkkWg4GMfNR3A=;
        b=H8T7/O80UWE6kpwOMiK85vdGwrt2PeEh58m27qnr77SKCnHED7V7ZeO4KQEHeFfS3A
         H416kkYKkbxE3CjVNVga0vI0sbGZtJHmP/C5GkziAZ2kC3oM+EAWJZjnFjIeg4PzhqIq
         CQ856nZidKiB+V1gGjuGIynMji/pS9+XyltExbM8UddvuEyldi344ExPC5wsfrumWCTs
         bJXV0kHw7chK7QMiBnpUqfxixl4XVfctn+ZkOZbn98TR7QgP246MPMueyHPAlIBROfW3
         L+joDxgSyt4II9cAme5wpzTDg6+WPc5VoD+3VH8+kSGnfe5p0KFzu11ZpBBC7DKZNPrM
         CAtw==
X-Gm-Message-State: ALoCoQlNFMVAU0R7UQLgSD2+52usskdZJ7cVk3+hXmsHhEteqob0eSjqIkruAJChu/cplILhHMMc
X-Received: by 10.66.65.165 with SMTP id y5mr67378056pas.43.1426597427854;
        Tue, 17 Mar 2015 06:03:47 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.182.226.135 with SMTP id rs7ls35791obc.73.gmail; Tue, 17 Mar
 2015 06:03:47 -0700 (PDT)
X-Received: by 10.182.128.199 with SMTP id nq7mr29869879obb.47.1426597427006;
        Tue, 17 Mar 2015 06:03:47 -0700 (PDT)
Original-Received: from mail-ob0-x231.google.com (mail-ob0-x231.google.com. [2607:f8b0:4003:c01::231])
        by mx.google.com with ESMTPS id d7si7386569oib.92.2015.03.17.06.03.46
        for <std-proposals@isocpp.org>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Tue, 17 Mar 2015 06:03:46 -0700 (PDT)
Received-SPF: pass (google.com: domain of dribeas@gmail.com designates 2607:f8b0:4003:c01::231 as permitted sender) client-ip=2607:f8b0:4003:c01::231;
Original-Received: by obfv9 with SMTP id v9so6337666obf.2
        for <std-proposals@isocpp.org>; Tue, 17 Mar 2015 06:03:46 -0700 (PDT)
X-Received: by 10.202.180.87 with SMTP id d84mr36356398oif.0.1426597426854;
 Tue, 17 Mar 2015 06:03:46 -0700 (PDT)
Original-Sender: dribeas@gmail.com
Original-Received: by 10.202.85.201 with HTTP; Tue, 17 Mar 2015 06:03:46 -0700 (PDT)
In-Reply-To: <78c5c7c6-2a1c-4dac-aabd-916685cfc48a@isocpp.org>
X-Original-Sender: dibeas@ieee.org
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of dribeas@gmail.com designates 2607:f8b0:4003:c01::231 as permitted
 sender) smtp.mail=dribeas@gmail.com;       dkim=pass header.i=@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:17046
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/17046>

--001a113cc7e0dd814205117b987f
Content-Type: text/plain; charset=UTF-8

Additionally, in the grand scheme of things I expect a C++ developer to be
able to switch from one standard to another, from a legacy project to the
newest green fields task with the newest (even experimental) compiler.  If
the concern is that the old construct is *hard*, the alternative is having
to learn the same *hard* construct and a different one that might be
simpler.  This is not _overall_ simplifying the language but making it more
complex.  If this was adopted, I would have to expect my developers to
understand 'operator++(int)' and whatever form fo 'operator++(postfix)',
together with the understanding that they have to be mutually exclusive.

I value simplicity, there's a few places where I would love a simpler
language, but I don't see how this would simplify anything for users.  And
by the way, I am one of those that never knows how to overload
prefix/postfix, I've never been bothered to learn the detail I have the
standard, books and google to solve that for me.  I don't find that
particularly hard.

http://lmgtfy.com/?q=postfix+operator+overloading+c%2B%2B

    David

On Mon, Mar 16, 2015 at 4:47 PM, Nicol Bolas <jmckesson@gmail.com> wrote:

>
>
> On Monday, March 16, 2015 at 1:59:55 PM UTC-4, Alexander Marinov wrote:
>>
>> Also perhaps this small change for itself will be not anything important
>> to consider but if someone includes in a big proposal with fix for all
>> other odd constructs it will be far more significant.
>>
>>
>> @Nicol Bolas
>>
>> Isn't this modern C++ or what? People which are using old code-bases will
>> have a lot of options. They'll either have to:
>>
>>
>>    1. Continue compiling against older C++ standards.
>>
>> Python 3.x. How many Python-based projects, big, *important* ones have
> completely rejected it? And why was that? Oh right, lack of backwards
> compatibility in key areas.
>
> Let's make this clear: splintering the C++ community, even if this were
> not something incredibly trivial, *is not an option*. That's what we call
> a "non-starter".
>
>>
>>    1. Use automated-tools converting their codes into newer C++
>>    standards.
>>
>> Which can break your code. Also, such tools have to be written and
> maintained by someone.
>
>>
>>    1. Convert their code by themselves.
>>
>> Which serves no genuine purpose, since the new code does the exact same
> thing as the old. In short: you're wasting time.
>
>>
>>    1. Convert code partially and compile different files against
>>    different C++ standard versions.
>>
>> That's just splintering your codebase within a project. Also, it seems
> rather difficult to pull off, since any code that includes a header using
> the old one will have to be compiled under the old rules.
>
>
>> In every case this is a big choice. Otherwise soon we'll have very
>> unreadable mess with one hundred new keywords and standard libraries which
>> should 'patch' older code.
>> Understanding code then will be a night-mare - times harder then if we
>> just change come existing constructs.
>>
>
> We all would like a nice, cleaner looking language, with all the bad ways
> cleaned out. I would have loved it if 'typedef' went the way of the Dodo in
> C++11 (since we have 'using' aliases that are a functional superset). But
> it's not going to happen. So there's no point in asking for it. It just
> wastes time.
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a113cc7e0dd814205117b987f
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Additionally, in the grand scheme of things I expect a C++=
 developer to be able to switch from one standard to another, from a legacy=
 project to the newest green fields task with the newest (even experimental=
) compiler.=C2=A0 If the concern is that the old construct is *hard*, the a=
lternative is having to learn the same *hard* construct and a different one=
 that might be simpler.=C2=A0 This is not _overall_ simplifying the languag=
e but making it more complex.=C2=A0 If this was adopted, I would have to ex=
pect my developers to understand &#39;operator++(int)&#39; and whatever for=
m fo &#39;operator++(postfix)&#39;, together with the understanding that th=
ey have to be mutually exclusive.<br><br>I value simplicity, there&#39;s a =
few places where I would love a simpler language, but I don&#39;t see how t=
his would simplify anything for users.=C2=A0 And by the way, I am one of th=
ose that never knows how to overload prefix/postfix, I&#39;ve never been bo=
thered to learn the detail I have the standard, books and google to solve t=
hat for me.=C2=A0 I don&#39;t find that particularly hard.<br><br><a href=
=3D"http://lmgtfy.com/?q=3Dpostfix+operator+overloading+c%2B%2B">http://lmg=
tfy.com/?q=3Dpostfix+operator+overloading+c%2B%2B</a><br><br>=C2=A0 =C2=A0 =
David</div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Mon=
, Mar 16, 2015 at 4:47 PM, Nicol Bolas <span dir=3D"ltr">&lt;<a href=3D"mai=
lto:jmckesson@gmail.com" target=3D"_blank">jmckesson@gmail.com</a>&gt;</spa=
n> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;b=
order-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span class=3D=
""><br><br>On Monday, March 16, 2015 at 1:59:55 PM UTC-4, Alexander Marinov=
 wrote:<blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8e=
x;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">Also perhap=
s this small change for itself will be not anything important to consider b=
ut if someone includes in a big proposal with fix for all other odd constru=
cts it will be far more significant.<div><br></div><div><br></div><div>@<sp=
an style=3D"white-space:nowrap"><span>Nicol Bolas</span></span><span style=
=3D"white-space:nowrap">=C2=A0</span></div><div><span style=3D"white-space:=
nowrap"><br></span></div><div><span style=3D"white-space:nowrap">Isn&#39;t =
this modern C++ or what? People which are using old code-bases will have a =
lot of options. They&#39;ll either have to:</span><br><br><ol><li><span sty=
le=3D"line-height:normal;white-space:nowrap">Continue compiling against old=
er C++ standards.</span></li></ol></div></div></blockquote></span><div>Pyth=
on 3.x. How many Python-based projects, big, <i>important</i> ones have com=
pletely rejected it? And why was that? Oh right, lack of backwards compatib=
ility in key areas.<br><br>Let&#39;s make this clear: splintering the C++ c=
ommunity, even if this were not something incredibly trivial, <i>is not an =
option</i>. That&#39;s what we call a &quot;non-starter&quot;.<br></div><sp=
an class=3D""><blockquote class=3D"gmail_quote" style=3D"margin:0;margin-le=
ft:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div=
><ol><li><span style=3D"line-height:normal;white-space:nowrap">Use automate=
d-tools converting their codes into newer C++ standards.</span></li></ol></=
div></div></blockquote></span><div>Which can break your code. Also, such to=
ols have to be written and maintained by someone.<br></div><span class=3D""=
><blockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;bord=
er-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div><ol><li><spa=
n style=3D"line-height:normal;white-space:nowrap">Convert their code by the=
mselves.</span></li></ol></div></div></blockquote></span><div>Which serves =
no genuine purpose, since the new code does the exact same thing as the old=
.. In short: you&#39;re wasting time. <br></div><span class=3D""><blockquote=
 class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px =
#ccc solid;padding-left:1ex"><div dir=3D"ltr"><div><ol><li><span style=3D"l=
ine-height:normal;white-space:nowrap">Convert code partially and compile di=
fferent files against different C++ standard versions.</span></li></ol></di=
v></div></blockquote></span><div>That&#39;s just splintering your codebase =
within a project. Also, it seems rather difficult to pull off, since any co=
de that includes a header using the old one will have to be compiled under =
the old rules.<br>=C2=A0</div><span class=3D""><blockquote class=3D"gmail_q=
uote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;paddin=
g-left:1ex"><div dir=3D"ltr"><div><div><span style=3D"white-space:nowrap">I=
n every case this is a big choice. Otherwise soon we&#39;ll have very unrea=
dable mess with one hundred new keywords and standard libraries which shoul=
d &#39;patch&#39; older code.<br>Understanding code then will be a night-ma=
re - times harder then if we just change come existing constructs.</span></=
div></div></div></blockquote></span><div><br>We all would like a nice, clea=
ner looking language, with all the bad ways cleaned out. I would have loved=
 it if &#39;typedef&#39; went the way of the Dodo in C++11 (since we have &=
#39;using&#39; aliases that are a functional superset). But it&#39;s not go=
ing to happen. So there&#39;s no point in asking for it. It just wastes tim=
e.<br></div></div><div class=3D"HOEnZb"><div class=3D"h5">

<p></p>

-- <br>
<br>
--- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</div></div></blockquote></div><br></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a113cc7e0dd814205117b987f--

.
