220 19888 <201ecd9f-f845-4a4d-8498-ea9df55667aa@isocpp.org> article
Path: news.gmane.org!not-for-mail
From: Nicol Bolas <jmckesson@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: default arguments
Date: Tue, 18 Aug 2015 06:54:39 -0700 (PDT)
Lines: 102
Approved: news@gmane.org
Message-ID: <201ecd9f-f845-4a4d-8498-ea9df55667aa@isocpp.org>
References: <ef9c7cbe-e8f1-4196-83bc-11a1c9b2798c@isocpp.org>
 <736eb378-52a4-43ba-b3b5-a73719ba70af@isocpp.org>
 <mqtask$51j$1@ger.gmane.org>
 <86717349-1fce-4247-9372-08eedce4cd30@isocpp.org>
 <fed028ba-73b9-47ba-ba71-1a6da1f5212e@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_4521_841019049.1439906079138"
X-Trace: ger.gmane.org 1439906086 30564 80.91.229.3 (18 Aug 2015 13:54:46 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Tue, 18 Aug 2015 13:54:46 +0000 (UTC)
Cc: bop@gmb.dk
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCEKFTV6ZUMBBIHSZSXAKGQEPM5UNDY@isocpp.org Tue Aug 18 15:54:46 2015
Return-path: <std-proposals+bncBCEKFTV6ZUMBBIHSZSXAKGQEPM5UNDY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qk0-f197.google.com ([209.85.220.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBCEKFTV6ZUMBBIHSZSXAKGQEPM5UNDY@isocpp.org>)
	id 1ZRhLe-0002Xd-9H
	for gclcip-std-proposals@m.gmane.org; Tue, 18 Aug 2015 15:54:42 +0200
Original-Received: by qkfj126 with SMTP id j126sf240638974qkf.0
        for <gclcip-std-proposals@m.gmane.org>; Tue, 18 Aug 2015 06:54:41 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20120113;
        h=date:from:to:cc:message-id:in-reply-to:references:subject
         :mime-version:content-type: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=tQ6U7oyuXbrTkIG4v5c2eZkmxZfAI8LIte36bnsDsDk=;
        b=gto/Vc2DapMTRL5ueaIlYR3UPqkwdtJ3Zhx0+skmvQ4Ltz/jvNd6tT+PtdKEHdJ3dD
         3v/3hbs66uJT5JL9XEMlajHUWGzIw/5QVfjXQiL1PRJFpFNdtTPLNitYtitC4L4aIHoY
         1qToSbLcquD047KEaHCIVW/yrAjBSSAALD/OUsudA6/00irI8yUmi0guNXQCniMRrrFQ
         I1SqZr1BGFXn5DkCn7E2bQ/o5s7jNesQE5I/l3lCSDAFGKwuOLoCy40i7AUoJHFsIFBF
         bH60vnd2iEV3klOo368SFoqsyYeV5MDMJP+6bCqV4i51mrIhhAiu9vUC2BLiJlyM7jQW
         1Xew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:date:from:to:cc:message-id:in-reply-to
         :references:subject:mime-version:content-type: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=tQ6U7oyuXbrTkIG4v5c2eZkmxZfAI8LIte36bnsDsDk=;
        b=P4jjxAMoetaJaHCPjPW0osq670VlmM9D2oBzkVxNLY2T/nVbZh9zvNMn3uZl7MLQup
         b69khLD0+uzZSX2gsFMke1YfCKOlka4S1gKCPTRcr29cNm79DSwF4pFl/SCP+xDKC51x
         RHS3gfdrGaqpTvEnleORk5IO5NFvtD3sS/8D+f8DpCr8IWTaVpkjyBhAS3QXvpRCjwcb
         CuW4iu2lAuW4gVaDJGdFJKOYk9FfxibE/s6qcVvS66lxI9Hr6oFLgh0Q4dIoTw9OVfII
         CQxJbYArlKUPYrBHMER/gmgo/IIhL2w8O2pYUbiTy+iBqFIMWMZQsio7xmpxAFA40fgW
         ynlw==
X-Gm-Message-State: ALoCoQlzYkc4YPZZfI4r18m8QUffmkNX9GdjsEc3Hn4f5QBuXNCJjcMa67iZ4/mnfmE/e7YdYOJv
X-Received: by 10.13.216.146 with SMTP id a140mr6050623ywe.6.1439906081374;
        Tue, 18 Aug 2015 06:54:41 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.97.68 with SMTP id l62ls3154295qge.89.gmail; Tue, 18 Aug
 2015 06:54:39 -0700 (PDT)
X-Received: by 10.140.85.232 with SMTP id n95mr86758qgd.21.1439906079909;
        Tue, 18 Aug 2015 06:54:39 -0700 (PDT)
In-Reply-To: <fed028ba-73b9-47ba-ba71-1a6da1f5212e@isocpp.org>
X-Original-Sender: jmckesson@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: <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:19888
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19888>

------=_Part_4521_841019049.1439906079138
Content-Type: multipart/alternative; 
	boundary="----=_Part_4522_1945168116.1439906079138"

------=_Part_4522_1945168116.1439906079138
Content-Type: text/plain; charset=UTF-8



On Tuesday, August 18, 2015 at 5:20:20 AM UTC-4, Arthur Tchaikovsky wrote:
>
> "I would MUCH rather just rewrite all these constructors"
>
> But did you do it or simply wish that at some point you will find the time 
> (and will) to do it, but in the mean time you are still using those "old" 
> constructors? Because I also would MUCH rather have C++ cleaned up, yet 
> this will never happen, and I need to use C++ in its current state. What I 
> wish is very different to what I have.
>
> And as for you saying that defaulted constructors are antipattern, is that 
> a fact or it is simply your opinion?
>

.... What else would it be but an opinion? Is there some entirely objective 
definition of "anti-pattern" that could be applied? Of course not; its 
definition is based on user experience, which is always at least somewhat 
subjective.

That being said, if quite a few C++ programmers, particularly those who 
frequently work with codebases that use them, consider something to be an 
anti-pattern, that's at least evidence for the position. And I don't think 
I've seen too many people saying "we need people using default arguments in 
C++ *more*".

I'm not against the functionality on principle. It's a simpler solution 
than named arguments. And considering that the C++ committee has decided 
that named arguments pretty much are never going to happen, it's probably 
the best you can hope for.

At the same time, I don't think it's a very important feature. I agree with 
the idea that using lots of default arguments (which this feature 
encourages) is at the very least a code smell if not an anti-pattern. So I 
can't say that this is a good idea.

-- 

--- 
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/.

------=_Part_4522_1945168116.1439906079138
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Tuesday, August 18, 2015 at 5:20:20 AM UTC-4, A=
rthur Tchaikovsky wrote:<blockquote class=3D"gmail_quote" style=3D"margin: =
0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div d=
ir=3D"ltr">&quot;I would MUCH rather just rewrite all these constructors&qu=
ot;<br><br>But did you do it or simply wish that at some point you will fin=
d the time (and will) to do it, but in the mean time you are still using th=
ose &quot;old&quot; constructors? Because I also would MUCH rather have C++=
 cleaned up, yet this will never happen, and I need to use C++ in its curre=
nt state. What I wish is very different to what I have.<br><br>And as for y=
ou saying that defaulted constructors are antipattern, is that a fact or it=
 is simply your opinion?</div></blockquote><div><br>... What else would it =
be but an opinion? Is there some entirely objective definition of &quot;ant=
i-pattern&quot; that could be applied? Of course not; its definition is bas=
ed on user experience, which is always at least somewhat subjective.<br><br=
>That being said, if quite a few C++ programmers, particularly those who fr=
equently work with codebases that use them, consider something to be an ant=
i-pattern, that&#39;s at least evidence for the position. And I don&#39;t t=
hink I&#39;ve seen too many people saying &quot;we need people using defaul=
t arguments in C++ <i>more</i>&quot;.<br><br>I&#39;m not against the functi=
onality on principle. It&#39;s a simpler solution than named arguments. And=
 considering that the C++ committee has decided that named arguments pretty=
 much are never going to happen, it&#39;s probably the best you can hope fo=
r.<br><br>At the same time, I don&#39;t think it&#39;s a very important fea=
ture. I agree with the idea that using lots of default arguments (which thi=
s feature encourages) is at the very least a code smell if not an anti-patt=
ern. So I can&#39;t say that this is a good idea.<br></div></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 />

------=_Part_4522_1945168116.1439906079138--
------=_Part_4521_841019049.1439906079138--

.
