220 32724 <d574cde2-6023-4dea-9cc2-5004f4b50493@isocpp.org> article
Path: news.gmane.org!.POSTED!not-for-mail
From: Nicol Bolas <jmckesson@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Why do we include a Matrix and Vector class into
 the proposed 2D Graphics Library?
Date: Sat, 10 Jun 2017 18:06:46 -0700 (PDT)
Lines: 101
Approved: news@gmane.org
Message-ID: <d574cde2-6023-4dea-9cc2-5004f4b50493@isocpp.org>
References: <7e3ee19d-f758-4d38-a015-0c474424073d@isocpp.org>
 <20170609115017.5132345.91153.30981@gmail.com>
 <b53ee06e-9284-4e82-ab16-6f732ee8e18f@isocpp.org>
 <d7d0213d-9706-49ac-b322-6013fabefd3a@isocpp.org>
 <d71c480f-bcd2-4051-9f92-523e3e6fc563@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: blaine.gmane.org
Mime-Version: 1.0
Content-Type: multipart/mixed; 
	boundary="----=_Part_2102_1286784886.1497143206988"
X-Trace: blaine.gmane.org 1497143209 23498 195.159.176.226 (11 Jun 2017 01:06:49 GMT)
X-Complaints-To: usenet@blaine.gmane.org
NNTP-Posting-Date: Sun, 11 Jun 2017 01:06:49 +0000 (UTC)
To: ISO C++ Standard - Future Proposals <std-proposals@isocpp.org>
Original-X-From: std-proposals+bncBCEKFTV6ZUMBBJ5P6LEQKGQEORY4PUI@isocpp.org Sun Jun 11 03:06:45 2017
Return-path: <std-proposals+bncBCEKFTV6ZUMBBJ5P6LEQKGQEORY4PUI@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-pg0-f70.google.com ([74.125.83.70])
	by blaine.gmane.org with esmtp (Exim 4.84_2)
	(envelope-from <std-proposals+bncBCEKFTV6ZUMBBJ5P6LEQKGQEORY4PUI@isocpp.org>)
	id 1dJrL1-0005pp-Ms
	for gclcip-std-proposals@m.gmane.org; Sun, 11 Jun 2017 03:06:43 +0200
Original-Received: by mail-pg0-f70.google.com with SMTP id t30sf40219906pgo.0
        for <gclcip-std-proposals@m.gmane.org>; Sat, 10 Jun 2017 18:06:49 -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
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=ZKXocDKvyWGr/U+dk4GnjyCYUDiihOIebZ7BNTlUbVE=;
        b=rbZ8Z0mxFCAOZkG0yOqTXnP1AJJTXhSAU/S2hqGUca1si5bczg1WNTAetTv6iJCfgC
         nMoVILInoOkO+yqCFf1H4RS1U68cxwr0DrJxuZelXjIg6WCzQy2jmA06ovmtaRdywOPJ
         hAdWUNCa/THyEE282hbhXaVw2aKR2VtCwn1nvNWCE8XapD/OWTwneyTtgt4y1JygrNtD
         fyKRFdtzxz3QxH6SroLDwvRiy55QLsxD5wqbIX5wT+yQJiFBbmCLxHhvFvDOFlYxk7eA
         WNpGipSqMX15g5iRDH+2bdVTdjBINTWLkzB1SJnkrtm5aAXnnic28se5Fs4r83n8NWde
         BF8w==
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
         :x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=ZKXocDKvyWGr/U+dk4GnjyCYUDiihOIebZ7BNTlUbVE=;
        b=ipFdb6WsKtRGc3GVh8WLcCvh6uPRkyt7gX92zDeBu9EBIn7ClclIimkLHdclDy6Ckh
         su1GX6R0xGgG01RRlH8FsM4A2NNcSYWEMPNkJhCXfPzBl84H8ZmbwbDIJOj96u3HQBSn
         8FX03sXEm/MhsTfWaNKG8onfoDMjqvu/YKzYi8odEiymaHTX5YEt4Tzba61SzOdDfzKi
         UNbZwKYT3bvAkICFhzyqm0nk8w0GoE0XKYFeE4ZgTnr9Ik8qzIxbuc5PItfYyoLMeX3f
         Ku3GJxnBcObqAmry8F9dOnnvWZL+CFz7fEyQQmggWMzCplgKFZa077iG6yD0+IEm2+Sw
         Uxjw==
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=ZKXocDKvyWGr/U+dk4GnjyCYUDiihOIebZ7BNTlUbVE=;
        b=d5dEVqOTjdGK8xOfq77TIzFF03hNE8BR0M+ixITciONPZQd7F+x9QbPVQzrJ9PzCBZ
         WGD9snjLGZgebqtzZfnRBza3S9GbVAV0Nf6zxqg7Wx9RXUNY2Uplbq3iN/twhZkVkcyf
         4NtAD1E7O0dVOCqJZOpDqHfeIS85o9nt2Ud4NfrNtQTIi0pQXLWBhdHqNEhi0M4PUzWj
         rpKdM9/IHyVQX/W1N31RzEu7853g0zFY0/HZzTQHOzuuFT6rANU6tsbXHb05B3tDm6c3
         eRTQH72BI11hUFFQaOTNOy+LVtaVyAB6JAqAs0v9OTRSqJlFwX/+fryvEmuBcn3hrSK7
         w3Dg==
X-Gm-Message-State: AODbwcBW4qKe5eG/tA3W6ko6wVbg99bcLelBpwHVc0reJiRP12QBtyQb
	MlW+J+e9bn3kI6W6
X-Received: by 10.98.245.27 with SMTP id n27mr6391504pfh.6.1497143208553;
        Sat, 10 Jun 2017 18:06:48 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.157.16.125 with SMTP id o58ls12928341oto.42.gmail; Sat, 10 Jun
 2017 18:06:47 -0700 (PDT)
X-Received: by 10.157.21.65 with SMTP id z1mr1152231otz.8.1497143207631;
        Sat, 10 Jun 2017 18:06:47 -0700 (PDT)
In-Reply-To: <d71c480f-bcd2-4051-9f92-523e3e6fc563@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-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:32724
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/32724>

------=_Part_2102_1286784886.1497143206988
Content-Type: multipart/alternative; 
	boundary="----=_Part_2103_1652608300.1497143206988"

------=_Part_2103_1652608300.1497143206988
Content-Type: text/plain; charset="UTF-8"

On Saturday, June 10, 2017 at 2:42:21 PM UTC-4, Bengt Gustafsson wrote:
>
> Here I think you are totally wrong. A lack of common vocabulary types is 
> in my view a major deterrant from using C++. By providing vocabulary types 
> like a (mathematical) vector and matrix we offer the possibility
> for third party library vendors to create libraries that can be used 
> together seamlessly. If C++ had come with a more complete set of vocabulary 
> types long ago we wouldn't have had CString, QString and wxString
>

C++98 had std::string. That stopped precisely *nobody* from making those 
other string types. C++ users have proven that having a "vocabulary type" 
will stop nobody from making their own. No matter how good that type is, 
"not invented here" syndrome is strong among us.

That's not to say that we shouldn't have good types. It's just that we 
shouldn't expect that having good types will prevent people from writing 
their own.

nor would we have QPoint, wxPoint, eigen::vector2i, osg::vec2d all with the 
> same contents but incompatible. This would have been very helpful to us who 
> use lots of third part libraries to perform complex tasks.
>
> So on this point I say: Better late than never.
>

Mandatory XKCD <https://xkcd.com/927/>. Being late never helps.

Giving standard C++ a good 2D vector type will not cause all of those types 
to vanish, nor will it cause users of those types to adopt them. Giving C++ 
a good Unicode string type will not stop people from rolling their own.

Yes, that doesn't mean we shouldn't have them. But we need to have 
realistic expectations of the *results* of such things.

-- 
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/d574cde2-6023-4dea-9cc2-5004f4b50493%40isocpp.org.

------=_Part_2103_1652608300.1497143206988
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">On Saturday, June 10, 2017 at 2:42:21 PM UTC-4, Bengt Gust=
afsson wrote:<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">=
Here I think you are totally wrong. A lack of common vocabulary types is in=
 my view a major deterrant from using C++. By providing vocabulary types li=
ke a (mathematical) vector and matrix we offer the possibility<div>for thir=
d party library vendors to create libraries that can be used together seaml=
essly. If C++ had come with a more complete set of vocabulary types long ag=
o we wouldn&#39;t have had CString, QString and wxString</div></div></block=
quote><div><br>C++98 had std::string. That stopped precisely <i>nobody</i> =
from making those other string types. C++ users have proven that having a &=
quot;vocabulary type&quot; will stop nobody from making their own. No matte=
r how good that type is, &quot;not invented here&quot; syndrome is strong a=
mong us.<br><br>That&#39;s not to say that we shouldn&#39;t have good types=
.. It&#39;s just that we shouldn&#39;t expect that having good types will pr=
event people from writing their own.<br><br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;=
padding-left: 1ex;"><div dir=3D"ltr"><div>nor would we have QPoint, wxPoint=
, eigen::vector2i, osg::vec2d all with the same contents but incompatible. =
This would have been very helpful to us who use lots of third part librarie=
s to perform complex tasks.</div><div><br></div><div>So on this point I say=
: Better late than never.</div></div></blockquote><div><br>Mandatory <a hre=
f=3D"https://xkcd.com/927/">XKCD</a>. Being late never helps.<br><br>Giving=
 standard C++ a good 2D vector type will not cause all of those types to va=
nish, nor will it cause users of those types to adopt them. Giving C++ a go=
od Unicode string type will not stop people from rolling their own.<br><br>=
Yes, that doesn&#39;t mean we shouldn&#39;t have them. But we need to have =
realistic expectations of the <i>results</i> of such things.</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/d574cde2-6023-4dea-9cc2-5004f4b50493%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/d574cde2-6023-4dea-9cc2-5004f4b50493=
%40isocpp.org</a>.<br />

------=_Part_2103_1652608300.1497143206988--

------=_Part_2102_1286784886.1497143206988--

.
