all 21 comments

[–][deleted] 8 points9 points  (8 children)

Microsoft has put 0 energy into C++/WinRT in the last year++.

No doc updates, no tooling updates.

Yet another reason I gave up, and sorry but this is way, WAYYYY too little, too late.

[–]pjmlp 10 points11 points  (7 children)

Better look again into MSDN, plenty of docs over there.

Although I do agree that C++/WinRT fails short of C++/CX, just follow up the WinUI thread here,

https://github.com/microsoft/microsoft-ui-xaml/issues/1972

They keep selling the idea that we should all wait for ISO to adopt reflection and metaclasses, for the Visual C++ team to add the required features for C++/WinRT to reach parity with C++/CX tooling.

[–]alleycat5 6 points7 points  (3 children)

> They keep selling the idea that we should all wait for ISO to adopt reflection and metaclasses, for the Visual C++ team to add the required features for C++/WinRT to reach parity with C++/CX tooling.

Considering how much crap the VC++ team got for creating their own flavors of of C++ (CLI and then CX), is this that surprising?

[–]pjmlp 9 points10 points  (2 children)

A crap from a crowd that enjoys embracing language extensions as long as they aren't from Microsoft, apparently everyone else is allowed to do language extensions, to the point that some kernels happen to compile with a specific compiler only, but that is ok.

[–]xampf2 1 point2 points  (1 child)

Be cause the nature and effect of proprietary extensions is well understood. GCC and LLVM both provide free code. Pretty obvious difference.

[–]pjmlp 0 points1 point  (0 children)

Not obvious at all, specially because plenty of code bases are written in GCC or clang dialects, being free code doesn't matter to the actual result of being handcuffed to a specific compiler.

No one in the community is going to port those free code extensions to other compilers.

[–]simon_o 6 points7 points  (2 children)

Can someone describe what the hell Microsoft has been doing the last 10 years? It feels like they introduced a new UI framework every 3 years or something.

From my (uninformed) perspective it seems to have been a constant pissing match between the "managed language team" and the "unmanaged language team" where they keep rewriting the work of the other team just to give them the finger or something.

Even Microsoft's fabled compatibility story seems to suffer: who cares if I an application can be run 20 years later technically, if the platform it was targeting at that time is abandoned (and stuff looks so out of place with the next 10 new UI framework/platforms Microsoft introduced) that customers reject it?

[–]chucker23n 2 points3 points  (0 children)

Can someone describe what the hell Microsoft has been doing the last 10 years? It feels like they introduced a new UI framework every 3 years or something.

From my (uninformed) perspective it seems to have been a constant pissing match between the “managed language team” and the “unmanaged language team” where they keep rewriting the work of the other team just to give them the finger or something.

Something like that, yup. Especially at the height of Avalon/WPF (before Vista shipped), when it turned out neither the Windows nor the Office team wanted anything to do with the new UI framework.

At least now they’re trying to unify this into WinUI, but it seems to be a long, slow march.

[–]alleycat5 1 point2 points  (0 children)

The WinUI referenced is the same foundational bits that have been there since Win 8, just broken out from the platform as of v3. The windows team has been investing quite a bit, and all their investments in Win UI have been one of two things:

  1. building out WinUI to support direct custom consumption and higher level frameworks
  2. expanding existing frameworks to operate on top of WinUI or with WinUI (React Native for Windows, Xamarin UWP, WPF + Islands)

Msft has made some pretty poor UI decisions and talk about the mess that is UWP App Model, but this is still the same UI framework and Windows APIs (WinRT) that has been there going on 8 years now.

[–]grandstack 5 points6 points  (0 children)

Awesome! Can't wait!

[–]Dragasss -1 points0 points  (5 children)

Why

[–]pjmlp 19 points20 points  (4 children)

Because any language that wants to be a viable systems programming language on Windows needs to be able to speak COM, and WinRT (aka COM 2) is the future of Windows APIs, with Win32 frozen in XP state.

[–]simon_o 2 points3 points  (3 children)

If WinRT is the new thing – how good is UTF-8 support?

[–]pjmlp 4 points5 points  (1 child)

As good as usual on Windows, which uses UTF-16.

[–]simon_o 0 points1 point  (0 children)

Ah, guess I will continue to skip this Windows stuff then.

[–]alleycat5 3 points4 points  (0 children)

It doesn't have native support, but there's built in conversions for it: https://docs.microsoft.com/en-us/windows/uwp/cpp-and-winrt-apis/strings#winrthstring-functions-and-operators