Hacker News new | ask | show | jobs
by maxxxxx 3648 days ago
The problem isn't C#/.NET but what GUI toolkit do you use? Winforms, WPF, UWP and others are either in maintenance mode or incomplete. The only complete toolkit is Win32 which brings you back to C/C++.
2 comments

All new APIs since Windows 8 are now COM based, yeah it is still Win32, but I guess it is just following their original idea for .NET (COM+ Runtime and not the CLR).

In some future version of Windows, when UWP with its COM foundation becomes prevalent, they can ripoff all the Win32 APIs that aren't required to support WinRT.

Just like Apple has done with Carbon, Quicktime and many others.

We will see how UWP works out. I wouldn't be too surprised if they changed their strategy in the next few years to come out with something different. That seems to be the Microsoft tradition. As soon as something starts working it gets replaced by something else.

The only constants are COM and Win32.

Sure, however I am with high hopes with WinRT, as it is what .NET should have originally been designed instead of the CLR detour.

If you look at what Delphi, Modula-3, Ada, Component Pascal, Oberon variants, Eiffel were already offering before Java took off.

> As soon as something starts working it gets replaced by something else.

Just like everyone else. I can hardly think of any platform owner that has kept their APIs stable.

Not that you are not right to complain, I just get the impression many tend to forget about the other vendors similar practices.

I find this coming back from CLR to COM sad because the CLR support another very good language (F#) which isn't in WinRT and also because the CLR is going really multiplatform with .net core. Also too bad Microsoft didn't pursed a multiplatform framework like Silverlight and go with a solution that didn't even run on its own OSes (previous version of Windows).
Isn't Win32 basically in the same maintenance mode as WinForms? WinForms is mostly just a thin wrapper around Win32 anyway.
Pretty much everything new first gets exposed through Win32 or some COM interface like DirectX.