I stopped reading at "The Windows Runtime is based on Component Object Model (COM) APIs..." Is that a bad choice on my part? I see COM and think of OLE, CORBA and I remember that I'm old and going to die pretty soon (within the next 40-50 years almost assuredly). https://en.wikipedia.org/wiki/Component_Object_Model
COM is a fantastic invention and implementation. Granted, it was pretty painful in C and somewhat in C++, but all the other languages (VB and C# mostly, but plenty of others) really unlock the power of COM. Nothing like that remotely exists on Linux or macOS.
Rust/WinRT Public Preview
41–50 of 219 posts
Re: Rust/WinRT Public Preview
#42Earlier quoted context omitted.
WinUI 3 is planned to have support for "Win32 app model" apps. I'm not sure if this is strictly "CoreWindow" or another class with different features, but you'll be able to write "native" UWP-Style apps in C++ and deploy them as an unrestricted .exe. They're going to show a demo at Build 2020, I heard.
My understanding is the WinUI 3 Win32 model is still going to be basically doing what you can already do with XAML Islands, just packaged more nicely with wrapper classes and Visual Studio templates and so on, so by itself it doesn't change the underlying HWND vs. CoreWindow situation (just wraps it). There are already Win32 apps, like Windows Terminal, that implement a "UWP" UI by doing their entire UI in one big XA…
Re: Rust/WinRT Public Preview
#43You have to hand it to Microsoft: It may be the only large software company that doesn't seem susceptible to not-invented-here syndrome. It's true that Microsoft historically has been an intensely competitive company, often trying to undermine competing technologies, e.g., with "embrace and extend" strategies. But whenever a competing technology -- whether a language, or a framework, or an application -- gains adopti…
It's in their blood - its the 'Embrace' in EEE.
Re: Rust/WinRT Public Preview
#44Earlier quoted context omitted.
It's in their blood - its the 'Embrace' in EEE.
You know that’s from 3 decades and 2 CEOs ago, right? They’re a large company so there’s sure to be plenty to dislike but I don’t think it’s contributing much without some analysis of their actions in this century.
https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_...
He was CEO of Microsoft until 2014, that is, 6 years ago.
Microsoft changed strategies because they tried everything they possible could to counter open source and Linux and lost. Now they are forced to play nice.
Being forced to be nice is not the same as being nice out of altruism.
If at any moment becoming jerks gives them more shareholder value they will become jerks again.
Re: Rust/WinRT Public Preview
#45You have to hand it to Microsoft: It may be the only large software company that doesn't seem susceptible to not-invented-here syndrome. It's true that Microsoft historically has been an intensely competitive company, often trying to undermine competing technologies, e.g., with "embrace and extend" strategies. But whenever a competing technology -- whether a language, or a framework, or an application -- gains adopti…
Microsoft R Open is embrace/extend: - Incompatible with R. - Added their own packages version of every package. - Added their own package repository (MRAN), replacing CRAN. It's open source, and supports Linux, but if they found ways to optimize R perhaps it would be a better idea to just contribute that to the upstream project. Downvote all you want, but if you are rational, reply here and explain how I am wrong. No…
AFAIUI, it's mostly just R with better parallelisation of matrix libraries (which is cool).
It's not quite compatible, but I've used both through Conda a bunch, and haven't hit any edge cases that caused a problem.
So yeah, you're right that it's embrace/extend, but the extend was done by a startup which they bought.
Re: Rust/WinRT Public Preview
#46Earlier quoted context omitted.
Microsoft R Open is embrace/extend: - Incompatible with R. - Added their own packages version of every package. - Added their own package repository (MRAN), replacing CRAN. It's open source, and supports Linux, but if they found ways to optimize R perhaps it would be a better idea to just contribute that to the upstream project. Downvote all you want, but if you are rational, reply here and explain how I am wrong. No…
Microsoft R is kinda annoying, OTOH it only happened because Microsoft bought Revolution Analytics, who developed this tool. AFAIUI, it's mostly just R with better parallelisation of matrix libraries (which is cool). It's not quite compatible, but I've used both through Conda a bunch, and haven't hit any edge cases that caused a problem. So yeah, you're right that it's embrace/extend, but the extend was done by a sta…
Re: Rust/WinRT Public Preview
#47Earlier quoted context omitted.
WinRT, as in the API/ABI shape, at this point really isn't tied to any aspect of the UWP app model (other than that existing UWP-related APIs tend to be newer and more likely to use it). Third-party WinRT component activation used to depend on app packaging but that dependency was removed last year: https://blogs.windows.com/windowsdeveloper/2019/04/30/enhanc... In general what used to be various facets of the "monol…
Thanks this is informative. I think my confusion comes from that many things are introduced as walled-off vertical concepts but later backported at least partially. Also there is no lack of terminology confusion when things can be an API, an app-model or both. I’m a full time windows desktop dev since 15 years now. And I still find these UI and app model frameworks extremely confusing (which is why I haven’t gone nea…
Re: Rust/WinRT Public Preview
#48https://github.com/robmikh/minesweeper-rs - I just love how they brilliantly avoided mixing up C++/COM things into this. Tough one to pull when you're dealing with bindings for a foreign language. The code looks fairly standard Rust (except maybe for the winrt::import that looks like Go?). > If you are familiar with Rust, you will notice this looks far more like Rust than it looks like C++ or C#. Notice the snake_cas…
I remember VB6 was also exceptionally good at this.
Re: Rust/WinRT Public Preview
#49You have to hand it to Microsoft: It may be the only large software company that doesn't seem susceptible to not-invented-here syndrome. It's true that Microsoft historically has been an intensely competitive company, often trying to undermine competing technologies, e.g., with "embrace and extend" strategies. But whenever a competing technology -- whether a language, or a framework, or an application -- gains adopti…
Microsoft R Open is embrace/extend: - Incompatible with R. - Added their own packages version of every package. - Added their own package repository (MRAN), replacing CRAN. It's open source, and supports Linux, but if they found ways to optimize R perhaps it would be a better idea to just contribute that to the upstream project. Downvote all you want, but if you are rational, reply here and explain how I am wrong. No…
> Added their own package repository (MRAN), replacing CRAN.
How is any of this different than the many incompatible Linux packaging solutions?
How would you address insecurity and trust relations if you weren't a first-class contributor of CRAN? (consider the recent Python package exploit; although amateur, it's still an indication of such issues; I'm sure I remember this was an issue with the Perl packages as well; wasn't there an exploit pushed to the Linux kernel tree at some point years ago?)
The narrative changes from "MS is EEE'ing CRAN" to "MS allowed a package with exploits to be deployed from CRAN".
I am not familiar with any of the issues within the R ecospace, but I am very familiar with corporate culture, security, and liability awareness.
Re: Rust/WinRT Public Preview
#50Wish they'd open the source and let the Rust community do this kind of stuff instead. No need to waste Windows development time on niche stuff.