220 40940 <f7bd155a-bcbf-49f0-ac34-f0628ccf50e1@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: mihailnajdenov@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Can we have beginner friendly new line and
 deprecate std::endl?
Date: Sat, 10 Nov 2018 09:02:32 -0800 (PST)
Lines: 379
Approved: news@gmane.org
Message-ID: <f7bd155a-bcbf-49f0-ac34-f0628ccf50e1@isocpp.org>
References: <e17189bf-51be-496d-845a-3707a516a210@isocpp.org>
 <CAMmfjbOkdN63EON+hrCJWj94n48vtVvMfUjzeau5KmPWSpwkow@mail.gmail.com>
 <CAHSYqdYYZjeHHbRZ5bcHLYVsWfspwCeQ8oxEDRbuJ8dqAtsX5A@mail.gmail.com>
 <AB167E1A-FA59-4B72-A9C2-1624D1B56614@hsr.ch> <b49f4c85-816b-4b35-851d-407061a8ef9f@isocpp.org>
 <CAMmfjbOjpJvBWEke1z0XXnHXhjtEO_otNN5-jayGPwe3RHO0Rw@mail.gmail.com> <7da1f33f-c2c1-482f-8fc2-c23a9767a5ec@isocpp.org>
 <CALmDwq1wq9pKv3Esy4AXepnSMotfXTwoJ3BUQwHdmJza2gWP_Q@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_1320_788556904.1541869352385"
X-Trace: blaine.gmane.org 1541869229 29130 195.159.176.226 (10 Nov 2018 17:00:29 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sat, 10 Nov 2018 17:00:29 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUJ3A7GRAPRBKM6TTPQKGQEZE6I33Y@isocpp.org Sat Nov 10 18:00:25 2018
Return-path: <std-proposals+bncBCUJ3A7GRAPRBKM6TTPQKGQEZE6I33Y@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw1-f71.google.com ([209.85.161.71])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUJ3A7GRAPRBKM6TTPQKGQEZE6I33Y@isocpp.org>)
	id 1gLWcR-0007U1-Uk
	for gclcip-std-proposals@m.gmane.org; Sat, 10 Nov 2018 18:00:24 +0100
Original-Received: by mail-yw1-f71.google.com with SMTP id t205-v6sf4886911ywf.0
        for <gclcip-std-proposals@m.gmane.org>; Sat, 10 Nov 2018 09:02:34 -0800 (PST)
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=Sbhee7VlhNT9CNRLgGG3tc9wPFhI9a8Q5Vk/Xty6BGM=;
        b=IwqCn1Mr1hEle8JUN6D+T3LtvfFY0ETHxxeWFnMeuoyRwzJ/6ZRzUmfUSSyn2Rl8qn
         U+TF6fm606Nk1uNlyVsw102Zi1v0ZVGQ3/25A073aiwf/E8YcVggxsroIzAihk4beH66
         GYM9N3hbw9c1pZwhkhjhC/jKtQBfDDEM/+y36/ScDnPXoM+kjp1RUYZsigys3LNL4QXf
         E84xlpkmzOeyQgITRvS7Y8q7FJO4s7PYPem9cj1btn69/jHFzzIZm9J3ZBA3mTIRfd3L
         NH6gJC2q9n0y9g5GJ6ZUZS4bDlgLD6OAUkimW93F3wZJua5d3vJGVY/Q5jhT4W3Q0tr1
         CtPg==
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=Sbhee7VlhNT9CNRLgGG3tc9wPFhI9a8Q5Vk/Xty6BGM=;
        b=lj3m3Um8/RNMRN2+zNoMWPsHRjayR9QR2dcbCDim86bHMfuk64sajvuH7/R055UiiZ
         KmKxqSLpbz/2KbtVJwjjewgWnVXXwujLvRBEtUTTG2kI+9006ruUrIXYL2MKiw5AoQkB
         ROdgmF/BIz+8pGRhkd3OEWG4w75Lpd23bE3rxUGQMpOEouprQOoekqYdje+uFBWtM5e9
         AveKALLiHSqlBrsZgd9AZ6lO3psctEtw9ydZuhlwypaRNRhseyFbeNc84zIusss8Itot
         gt7FPwdShKo7J+O0V3fChu5CcgRtANJ/Wg4qo2FvUmsvNmx1u9cBH4SZdpkZT/RSc350
         ThsA==
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=Sbhee7VlhNT9CNRLgGG3tc9wPFhI9a8Q5Vk/Xty6BGM=;
        b=mZn125isASPEuylhbTaXG2M7gZB3eB2ekHtqr6yglW9Q1a1VeoZYOg2dS6EpiGhYQC
         q/HejJqljDm7gSBMnXUSyISoJ4bbyh5P2h1p9uZl2EteTSFptDHN7aZvS17gN71ZF8VA
         F7bV/08Dgh8OwoXzXp+2LjfDsHEBdzvTSumORj4rO+oOhZEgV7qq6XJqVtYXqVE9Qhrj
         AuVpQWr2zpRPUao36zhbE7ZTY/M6bsPV5LuDOb0FO6QB7llrWwFEwLcU6lUj+Yic9sNt
         dt9WZ+OhV//0aZ4Un6LnnzOudsC2zifZ1LZXdCxxpDamIFBjNJpAUFv7W4Dw2ATWahhw
         uSew==
X-Gm-Message-State: AGRZ1gIwrHb8YNsUf7RdXxJHZrWuH2T+cLb+m2Fey9g7S9fIyRwOLmw2
	I7B5srz0Txg0DpVEgy1xCUj86Q==
X-Google-Smtp-Source: AJdET5cKQTmWL3V/EMqVAUvAIsXROVxAj8PU3Tk6+ynnzBDnqI2ykHj0EjE8vQ2yGT3N8786/Q7Kqg==
X-Received: by 2002:a25:8503:: with SMTP id w3-v6mr6464523ybk.72.1541869354152;
        Sat, 10 Nov 2018 09:02:34 -0800 (PST)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a81:4b89:: with SMTP id y131-v6ls2493462ywa.12.gmail; Sat,
 10 Nov 2018 09:02:33 -0800 (PST)
X-Received: by 2002:a81:3196:: with SMTP id x144-v6mr154354ywx.1.1541869352854;
        Sat, 10 Nov 2018 09:02:32 -0800 (PST)
In-Reply-To: <CALmDwq1wq9pKv3Esy4AXepnSMotfXTwoJ3BUQwHdmJza2gWP_Q@mail.gmail.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:40940
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/40940>

------=_Part_1320_788556904.1541869352385
Content-Type: multipart/alternative; 
	boundary="----=_Part_1321_1022228256.1541869352386"

------=_Part_1321_1022228256.1541869352386
Content-Type: text/plain; charset="UTF-8"



On Saturday, November 10, 2018 at 5:28:37 PM UTC+2, Nicolas Lesser wrote:
>
> You're going to have a hard time because the committee doesn't like 
> iostreams and plans on replacing them with something else.
>

Are there any proposals in flight? I see Text Formating  
<http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0645r3.html>, but 
it does not include I/O (AFAICT) 
 

>
> And I don't really see a problem with \n. Sure, it's a bit old-school, but 
> it's clear and almost every language uses it. If you're programming you'll 
> going to have to learn \n eventually.
>
> On Sat, Nov 10, 2018, 7:24 AM <mihailn...@gmail.com <javascript:> wrote:
>
>>
>>
>> On Friday, November 9, 2018 at 6:50:59 PM UTC+2, Brian Bi wrote:
>>>
>>>
>>>
>>> On Fri, Nov 9, 2018 at 3:19 AM <mihailn...@gmail.com> wrote:
>>>
>>>> There are multiple problems with '\n'
>>>>
>>>> First - it is ultimately C ("way")
>>>>
>>> This mailing list is about C++, not Java, Rust, Swift, etc.
>>> This is not an argument.
>>>
>>
>> There is some sort of miscommunication. 
>> The fact there no C++ way to insert a new line (only a UNIX special 
>> character way) is what I state an issue, 
>> considering the rest of the API 
>>  
>>
>>>
>>> Second, when we introduce simple output to beginners, for which cout is 
>>>> actually good because of overloading,
>>>> when using '\n' we have to introduce additional topics 
>>>>  - the fact a char can be more the one, well, character
>>>>  - special magic characters
>>>> We also create asymmetry b/w what is used to start the output std::cout 
>>>> (an object), to modify it (hex) and what is used to end it ("magic").
>>>>
>>>  
>>
>>> What do you mean, "what is used to end it"? A semicolon?
>>>
>>
>> std::cout     //< start 
>>   << 12.f 
>>   << ' ' 
>>   << std::hex //< modify
>>   << 255
>>   << '\n';    //< finish (magic) 
>>
>> Note that printf (and other languages) already use special characters to 
>> modify the output, so having an '\n' is not abrupt.
>>
>> But C++ streams are different, having to spell out a special character is 
>> odd and unintuitive for a beginner and a design deficiency in general.  
>>
>>
>>  
>>>
>>>>
>>>> This screams some design flaw - we should be able to insert a new lines 
>>>> the same way we modify the stream!
>>>>
>>> Yes, the way to do that is with '\n'.
>>>  
>>>
>>>>
>>>> On its own std::endl has the flaw that it does not obey the "do one 
>>>> thing" rule.
>>>> Once we deprecate it, this will shut down all the naive 
>>>> tutorials/courses still teaching it as the default! 
>>>>
>>>>
>>>> As for std::newline, we have options - 
>>>>
>>>> std::nl //< even a beginner can "read" it
>>>> std::newl //< orthogonal to endl
>>>> std::br //< why not at this point!
>>>> std::brl
>>>> std::bl
>>>>
>>>> Geeks can still use `\n`, but a beginner (and a teacher) will have a 
>>>> simple, *correct, *go-to option that models the syntax already 
>>>> introduced (std::cout)!
>>>>
>>>>
>>>> On Friday, November 9, 2018 at 8:22:26 AM UTC+2, PeterSommerlad wrote:
>>>>>
>>>>> So the better way is do better teaching. I show my students that they 
>>>>> should not use endl, except when they need it.
>>>>>
>>>>> Sent from Peter Sommerlad's iPad
>>>>> +41 79 432 23 32
>>>>>
>>>>> On 8 Nov 2018, at 23:43, Hyman Rosen <hyman...@gmail.com> wrote:
>>>>>
>>>>> On Thu, Nov 8, 2018 at 5:08 PM Brian Bi <bbi...@gmail.com> wrote:
>>>>>
>>>>>> I think the reason why novices use std::endl is that they're under 
>>>>>> the impression (no doubt perpetuated by incompetent educators) that 
>>>>>> std::endl is portable whereas '\n' isn't.
>>>>>>
>>>>>
>>>>> I think novices use std::endl because that's how C++ formatted I/O
>>>>> was presented for ages.  I have the feeling, completely unsupported
>>>>> by evidence, that the iostreams designers thought manipulators were
>>>>> really keen, and wanted to have one that would always get used.
>>>>>
>>>>> -- 
>>>>> 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-proposal...@isocpp.org.
>>>>> To post to this group, send email to std-pr...@isocpp.org.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdYYZjeHHbRZ5bcHLYVsWfspwCeQ8oxEDRbuJ8dqAtsX5A%40mail.gmail.com 
>>>>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdYYZjeHHbRZ5bcHLYVsWfspwCeQ8oxEDRbuJ8dqAtsX5A%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>>> -- 
>>>> 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-proposal...@isocpp.org.
>>>> To post to this group, send email to std-pr...@isocpp.org.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/b49f4c85-816b-4b35-851d-407061a8ef9f%40isocpp.org 
>>>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/b49f4c85-816b-4b35-851d-407061a8ef9f%40isocpp.org?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> -- 
>>> *Brian Bi*
>>>
>> -- 
>> 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-proposal...@isocpp.org <javascript:>.
>> To post to this group, send email to std-pr...@isocpp.org <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7da1f33f-c2c1-482f-8fc2-c23a9767a5ec%40isocpp.org 
>> <https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/7da1f33f-c2c1-482f-8fc2-c23a9767a5ec%40isocpp.org?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/f7bd155a-bcbf-49f0-ac34-f0628ccf50e1%40isocpp.org.

------=_Part_1321_1022228256.1541869352386
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Saturday, November 10, 2018 at 5:28:37 PM UTC+2=
, Nicolas Lesser wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0=
;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div di=
r=3D"auto">You&#39;re going to have a hard time because the committee doesn=
&#39;t like iostreams and plans on replacing them with something else.</div=
></blockquote><div><br></div><div>Are there any proposals in flight? I see =
<a href=3D"http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p0645r3.=
html">Text Formating=C2=A0</a>, but it does not include I/O (AFAICT)=C2=A0<=
/div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin: 0;=
margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=
=3D"auto"><div dir=3D"auto"><br></div><div dir=3D"auto">And I don&#39;t rea=
lly see a problem with \n. Sure, it&#39;s a bit old-school, but it&#39;s cl=
ear and almost every language uses it. If you&#39;re programming you&#39;ll=
 going to have to learn \n eventually.</div></div><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr">On Sat, Nov 10, 2018, 7:24 AM  &lt;<a href=3D"javasc=
ript:" target=3D"_blank" gdf-obfuscated-mailto=3D"GZ4zrPUcBQAJ" rel=3D"nofo=
llow" onmousedown=3D"this.href=3D&#39;javascript:&#39;;return true;" onclic=
k=3D"this.href=3D&#39;javascript:&#39;;return true;">mihailn...@gmail.com</=
a> wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 =
..8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><br><br>=
On Friday, November 9, 2018 at 6:50:59 PM UTC+2, Brian Bi wrote:<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"><br><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr">On Fri, Nov 9, 2018 at 3:19 AM &lt;<a rel=3D"nofollo=
w noreferrer">mihailn...@gmail.com</a>&gt; wrote:<br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad=
ding-left:1ex"><div dir=3D"ltr">There are multiple problems with &#39;\n&#3=
9;<div><br></div><div>First - it is ultimately C (&quot;way&quot;)</div></d=
iv></blockquote><div>This mailing list is about C++, not Java, Rust, Swift,=
 etc.</div><div>This is not an argument.</div></div></div></blockquote><div=
><br></div><div>There is some sort of miscommunication.=C2=A0</div><div>The=
 fact there no C++ way to insert a new line (only a UNIX special character =
way) is what I state an issue,=C2=A0</div><div>considering the rest of the =
API=C2=A0</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"=
margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><di=
v dir=3D"ltr"><div class=3D"gmail_quote"><div><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><div dir=3D"ltr"><div>Second, when we introduce simple output=
 to beginners, for which cout is actually good because of overloading,</div=
><div>when using &#39;\n&#39; we have to introduce additional topics=C2=A0<=
br><div>=C2=A0- the fact a char can be more the one, well, character</div><=
div>=C2=A0- special magic characters</div><div>We also create asymmetry b/w=
 what is used to start the output std::cout (an object), to modify it (hex)=
 and what is used to end it (&quot;magic&quot;).</div></div></div></blockqu=
ote></div></div></blockquote><div>=C2=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding=
-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>What do you mea=
n, &quot;what is used to end it&quot;? A semicolon?</div></div></div></bloc=
kquote><div><br></div><div><div><font face=3D"courier new, monospace">std::=
cout=C2=A0 =C2=A0 =C2=A0//&lt; start=C2=A0</font></div><div><font face=3D"c=
ourier new, monospace">=C2=A0 &lt;&lt; 12.f=C2=A0</font></div><div><font fa=
ce=3D"courier new, monospace">=C2=A0 &lt;&lt; &#39; &#39;=C2=A0</font></div=
><div><font face=3D"courier new, monospace">=C2=A0 &lt;&lt; std::hex //&lt;=
 modify</font></div><div><font face=3D"courier new, monospace">=C2=A0 &lt;&=
lt; 255</font></div><div><font face=3D"courier new, monospace">=C2=A0 &lt;&=
lt; &#39;\n&#39;;=C2=A0 =C2=A0 //&lt; finish (magic)=C2=A0</font></div></di=
v><div><br></div><div>Note that printf (and other languages) already use sp=
ecial characters to modify the output, so having an &#39;\n&#39; is not abr=
upt.</div><div><br></div><div>But C++ streams are different, having to spel=
l out a special character is odd and unintuitive for a beginner and a desig=
n deficiency in general.=C2=A0=C2=A0</div><div><br></div><div><br></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_q=
uote"><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 =
0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div=
><div><br></div><div>This screams some design flaw - we should be able to i=
nsert a new lines the same way we modify the stream!</div></div></div></blo=
ckquote><div>Yes, the way to do that is with &#39;\n&#39;.</div><div>=C2=A0=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
eft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><div><div><br></div><=
div>On its own std::endl has the flaw that it does not obey the &quot;do on=
e thing&quot; rule.</div><div>Once we deprecate it, this will shut down all=
 the naive tutorials/courses still teaching it as the default!=C2=A0</div><=
div><br></div><div><br></div><div>As for std::newline, we have options -=C2=
=A0</div><div><br></div><div><font face=3D"courier new, monospace">std::nl =
//&lt; even a beginner can &quot;read&quot; it</font></div><div><font face=
=3D"courier new, monospace">std::newl //&lt; orthogonal to endl</font></div=
><div><font face=3D"courier new, monospace">std::br //&lt; why not at this =
point!</font></div><div><font face=3D"courier new, monospace">std::brl</fon=
t></div><div><font face=3D"courier new, monospace">std::bl</font></div><div=
><br></div><div>Geeks can still use `\n`, but a beginner (and a teacher) wi=
ll have a simple, <i>correct,=C2=A0</i>go-to option that models the syntax =
already introduced (std::cout)!</div><div><br><br>On Friday, November 9, 20=
18 at 8:22:26 AM UTC+2, PeterSommerlad wrote:<blockquote class=3D"gmail_quo=
te" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-=
left:1ex"><div dir=3D"auto">So the better way is do better teaching. I show=
 my students that they should not use endl, except when they need it.<br><b=
r><div dir=3D"ltr">Sent from Peter Sommerlad&#39;s<span>=C2=A0iPad</span><d=
iv><span>+41 79 432 23 32</span></div></div><div dir=3D"ltr"><br>On 8 Nov 2=
018, at 23:43, Hyman Rosen &lt;<a rel=3D"nofollow noreferrer">hyman...@gmai=
l.com</a>&gt; wrote:<br><br></div><blockquote type=3D"cite"><div dir=3D"ltr=
"><div dir=3D"ltr"><div class=3D"gmail_quote"><div dir=3D"ltr">On Thu, Nov =
8, 2018 at 5:08 PM Brian Bi &lt;<a rel=3D"nofollow noreferrer">bbi...@gmail=
..com</a>&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"margin:=
0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr"><d=
iv class=3D"gmail_quote"><div>I think the reason why novices use std::endl =
is that they&#39;re under the impression (no doubt perpetuated by incompete=
nt educators) that std::endl is portable whereas &#39;\n&#39; isn&#39;t.</d=
iv></div></div></blockquote><div><br>I think novices use std::endl because =
that&#39;s how C++ formatted I/O<br>was presented for ages.=C2=A0 I have th=
e feeling, completely unsupported<br>by evidence, that the iostreams design=
ers thought manipulators were<br>really keen, and wanted to have one that w=
ould always get used.</div></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 rel=3D"nofollow noreferrer">std-proposal...@isocpp.org</a>.<br>
To post to this group, send email to <a rel=3D"nofollow noreferrer">std-pr.=
...@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/CAHSYqdYYZjeHHbRZ5bcHLYVsWfspwCeQ8oxE=
DRbuJ8dqAtsX5A%40mail.gmail.com?utm_medium=3Demail&amp;utm_source=3Dfooter"=
 rel=3D"nofollow" target=3D"_blank" onmousedown=3D"this.href=3D&#39;https:/=
/groups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdYYZjeHHbRZ5bcH=
LYVsWfspwCeQ8oxEDRbuJ8dqAtsX5A%40mail.gmail.com?utm_medium\x3demail\x26utm_=
source\x3dfooter&#39;;return true;" onclick=3D"this.href=3D&#39;https://gro=
ups.google.com/a/isocpp.org/d/msgid/std-proposals/CAHSYqdYYZjeHHbRZ5bcHLYVs=
WfspwCeQ8oxEDRbuJ8dqAtsX5A%40mail.gmail.com?utm_medium\x3demail\x26utm_sour=
ce\x3dfooter&#39;;return true;">https://groups.google.com/a/<wbr>isocpp.org=
/d/msgid/std-<wbr>proposals/<wbr>CAHSYqdYYZjeHHbRZ5bcHLYVsWfspw<wbr>CeQ8oxE=
DRbuJ8dqAtsX5A%40mail.<wbr>gmail.com</a>.<br>
</div></blockquote></div></blockquote></div></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 rel=3D"nofollow noreferrer">std-proposal...@isocpp.org</a>.<br>
To post to this group, send email to <a rel=3D"nofollow noreferrer">std-pr.=
...@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/b49f4c85-816b-4b35-851d-407061a8ef9f%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" rel=3D"nofollow" t=
arget=3D"_blank" onmousedown=3D"this.href=3D&#39;https://groups.google.com/=
a/isocpp.org/d/msgid/std-proposals/b49f4c85-816b-4b35-851d-407061a8ef9f%40i=
socpp.org?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" on=
click=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/msgid/st=
d-proposals/b49f4c85-816b-4b35-851d-407061a8ef9f%40isocpp.org?utm_medium\x3=
demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com=
/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/b49f4c85-816b-4b35-<wbr>851d-=
407061a8ef9f%40isocpp.org</a><wbr>.<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
><div dir=3D"ltr"><div><div dir=3D"ltr"><font color=3D"#c0c0c0"><i>Brian Bi=
</i></font><br><div></div><div></div><div></div></div></div></div></div></d=
iv>
</blockquote></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"javascript:" rel=3D"nofollow" target=3D"_blank" gdf-obfu=
scated-mailto=3D"GZ4zrPUcBQAJ" onmousedown=3D"this.href=3D&#39;javascript:&=
#39;;return true;" onclick=3D"this.href=3D&#39;javascript:&#39;;return true=
;">std-proposal...@<wbr>isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"javascript:" rel=3D"nofollo=
w" target=3D"_blank" gdf-obfuscated-mailto=3D"GZ4zrPUcBQAJ" onmousedown=3D"=
this.href=3D&#39;javascript:&#39;;return true;" onclick=3D"this.href=3D&#39=
;javascript:&#39;;return true;">std-pr...@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/7da1f33f-c2c1-482f-8fc2-c23a9767a5ec%=
40isocpp.org?utm_medium=3Demail&amp;utm_source=3Dfooter" rel=3D"nofollow" t=
arget=3D"_blank" onmousedown=3D"this.href=3D&#39;https://groups.google.com/=
a/isocpp.org/d/msgid/std-proposals/7da1f33f-c2c1-482f-8fc2-c23a9767a5ec%40i=
socpp.org?utm_medium\x3demail\x26utm_source\x3dfooter&#39;;return true;" on=
click=3D"this.href=3D&#39;https://groups.google.com/a/isocpp.org/d/msgid/st=
d-proposals/7da1f33f-c2c1-482f-8fc2-c23a9767a5ec%40isocpp.org?utm_medium\x3=
demail\x26utm_source\x3dfooter&#39;;return true;">https://groups.google.com=
/a/<wbr>isocpp.org/d/msgid/std-<wbr>proposals/7da1f33f-c2c1-482f-<wbr>8fc2-=
c23a9767a5ec%40isocpp.org</a><wbr>.<br>
</blockquote></div>
</blockquote></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/f7bd155a-bcbf-49f0-ac34-f0628ccf50e1%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/f7bd155a-bcbf-49f0-ac34-f0628ccf50e1=
%40isocpp.org</a>.<br />

------=_Part_1321_1022228256.1541869352386--

------=_Part_1320_788556904.1541869352385--

.
