Talk by Herb Sutter: Bridge to NewThingia

Paulo Pinto pjmlp at progtools.org
Mon Jun 29 12:35:21 UTC 2020


On Monday, 29 June 2020 at 10:31:43 UTC, IGotD- wrote:
> On Saturday, 27 June 2020 at 15:48:33 UTC, Andrei Alexandrescu 
> wrote:
>> How to answer "why will yours succeed, when X, Y, and Z have 
>> failed?"
>>
>> https://www.youtube.com/watch?v=wIHfaH9Kffs
>>
>> Very insightful talk.
>
> Back to C++20 and beyond which Herb Sutter refers to a lot. Is 
> C++20 a success, or even C++17? Does anyone know this? Modern 
> C++ isn't a programming standard so what I've seen is just a 
> mix of everything.
>
> I have lost track of all new C++ features and now he even 
> refers it as "NewLang" what that is. Is that Bjarnes famous 
> quote "Within C++, there is a much smaller and clearer language 
> struggling to get out."? I believe it when I see it.
>
> One thing that isn't mention that is very important for a 
> language to succeed is libraries. C++ has a lack of standard 
> libraries which forces the programmer to look for third party 
> alternatives, which are of varying standard. This leads to that 
> the there is no particular programming API standard it must 
> gravitate to the lowest common denominator. This in contrast to 
> Phobos which is more complete.
>
> Does C++ need more language features or does C++ need better 
> standard libraries? I would say the latter. If it weren't for 
> Qt, C++ would just be a skeleton language. Qt is a great 
> library and was that even before C++11 which proves that the 
> new language features weren't that important.
>
> What do you think, did "modern C++" really succeed?

Yes it did, thanks to its rejuvenation and CUDA, C++ has become 
the main language in HPC and ML, NVidia now designs their GPUs 
having C++ semantics in mind, although CUDA is designed as 
language agnostic GPGPU environment.

Metal Shaders and HLSL are largely based on C++14, and due to the 
game developers pressure, Google and Samsung have taken the 
effort to make HLSL available on Vulkan as well, porting 
Microsoft's open sourced HLSL compiler to SPIR-V..

On Windows, the Windows team is quite keen pushing C++/WinRT 
(based on C++17) to eventually provide a .NET like experience 
while using C++/WinUI, although the Visual Studio tooling is 
still lacking.

Unreal is already supporting C++17 and GCC is discussing moving 
to C++17 as default dialect.

Apple, Google, Microsoft, Nintendo, Sony, NVidia, AMD, ARM, still 
have lots of plans for it, even if they also own other language 
stacks on their SDKs.

So, even those of us that rather spend our productive time in 
other stacks, occasionally dealing with C++ is unavoidable, and 
it continue being so for the decades to come.

Which is why good C++ compatibility is a very valuable sales 
pitch of any language.

For D, on Windows that would mean to improve COM support to deal 
with UWP as well, as it is COM vNext. Project Reunion plans 
support for C++, C#, Python and JavaScript.


More information about the Digitalmars-d-announce mailing list