220 38425 <31d6c89e-cbc9-4b25-b9e2-c2f2a98bef0f@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: mihailnajdenov@gmail.com
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Thumbs Up for No Graphics
Date: Fri, 1 Jun 2018 14:16:23 -0700 (PDT)
Lines: 468
Approved: news@gmane.org
Message-ID: <31d6c89e-cbc9-4b25-b9e2-c2f2a98bef0f@isocpp.org>
References: <7915a73c-e305-4bce-bf6e-28f20a7faccb@isocpp.org>
 <CALvx3hZ0Ouf4OgeeaeVjYvVP3n61AWBn3f6=H2-3A2hMPxGzVg@mail.gmail.com>
 <CA+Om+SjxfeHSdw=DPJGFBJFJtH1NgQ19tH=WY5KqKCKkzs-fPg@mail.gmail.com>
 <CALvx3hbeANpuC-O=EWxH206KG=WDrFwCiruoxc_02rfDooZcNg@mail.gmail.com> <pers9n$8ih$1@blaine.gmane.org>
 <CAHSYqdYkh1BJe3UHVP_8AtdEspvBBKNK9E2or+dFLH83ajgyuA@mail.gmail.com>
 <2035f76f-5775-44c1-b9cc-e9249d9b8142@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_13065_608498145.1527887783665"
X-Trace: blaine.gmane.org 1527887664 1302 195.159.176.226 (1 Jun 2018 21:14:24 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Fri, 1 Jun 2018 21:14:24 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCUJ3A7GRAPRBKHPY3MAKGQEWOYTGIQ@isocpp.org Fri Jun 01 23:14:20 2018
Return-path: <std-proposals+bncBCUJ3A7GRAPRBKHPY3MAKGQEWOYTGIQ@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-yw0-f197.google.com ([209.85.161.197])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCUJ3A7GRAPRBKHPY3MAKGQEWOYTGIQ@isocpp.org>)
	id 1fOrNL-00008R-0T
	for gclcip-std-proposals@m.gmane.org; Fri, 01 Jun 2018 23:14:19 +0200
Original-Received: by mail-yw0-f197.google.com with SMTP id r14-v6sf17392294ywc.12
        for <gclcip-std-proposals@m.gmane.org>; Fri, 01 Jun 2018 14:16:25 -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=yv3OmbpQ6cefOIiaGEcRRxqca+jPrFk81cwKUTtYuXk=;
        b=s/sGbCiyD35T7nGYg28Cede0V9p11K6ZdJkaTzGs9R374qX6BzFSVZZ4x6Impz69ir
         9B1rzNIoOmmxTdGAcd8QKvv2CuqcQ0I+04NQoORnBCWzPapDeKlu9l3X9GUwHjaLoJj7
         POXecINa/AkAt7yxFvcLO9mWR1hZeRzzD5EJ+0qdUajylb3E7HLWFpDzMgzRRSco6lu/
         SDZZe3HnWCLaYMbeF1vsswiJejzvdFONlABK0FbOKQDdE47Q1peV2B3H3eNo/K+HT6RO
         zmxP1yioT25dVcrUja6U1CITQjbJnDZ3l1cOS+P9ODyV01sGZ8hJ+TAVQvZX7tp8dKzJ
         Tc4g==
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=yv3OmbpQ6cefOIiaGEcRRxqca+jPrFk81cwKUTtYuXk=;
        b=FIp7P5vAaeIU11gbLKuG4EYQPebth78xG8PgJkUqIa2/gn+cJxK8NPJ4DFXi2w0HLm
         Sqo26TMX74aVa55x5iTZ/A1x/GHdDT4yVI4xZfNDRw7TLLLoP7LHD4r5ztDVv8kjI1mM
         eUMLvcrZpqsWLNaw6ulTxjgm2QuLdco2dU9E1b7IR5d9hRybmD8uGuVtCltt02WuSVIK
         3RNRuuWbs2XD2/5rLiLyEDKHl4t9i/SfLNqndwYEJCi53QymYvDdAz03ieqousNjfESg
         atANDTnGmEBXTwIRjW/Tv5IhRcgBMVQOz+Ogy0pYzxtC20RZ/vMuYW8UMMfJjhqY4ZYP
         QMGQ==
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=yv3OmbpQ6cefOIiaGEcRRxqca+jPrFk81cwKUTtYuXk=;
        b=ErTPc3blbsBevVg52Bw+56sVn3MUdUtSbvk6vBQGoq7X35Qqm7Ol6GcxxdAIMVOy97
         4nUZU8MqvHKtZ73+UTT2wQ7kACBnmgEL7wBybT3f3WfWJ3HFMLuKBxdulcFbumf4BPNj
         xBwNmJWcsSaQeyYExhaFNpCJHllXw5xrzSLaNP53kXSLDlrt8nQQpAmzfh8Tuw+T5bX+
         vjiRgjTYE79jAa9EHxefJaxKMMF7EElHcJCq/NPjhBnv1oahPTcNl5+10z/jlBSoof8y
         7dMz4sI84N6bWPTXIvOq7CXKIlUdafLiTMXOpbEowmROKR+ISkG/nV1lEvzFywkMW1yk
         rB8Q==
X-Gm-Message-State: ALKqPwddGjYk5PO/g968BZ9SQ3uCxREthY1gNPwRLjSXLefpwz0Mw2MC
	LMmGo6cF6No/rRvj58DeZyCiVQ==
X-Google-Smtp-Source: ADUXVKL+KjKocDPPbHapWQwhA3KkmOhAbg0+ZRHQtiXY1EE1iUvbawWqmyH0DpwiHYE5uB2J7K2VeQ==
X-Received: by 2002:a25:9d03:: with SMTP id i3-v6mr3403310ybp.19.1527887784886;
        Fri, 01 Jun 2018 14:16:24 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 2002:a0d:d5c8:: with SMTP id x191-v6ls1953713ywd.13.gmail; Fri,
 01 Jun 2018 14:16:24 -0700 (PDT)
X-Received: by 2002:a81:3487:: with SMTP id b129-v6mr461203ywa.13.1527887784112;
        Fri, 01 Jun 2018 14:16:24 -0700 (PDT)
In-Reply-To: <2035f76f-5775-44c1-b9cc-e9249d9b8142@isocpp.org>
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:38425
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/38425>

------=_Part_13065_608498145.1527887783665
Content-Type: multipart/alternative; 
	boundary="----=_Part_13066_1887728245.1527887783666"

------=_Part_13066_1887728245.1527887783666
Content-Type: text/plain; charset="UTF-8"



On Friday, June 1, 2018 at 11:15:53 PM UTC+3, Nicol Bolas wrote:
>
> On Friday, June 1, 2018 at 3:44:06 PM UTC-4, Hyman Rosen wrote:
>>
>> On Fri, Jun 1, 2018 at 12:32 PM Robert Ramey <ra...@rrsd.com> wrote:
>>
>>> The problem is that they are not standardized.
>>>
>>
>> The standardization of [filesystem] contributes 46 pages to the C++ 
>> Standard,
>> incorporates POSIX by reference, and is full of "for POSIX it does this 
>> and for
>> Windows it does that" statements along with other waffling.
>>
>
> Not one *normative* statement in the standard has any of this "waffling". 
> Any platform-specific information are in [notes], and therefore are not 
> required parts of the actual specification.
>
> (For example, the
>> specification of absolute(const path&p) in [fs.op.absolute] contains 
>> this:
>> *Implementations are strongly encouraged to ... not consider !exists(p) 
>> an error.*)
>>
>> I submit that standardizing file system operation in the C++ Standard 
>> hasn't
>> really standardized much, since the underlying system dependencies are 
>> still
>> showing through and have to be accounted for, and has added complexity and
>> length to a standard that is already too complex and too long.
>>
>
> If you can write cross-platform code without a single `#ifdef WINDOWS` or 
> whatever, then the standard is doing its job. The existence of 
> implementation-dependent aspects of the standard does not mean that you 
> cannot write your code such that it works on all platforms.
>
> Consider the statement on `absolute`. All you need to do is handle errors 
> that happen, to write your code as if you can't call it on a file that 
> doesn't exist. It's not a problem.
>
> Adding graphics
>> would be a hundred times worse.
>>
>> Programming language standards should define the programming language.
>>
>
> By that logic, we shouldn't have file APIs, streams, containers, atomics, 
> threads, or anything of that nature. Those aren't the "programming 
> language", so there's no need for any part of the standard library outside 
> of the language support library.
>
> And what good would that have accomplished? How would that make C++ a 
> better programming environment?
>


I guess it is the ratio of uses vs diversity vs dynamic of the task that is 
to be in a library. 

Uses must be high, diversity (alternative interpretations of what it is, 
different attack vectors, different priorities) low and dynamic (rate of 
change) also low

All the things you mentioned fit the criteria ok, well or very well - Many 
people use them, there are no grotesque alternative views of they are, 
quite low dynamic (new "inventions" of these come rarely)
 
At higher level libraries things start to lose on these properties. 

FS is good example. 
It is saved by the fact the use is high (anyone will want to save a file or 
list folders contents), but the diversity is also moderate-high (many 
different attack vectors), dynamic is moderate-to-high as well (for 
instance mac switched to urls around the time the FS got adopted)

As a result FS falls back to a decades old API and if you use the native 
APIs you will have order of magnate better, as in 
modern/professional/feature rich, file IO. This is true for all major 
platforms. 
Still, as said FS is fine, because of the high potential use and the fact 
not anyone needs feature rich IO.

Things much, much worse for Graphics in any of three criteria and this time 
around, in contrast to FS, falling back to "some basic principals" risks 
making it useless outside prototyping and teaching.
 

>
> Functionality not required by the core language should be standardized
>> separately, if people are moved to do it. 
>>
>

-- 
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/31d6c89e-cbc9-4b25-b9e2-c2f2a98bef0f%40isocpp.org.

------=_Part_13066_1887728245.1527887783666
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Friday, June 1, 2018 at 11:15:53 PM UTC+3, Nico=
l Bolas wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-l=
eft: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><div dir=3D"ltr"=
>On Friday, June 1, 2018 at 3:44:06 PM UTC-4, Hyman Rosen 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"><div class=3D"gmail_quote"><d=
iv dir=3D"ltr">On Fri, Jun 1, 2018 at 12:32 PM Robert Ramey &lt;<a rel=3D"n=
ofollow">ra...@rrsd.com</a>&gt; wrote:</div><blockquote class=3D"gmail_quot=
e" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204)=
;padding-left:1ex">
The problem is that they are not standardized.<br></blockquote><div><br>The=
 standardization of [filesystem] contributes 46 pages to the C++ Standard,<=
br>incorporates POSIX by reference, and is full of &quot;for POSIX it does =
this and for<br>Windows it does that&quot; statements along with other waff=
ling.</div></div></div></blockquote><div><br></div><div>Not one <i>normativ=
e</i> statement in the standard has any of this &quot;waffling&quot;. Any p=
latform-specific information are in [notes], and therefore are not required=
 parts of the actual specification.</div><div><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0;margin-left:0.8ex;border-left:1px #ccc s=
olid;padding-left:1ex"><div dir=3D"ltr"><div class=3D"gmail_quote"><div>(Fo=
r example, the<br>specification of=C2=A0<font face=3D"monospace, monospace"=
>absolute(const path&amp;p)</font>=C2=A0in [fs.op.absolute] contains this:<=
br><i>Implementations are strongly encouraged to ... not consider <font fac=
e=3D"monospace, monospace">!exists(p)</font> an error.</i>)<br><br>I submit=
 that standardizing file system operation in the C++ Standard hasn&#39;t<br=
>really standardized much, since the underlying system dependencies are sti=
ll<br>showing through and have to be accounted for, and has added complexit=
y and<br>length to a standard that is already too complex and too long.</di=
v></div></div></blockquote><div><br></div><div>If you can write cross-platf=
orm code without a single `#ifdef WINDOWS` or whatever, then the standard i=
s doing its job. The existence of implementation-dependent aspects of the s=
tandard does not mean that you cannot write your code such that it works on=
 all platforms.</div><div><br></div><div>Consider the statement on `absolut=
e`. All you need to do is handle errors that happen, to write your code as =
if you can&#39;t call it on a file that doesn&#39;t exist. It&#39;s not a p=
roblem.<br></div><div><br></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>Adding graphics<br>would be a=
 hundred times worse.<br><br>Programming language standards should define t=
he programming language.<br></div></div></div></blockquote><div><br></div><=
div>By that logic, we shouldn&#39;t have file APIs, streams, containers, at=
omics, threads, or anything of that nature. Those aren&#39;t the &quot;prog=
ramming language&quot;, so there&#39;s no need for any part of the standard=
 library outside of the language support library.</div><div><br></div><div>=
And what good would that have accomplished? How would that make C++ a bette=
r programming environment?<br></div></div></blockquote><div><br></div><div>=
<br></div><div><div style=3D"background-color: transparent; border-bottom-c=
olor: rgb(34, 34, 34); border-bottom-style: none; border-bottom-width: 0px;=
 border-image-outset: 0; border-image-repeat: stretch; border-image-slice: =
100%; border-image-source: none; border-image-width: 1; border-left-color: =
rgb(34, 34, 34); border-left-style: none; border-left-width: 0px; border-ri=
ght-color: rgb(34, 34, 34); border-right-style: none; border-right-width: 0=
px; border-top-color: rgb(34, 34, 34); border-top-style: none; border-top-w=
idth: 0px; color: rgb(34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&=
amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: norma=
l; font-variant: normal; font-weight: 400; letter-spacing: normal; margin-b=
ottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: =
2; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top:=
 0px; text-align: left; text-decoration: none; text-indent: 0px; text-trans=
form: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spaci=
ng: 0px;">I guess it is the ratio of uses vs diversity vs dynamic of the ta=
sk that is to be in a library.=C2=A0</div><div style=3D"background-color: t=
ransparent; border-bottom-color: rgb(34, 34, 34); border-bottom-style: none=
; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: st=
retch; border-image-slice: 100%; border-image-source: none; border-image-wi=
dth: 1; border-left-color: rgb(34, 34, 34); border-left-style: none; border=
-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right-style: =
none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); border-to=
p-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-family: =
&amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-si=
ze: 13px; font-style: normal; font-variant: normal; font-weight: 400; lette=
r-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;=
 margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; paddi=
ng-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; t=
ext-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; whit=
e-space: normal; word-spacing: 0px;"><br></div><div style=3D"background-col=
or: transparent; border-bottom-color: rgb(34, 34, 34); border-bottom-style:=
 none; border-bottom-width: 0px; border-image-outset: 0; border-image-repea=
t: stretch; border-image-slice: 100%; border-image-source: none; border-ima=
ge-width: 1; border-left-color: rgb(34, 34, 34); border-left-style: none; b=
order-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right-st=
yle: none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); bord=
er-top-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-fam=
ily: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; fo=
nt-size: 13px; font-style: normal; font-variant: normal; font-weight: 400; =
letter-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right:=
 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; =
padding-right: 0px; padding-top: 0px; text-align: left; text-decoration: no=
ne; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px;=
 white-space: normal; word-spacing: 0px;">Uses must be high, diversity (alt=
ernative interpretations of what it is, different attack vectors, different=
 priorities) low and dynamic (rate of change) also low</div><div style=3D"b=
ackground-color: transparent; border-bottom-color: rgb(34, 34, 34); border-=
bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; borde=
r-image-repeat: stretch; border-image-slice: 100%; border-image-source: non=
e; border-image-width: 1; border-left-color: rgb(34, 34, 34); border-left-s=
tyle: none; border-left-width: 0px; border-right-color: rgb(34, 34, 34); bo=
rder-right-style: none; border-right-width: 0px; border-top-color: rgb(34, =
34, 34); border-top-style: none; border-top-width: 0px; color: rgb(34, 34, =
34); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,s=
ans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-=
weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-left: 0px; =
margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; paddin=
g-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-d=
ecoration: none; text-indent: 0px; text-transform: none; -webkit-text-strok=
e-width: 0px; white-space: normal; word-spacing: 0px;"><br style=3D"backgro=
und-attachment: scroll; background-clip: border-box; background-color: tran=
sparent; background-image: none; background-origin: padding-box; background=
-position-x: 0%; background-position-y: 0%; background-repeat: repeat; back=
ground-size: auto; border-bottom-color: rgb(34, 34, 34); border-bottom-styl=
e: none; border-bottom-width: 0px; border-image-outset: 0; border-image-rep=
eat: stretch; border-image-slice: 100%; border-image-source: none; border-i=
mage-width: 1; border-left-color: rgb(34, 34, 34); border-left-style: none;=
 border-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right-=
style: none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); bo=
rder-top-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-f=
amily: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; =
font-size: 13px; height: auto; margin-bottom: 0px; margin-left: 0px; margin=
-right: 0px; margin-top: 0px; min-width: 0px; overflow: visible; overflow-x=
: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; pad=
ding-right: 0px; padding-top: 0px;"></div><div style=3D"background-color: t=
ransparent; border-bottom-color: rgb(34, 34, 34); border-bottom-style: none=
; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: st=
retch; border-image-slice: 100%; border-image-source: none; border-image-wi=
dth: 1; border-left-color: rgb(34, 34, 34); border-left-style: none; border=
-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right-style: =
none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); border-to=
p-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-family: =
&amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-si=
ze: 13px; font-style: normal; font-variant: normal; font-weight: 400; lette=
r-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;=
 margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; paddi=
ng-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; t=
ext-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; whit=
e-space: normal; word-spacing: 0px;">All the things you mentioned fit the c=
riteria ok, well or very well - Many people use them, there are no grotesqu=
e alternative views of they are, quite low dynamic (new &quot;inventions&qu=
ot; of these come rarely)</div><div style=3D"background-color: transparent;=
 border-bottom-color: rgb(34, 34, 34); border-bottom-style: none; border-bo=
ttom-width: 0px; border-image-outset: 0; border-image-repeat: stretch; bord=
er-image-slice: 100%; border-image-source: none; border-image-width: 1; bor=
der-left-color: rgb(34, 34, 34); border-left-style: none; border-left-width=
: 0px; border-right-color: rgb(34, 34, 34); border-right-style: none; borde=
r-right-width: 0px; border-top-color: rgb(34, 34, 34); border-top-style: no=
ne; border-top-width: 0px; color: rgb(34, 34, 34); font-family: &amp;quot;A=
rial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; f=
ont-style: normal; font-variant: normal; font-weight: 400; letter-spacing: =
normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top=
: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-right: 0=
px; padding-top: 0px; text-align: left; text-decoration: none; text-indent:=
 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-space: no=
rmal; word-spacing: 0px;">=C2=A0</div><div style=3D"background-color: trans=
parent; border-bottom-color: rgb(34, 34, 34); border-bottom-style: none; bo=
rder-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretc=
h; border-image-slice: 100%; border-image-source: none; border-image-width:=
 1; border-left-color: rgb(34, 34, 34); border-left-style: none; border-lef=
t-width: 0px; border-right-color: rgb(34, 34, 34); border-right-style: none=
; border-right-width: 0px; border-top-color: rgb(34, 34, 34); border-top-st=
yle: none; border-top-width: 0px; color: rgb(34, 34, 34); font-family: &amp=
;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: =
13px; font-style: normal; font-variant: normal; font-weight: 400; letter-sp=
acing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; mar=
gin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-r=
ight: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-=
indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-sp=
ace: normal; word-spacing: 0px;">At higher level libraries things start to =
lose on these properties.=C2=A0</div><div style=3D"background-color: transp=
arent; border-bottom-color: rgb(34, 34, 34); border-bottom-style: none; bor=
der-bottom-width: 0px; border-image-outset: 0; border-image-repeat: stretch=
; border-image-slice: 100%; border-image-source: none; border-image-width: =
1; border-left-color: rgb(34, 34, 34); border-left-style: none; border-left=
-width: 0px; border-right-color: rgb(34, 34, 34); border-right-style: none;=
 border-right-width: 0px; border-top-color: rgb(34, 34, 34); border-top-sty=
le: none; border-top-width: 0px; color: rgb(34, 34, 34); font-family: &amp;=
quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-size: 1=
3px; font-style: normal; font-variant: normal; font-weight: 400; letter-spa=
cing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; marg=
in-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; padding-ri=
ght: 0px; padding-top: 0px; text-align: left; text-decoration: none; text-i=
ndent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; white-spa=
ce: normal; word-spacing: 0px;"><br></div><div style=3D"background-color: t=
ransparent; border-bottom-color: rgb(34, 34, 34); border-bottom-style: none=
; border-bottom-width: 0px; border-image-outset: 0; border-image-repeat: st=
retch; border-image-slice: 100%; border-image-source: none; border-image-wi=
dth: 1; border-left-color: rgb(34, 34, 34); border-left-style: none; border=
-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right-style: =
none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); border-to=
p-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-family: =
&amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-si=
ze: 13px; font-style: normal; font-variant: normal; font-weight: 400; lette=
r-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;=
 margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; paddi=
ng-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; t=
ext-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; whit=
e-space: normal; word-spacing: 0px;">FS is good example.=C2=A0</div><div st=
yle=3D"background-color: transparent; border-bottom-color: rgb(34, 34, 34);=
 border-bottom-style: none; border-bottom-width: 0px; border-image-outset: =
0; border-image-repeat: stretch; border-image-slice: 100%; border-image-sou=
rce: none; border-image-width: 1; border-left-color: rgb(34, 34, 34); borde=
r-left-style: none; border-left-width: 0px; border-right-color: rgb(34, 34,=
 34); border-right-style: none; border-right-width: 0px; border-top-color: =
rgb(34, 34, 34); border-top-style: none; border-top-width: 0px; color: rgb(=
34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp=
;quot;,sans-serif; font-size: 13px; font-style: normal; font-variant: norma=
l; font-weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-lef=
t: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px=
; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left=
; text-decoration: none; text-indent: 0px; text-transform: none; -webkit-te=
xt-stroke-width: 0px; white-space: normal; word-spacing: 0px;">It is saved =
by the fact the use is high (anyone will want to save a file or list folder=
s contents), but the diversity is also moderate-high (many different attack=
 vectors), <span style=3D"background-color: transparent; border-bottom-colo=
r: rgb(34, 34, 34); border-bottom-style: none; border-bottom-width: 0px; bo=
rder-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100=
%; border-image-source: none; border-image-width: 1; border-left-color: rgb=
(34, 34, 34); border-left-style: none; border-left-width: 0px; border-right=
-color: rgb(34, 34, 34); border-right-style: none; border-right-width: 0px;=
 border-top-color: rgb(34, 34, 34); border-top-style: none; border-top-widt=
h: 0px; color: rgb(34, 34, 34); display: inline; float: none; font-family: =
&amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif; font-si=
ze: 13px; font-style: normal; font-variant: normal; font-weight: 400; lette=
r-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;=
 margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0px; paddi=
ng-right: 0px; padding-top: 0px; text-align: left; text-decoration: none; t=
ext-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0px; whit=
e-space: normal; word-spacing: 0px;">dynamic </span>is moderate-to-high as =
well (for instance mac switched to urls around the time the FS got adopted)=
</div><div style=3D"background-color: transparent; border-bottom-color: rgb=
(34, 34, 34); border-bottom-style: none; border-bottom-width: 0px; border-i=
mage-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; bor=
der-image-source: none; border-image-width: 1; border-left-color: rgb(34, 3=
4, 34); border-left-style: none; border-left-width: 0px; border-right-color=
: rgb(34, 34, 34); border-right-style: none; border-right-width: 0px; borde=
r-top-color: rgb(34, 34, 34); border-top-style: none; border-top-width: 0px=
; color: rgb(34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;=
Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font-v=
ariant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: 0p=
x; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; paddin=
g-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; tex=
t-align: left; text-decoration: none; text-indent: 0px; text-transform: non=
e; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px;"=
><br style=3D"background-attachment: scroll; background-clip: border-box; b=
ackground-color: transparent; background-image: none; background-origin: pa=
dding-box; background-position-x: 0%; background-position-y: 0%; background=
-repeat: repeat; background-size: auto; border-bottom-color: rgb(34, 34, 34=
); border-bottom-style: none; border-bottom-width: 0px; border-image-outset=
: 0; border-image-repeat: stretch; border-image-slice: 100%; border-image-s=
ource: none; border-image-width: 1; border-left-color: rgb(34, 34, 34); bor=
der-left-style: none; border-left-width: 0px; border-right-color: rgb(34, 3=
4, 34); border-right-style: none; border-right-width: 0px; border-top-color=
: rgb(34, 34, 34); border-top-style: none; border-top-width: 0px; color: rg=
b(34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&a=
mp;quot;,sans-serif; font-size: 13px; height: auto; margin-bottom: 0px; mar=
gin-left: 0px; margin-right: 0px; margin-top: 0px; min-width: 0px; overflow=
: visible; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; p=
adding-left: 0px; padding-right: 0px; padding-top: 0px;"></div><div style=
=3D"background-color: transparent; border-bottom-color: rgb(34, 34, 34); bo=
rder-bottom-style: none; border-bottom-width: 0px; border-image-outset: 0; =
border-image-repeat: stretch; border-image-slice: 100%; border-image-source=
: none; border-image-width: 1; border-left-color: rgb(34, 34, 34); border-l=
eft-style: none; border-left-width: 0px; border-right-color: rgb(34, 34, 34=
); border-right-style: none; border-right-width: 0px; border-top-color: rgb=
(34, 34, 34); border-top-style: none; border-top-width: 0px; color: rgb(34,=
 34, 34); font-family: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;qu=
ot;,sans-serif; font-size: 13px; font-style: normal; font-variant: normal; =
font-weight: 400; letter-spacing: normal; margin-bottom: 0px; margin-left: =
0px; margin-right: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; p=
adding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; t=
ext-decoration: none; text-indent: 0px; text-transform: none; -webkit-text-=
stroke-width: 0px; white-space: normal; word-spacing: 0px;">As a result FS =
falls back to a decades old API and if you use the native APIs you will hav=
e order of magnate better, as in modern/professional/feature rich, file IO.=
 This is true for all major platforms.=C2=A0</div><div style=3D"background-=
color: transparent; border-bottom-color: rgb(34, 34, 34); border-bottom-sty=
le: none; border-bottom-width: 0px; border-image-outset: 0; border-image-re=
peat: stretch; border-image-slice: 100%; border-image-source: none; border-=
image-width: 1; border-left-color: rgb(34, 34, 34); border-left-style: none=
; border-left-width: 0px; border-right-color: rgb(34, 34, 34); border-right=
-style: none; border-right-width: 0px; border-top-color: rgb(34, 34, 34); b=
order-top-style: none; border-top-width: 0px; color: rgb(34, 34, 34); font-=
family: &amp;quot;Arial&amp;quot;,&amp;quot;Helvetica&amp;quot;,sans-serif;=
 font-size: 13px; font-style: normal; font-variant: normal; font-weight: 40=
0; letter-spacing: normal; margin-bottom: 0px; margin-left: 0px; margin-rig=
ht: 0px; margin-top: 0px; orphans: 2; padding-bottom: 0px; padding-left: 0p=
x; padding-right: 0px; padding-top: 0px; text-align: left; text-decoration:=
 none; text-indent: 0px; text-transform: none; -webkit-text-stroke-width: 0=
px; white-space: normal; word-spacing: 0px;">Still, as said FS is fine, bec=
ause of the high potential use and the fact not anyone needs <span style=3D=
"display: inline !important; float: none; background-color: transparent; co=
lor: 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-spacing: normal; orphans: 2; text-align: left; text-de=
coration: none; text-indent: 0px; text-transform: none; -webkit-text-stroke=
-width: 0px; white-space: normal; word-spacing: 0px;">feature rich </span>I=
O.</div><div style=3D"background-color: transparent; border-bottom-color: r=
gb(34, 34, 34); border-bottom-style: none; border-bottom-width: 0px; border=
-image-outset: 0; border-image-repeat: stretch; border-image-slice: 100%; b=
order-image-source: none; border-image-width: 1; border-left-color: rgb(34,=
 34, 34); border-left-style: none; border-left-width: 0px; border-right-col=
or: rgb(34, 34, 34); border-right-style: none; border-right-width: 0px; bor=
der-top-color: rgb(34, 34, 34); border-top-style: none; border-top-width: 0=
px; color: rgb(34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&amp;quo=
t;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal; font=
-variant: normal; font-weight: 400; letter-spacing: normal; margin-bottom: =
0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; padd=
ing-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; t=
ext-align: left; text-decoration: none; text-indent: 0px; text-transform: n=
one; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing: 0px=
;"><br></div><div style=3D"background-color: transparent; border-bottom-col=
or: rgb(34, 34, 34); border-bottom-style: none; border-bottom-width: 0px; b=
order-image-outset: 0; border-image-repeat: stretch; border-image-slice: 10=
0%; border-image-source: none; border-image-width: 1; border-left-color: rg=
b(34, 34, 34); border-left-style: none; border-left-width: 0px; border-righ=
t-color: rgb(34, 34, 34); border-right-style: none; border-right-width: 0px=
; border-top-color: rgb(34, 34, 34); border-top-style: none; border-top-wid=
th: 0px; color: rgb(34, 34, 34); font-family: &amp;quot;Arial&amp;quot;,&am=
p;quot;Helvetica&amp;quot;,sans-serif; font-size: 13px; font-style: normal;=
 font-variant: normal; font-weight: 400; letter-spacing: normal; margin-bot=
tom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2;=
 padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0=
px; text-align: left; text-decoration: none; text-indent: 0px; text-transfo=
rm: none; -webkit-text-stroke-width: 0px; white-space: normal; word-spacing=
: 0px;">Things much, much worse for Graphics in any of three criteria and t=
his time around, in contrast to FS, falling back to &quot;some basic princi=
pals&quot; risks making it useless outside prototyping and teaching.<br></d=
iv>=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"ltr=
"><div></div><div><br></div><blockquote class=3D"gmail_quote" style=3D"marg=
in:0;margin-left:0.8ex;border-left:1px #ccc solid;padding-left:1ex"><div di=
r=3D"ltr"><div class=3D"gmail_quote"><div>Functionality not required by the=
 core language should be standardized<br>separately, if people are moved to=
 do it. <br></div></div></div></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/31d6c89e-cbc9-4b25-b9e2-c2f2a98bef0f%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/31d6c89e-cbc9-4b25-b9e2-c2f2a98bef0f=
%40isocpp.org</a>.<br />

------=_Part_13066_1887728245.1527887783666--

------=_Part_13065_608498145.1527887783665--

.
