Hacker News new | past | comments | ask | show | jobs | submit login

Apparently Microsoft isn't allowed to evolve Windows with objectively better API's.

Have fun with your GetLastError, fifteen parameter functions, and poorly documented flags. But hey, at least it doesn't have much security, so I can download game mods from some unknown source that have full access to everything on my PC.




That's the exact problem. They are not objectively better. If they would be, they would not grant Microsoft more control and no one would complain.


UWP advantages:

  Way better security model

  Unified error handling

  Clean install/uninstall (no rot)

  Much faster and more capable version of XAML running on top of DirectComposition with easy DirectX interop

  Native support for web apps

  Resolution independence with no extra work

  Easier to support accessibility tools like screen readers

  Saner API design (no flags where only some combinations are valid)

  .Net Native

  Much better touch support

  Cross-platform (xbox, holo lens, IoT, phone...)

  Access to devices like camera, mic, sensors with high-level APIs (even accessible through C#/JS)

  No P/Invoke required for C#
etc.


You completely missed the point of my comment. "Objectively better" means that it's better in all accounts, as otherwise someone with different priorities could perceive it as worse, making it therefore only subjectively better.

And UWP is not better in all accounts. It grants Microsoft more control over the ecosystem, which is seen as negative by pretty much anyone who isn't Microsoft. Therefore someone who doesn't care so much about the advantages that you listed could perceive it as worse.

So, UWP is not objectively better, it's only subjectively better, which is why yes, people can very much justifiably complain about it.


>> so I can download game mods from some unknown source that have full access to everything on my PC

I think that's more on you than the OS.


Rule 1 of software development should be: Never blame the user, when the situation could have been avoided through code.

Especially in this case. Isolation has been one of the main drivers of operating systems. Isolation between users, so they can't change each other's files etc. maliciously . Isolation between processes, so they don't accidentally corrupt each other. At least since the first computer virus in the wild in 1982 it should have been clear that software can also potentially be malicious and needs to be isolated from having the same rights as the user executing it.

The only reason why executing arbitrary x86 code in ring 3 is dangerous are the syscall interfaces the operating systems offer.


Which is why UWP has a capabilities-based sandbox.


Sometimes you do have to blame the user though. As an extreme example; if I take a hammer to my computer and when it eventually fails can I blame the faulty hardware?


Once you connect your box to the Internet, installing malware affects everyone.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: