220 39840 <037bdc3e-6030-41d6-ae70-3849cca0585c@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: mihailnajdenov@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: What do we want from named paramaters
Date: Thu, 16 Aug 2018 14:01:08 -0700 (PDT)
Lines: 103
Approved: news@gmane.org
Message-ID: <037bdc3e-6030-41d6-ae70-3849cca0585c@isocpp.org>
References: <1534441498.3721109.1476442920.71D445BF@webmail.messagingengine.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_575_923338648.1534453268345"
X-Trace: blaine.gmane.org 1534453145 28282 195.159.176.226 (16 Aug 2018 20:59:05 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Thu, 16 Aug 2018 20:59:05 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUJ3A7GRAPRBFOM27NQKGQENENKUDA@isocpp.org Thu Aug 16 22:59:01 2018
Return-path: <std-proposals+bncBCUJ3A7GRAPRBFOM27NQKGQENENKUDA@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw1-f72.google.com ([209.85.161.72])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUJ3A7GRAPRBFOM27NQKGQENENKUDA@isocpp.org>)
	id 1fqPMC-0007Ef-EQ
	for gclcip-std-proposals@m.gmane.org; Thu, 16 Aug 2018 22:59:00 +0200
Original-Received: by mail-yw1-f72.google.com with SMTP id v14-v6sf4913055ywv.18
        for <gclcip-std-proposals@m.gmane.org>; Thu, 16 Aug 2018 14:01:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=isocpp-org.20150623.gappssmtp.com; s=20150623;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=sZLZoMprLY1erESO3WSmtrut+Mg/9mK+6QWXreaNz9Q=;
        b=qsfWCl/Z265QQEkN2IvcLmH7R1r9utwPCDvlb8szEt3CTASmAkHSj7SHEmaYygyICL
         zky+oiDavluyqf6WZ38ogqr6OEUbWStaDAp+106aqsN+NDosraScSdKoUJ6rtlDjeanf
         UxlCsQ5jqV0jHvLbAfL9VVTqRoUcCRLVxN1+2XDSF9Ii94sUoI2mA5Q8XInlbYB0NqNP
         t6RqJQYCPriN9jhfa1+oX95jOQPTxZcK25f1+5lSvUdsODCs+4C3xHTYKukyRRhYhBya
         7DVgsLzYSns08VfW96C3f1cLHaRbTxvuXdZbNwDyZLtbye8RAjBhSaV9DV4aNtHX0mVA
         0GOQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=date:from:to:message-id:in-reply-to:references:subject:mime-version
         :x-original-sender:reply-to:precedence:mailing-list:list-id
         :list-post:list-help:list-archive:list-subscribe:list-unsubscribe;
        bh=sZLZoMprLY1erESO3WSmtrut+Mg/9mK+6QWXreaNz9Q=;
        b=BmxRuuhWZ2O7Irc5vl837NbumEqn/VLA2Izjr1KJDt873OA33Rq3sTl+hAkHAz5VLg
         WRILKQTGHN959VZJEixx0CSuXATN9dRUJ+kgqUxASFmCQtvKZckJQ06K7vJWO+HGiiaf
         weqqT7M7gKW1uj4XFimUvNfrX0NxSmUtpOWwQ8XfkxJT/rXxrddr8XW6pCb4AQeSIwJC
         KJ6pMEkDVDfJFsd7F+qkQPTuPo5+7DEjPN/nQekSEwYtjXliPYmwEhcZ3KbGPWFOGDad
         ct+ZVU1OX+txIHZ8NjVnRmU+dtUovnsH+XeUUgGmAQbxtpOW6Pt40lg0+9EfzfE+HPQr
         +m4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:date:from:to:message-id:in-reply-to:references
         :subject:mime-version:x-original-sender:reply-to:precedence
         :mailing-list:list-id:x-spam-checked-in-group:list-post:list-help
         :list-archive:list-subscribe:list-unsubscribe;
        bh=sZLZoMprLY1erESO3WSmtrut+Mg/9mK+6QWXreaNz9Q=;
        b=ZVUylQw35VlYAMvxROVU0DXTnPxnTwjtkVtwawJyv0KA/26LwpXR2WGBN3rERYxMaK
         1XY5GaV3EZX+zDBvaiT02MwjowPeMhRctBsSupUr2EkAPzGNpljf5IEg2zLnSbOcXeJu
         d13XPKKFoLppUH1yrlrtl8IWlhpeGT96rifC+BSwkxjWGHD+3bBYmu7UXmc7awVYtvyK
         +Lse7Hy9Nc1QLoahdlb4XGP+81gjWMOdfjIBSXmxjTa8F4wg8h2Oty4aHYwziY0javh+
         MQEV/DLsGVYG8A7Xcikn7DQZ5qMQPCSfo5j19pDh1bb1Mp+eIhyQyEtl+ckwPJlN4zZy
         YI4w==
X-Gm-Message-State: AOUpUlGgz1Zlp6Ga1qiiUysBZeC3gHFgnC994cDRbye/Q5u179vf9PMg
	beHMcoKnuBHsUdX6qIOQ5o9/4A==
X-Google-Smtp-Source: AA+uWPwFZjD0vndPZA9u0u9i3vM0dljFPj6+jjgde8roc9oLx32DJjNWgyFB3JJqaP9UuqmosfQuXA==
X-Received: by 2002:a0d:fa44:: with SMTP id k65-v6mr9704346ywf.82.1534453270457;
        Thu, 16 Aug 2018 14:01:10 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a0d:d414:: with SMTP id w20-v6ls769300ywd.13.gmail; Thu, 16
 Aug 2018 14:01:09 -0700 (PDT)
X-Received: by 2002:a0d:de01:: with SMTP id h1-v6mr602484ywe.3.1534453269073;
        Thu, 16 Aug 2018 14:01:09 -0700 (PDT)
In-Reply-To: <1534441498.3721109.1476442920.71D445BF@webmail.messagingengine.com>
X-Original-Sender: MihailNajdenov@gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <https://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <https://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <https://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <https://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>,
 <https://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:39840
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/39840>

------=_Part_575_923338648.1534453268345
Content-Type: multipart/alternative; 
	boundary="----=_Part_576_277744023.1534453268346"

------=_Part_576_277744023.1534453268346
Content-Type: text/plain; charset="UTF-8"

I will answer where I need them.

First to freely use constructors with "many" arguments. 
I tend to prefer constructors in place of getter/setter and late 
initialization. 
This way I have tight control over the state of the object and know - 
public interface means someone *else* needs to access this, not "I need 
this for construction".

Second, which is tied to the first, I need this for non-so-public 
interfaces, where things are not so stable and/or not so pretty. You 
mention Qt, but even Qt uses bool arg, in the non public interface!
Yea, I also "never" use a bool, yet I have few places for sure, none of 
them public interface, but still.

These two define my PoV: 
1. Mainly need weak arguments, but stronger then comments and/or just 
warnings
2. No alternative will ever help me if it is *more* code and need *more* 
maintenance. 

But I want to iterate on the second point. 
Way, way to often there is the armchair argument "you should do this" or "you 
should do that", in pace of named arguments, and these are mostly correct 
(mostly), 
*if we talk about public interface. *The requirement for private, and/or 
semi stable, and/or work in progress code are different, and the code is 
different. 
With enough time, any interface can be pretty, even in C, but in practice, 
day to day, we need quick and practical ways for more correct code.
(This all putting aside code that even pretty is vulnerable to confusion in 
general, like math, physics some algorithms)


-- 
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.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/037bdc3e-6030-41d6-ae70-3849cca0585c%40isocpp.org.

------=_Part_576_277744023.1534453268346
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I will answer where I need them.</div><div><br></div>=
<div>First to freely use constructors with &quot;many&quot; arguments.=C2=
=A0</div><div>I tend to prefer constructors in place of getter/setter and l=
ate initialization.=C2=A0</div><div>This way I have tight control over the =
state of the object and know - public interface means someone <i>else</i> n=
eeds to access this, not &quot;I need this for construction&quot;.<br></div=
><div><br></div><div>Second, which is tied to the first, I need this for no=
n-so-public interfaces, where things are not so stable and/or not so pretty=
.. You mention Qt, but even Qt uses bool arg, in the non public interface!</=
div><div>Yea, I also &quot;never&quot; use a bool, yet I have few places fo=
r sure, none of them public interface, but still.</div><div><br></div><div>=
These two define my PoV:=C2=A0</div><div>1. Mainly need weak arguments, but=
 stronger then comments and/or just warnings<br></div><div>2. No alternativ=
e will ever help me if it is <i>more</i> code and need <i>more</i> maintena=
nce.=C2=A0</div><div><br></div><div>But I want to iterate on the second poi=
nt.=C2=A0</div><div>Way, way to often there is the armchair argument &quot;=
you should do this&quot; or &quot;<span style=3D"display: inline !important=
; float: none; background-color: transparent; color: rgb(34, 34, 34); font-=
family: &quot;Arial&quot;,&quot;Helvetica&quot;,sans-serif; font-size: 13px=
; font-style: normal; font-variant: normal; font-weight: 400; letter-spacin=
g: normal; orphans: 2; text-align: left; text-decoration: none; text-indent=
: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: n=
ormal; word-spacing: 0px;">you should do that</span>&quot;, in pace of name=
d arguments, and these are mostly correct (mostly),=C2=A0</div><div><i>if w=
e talk about public interface. </i>The requirement for private, and/or semi=
 stable, and/or work in progress code are different, and the code is differ=
ent.=C2=A0<br></div><div>With enough time, any interface can be pretty, eve=
n in C, but in practice, day to day, we need quick and practical ways for m=
ore correct code.</div><div>(This all putting aside code that even pretty i=
s vulnerable to confusion in general, like math, physics some algorithms)</=
div><div><br></div><div><br></div></div>

<p></p>

-- <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 />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/037bdc3e-6030-41d6-ae70-3849cca0585c%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/037bdc3e-6030-41d6-ae70-3849cca0585c=
%40isocpp.org</a>.<br />

------=_Part_576_277744023.1534453268346--

------=_Part_575_923338648.1534453268345--

.
