Absolutely. When MS has time to put in six more UI designs to accomplish exactly the same thing that the first one could accomplish it has time to make a useful product.
When MS has time to code Windows 10 force-feed-ware to hijack Windows 7 installations it has time to made a useful product.
When MS has time to try to take over the web browser market when there are already adequate browsers available it has time to make Windows, a product one paid for, useful.
Given that MS decided to really aggressively establish Windows as the world standard desktop operating system it has the responsibility to make a good product. (See OS/2 if you're unclear on how aggressively.)
You act like Microsoft has only five programmers and they can only do one thing at a time. I got news for you! They have hundreds of thousands of programmers all working on various projects inside of Microsoft. They have a UI team, browser team, Office team, kernel team, anti-malware team, SQL team, IIS team, .NET team, etc.
While I agree, this should be done before releasing software during beta testing.
Ah yes, the lauded beta phase. The thing that everyone who's never written a line of code in their lives goes back to in order to defend that they must be right and that Microsoft is a piece of shit company that can't do anything right. They say that "Oh, but they didn't catch it in the beta phase. They suck!"
Oh, so tell me why
despite the
very real fact that Mozilla Firefox undergoes beta testing before every new release yet a week or two after a big release there's a .1 and a .2 update afterward? You'll tell me that they should have fixed these bugs in beta and that they shouldn't have released it knowing that they had those bugs. To which if that were the case a new version of Firefox would never be released because the testing would never be finished. Eventually, something has to released and no matter how much testing you do inside a closed environment there's always going to be bugs found once it has been released to the public because that's how things work. You know what they say about the best-laid plans, right?
So here we have Mozilla and they're writing a web browser, something that is a tiny fraction of the size of the codebase that Windows consists of and yet even Mozilla with it being open source and all and they even can't get things right. And like I said before, Apple can't even get it right and they control the whole ecosystem from the top to the bottom. And what about nVidia, they release new versions of their drivers every month and what do they do? Oh yeah, they fix bugs. The same can be said about how AMD does the same with new driver versions. Google comes out with new versions of Android every year and yet despite how long each new version of Android spends in beta they still find and fix bugs months later. Google does the same with Google Chrome, they come out with new versions of Google Chrome every month or two and yet despite all of the testing and how much of Google Chrome is based upon the open source Chromium, they still find and fix bugs. The same can be said about the open source Linux kernel and how each new version of the Linux kernel fixes bugs all the time.
I really can go on all day and all night citing example after example after example but you'd tire of that so I've purposely limited it to a few examples of how and where things have gone wrong despite the oh so lauded beta phase.
So what have we learned here folks!?!? That the almighty beta phase doesn't catch everything. You eventually need to throw it out to the public and have people bang on it for bugs to come to the surface and have things fixed. Anyone who doesn't understand this has never written a line of programming code in their lives and need to back up and shut up for you don't know what you're talking about. I, myself, have written programming code so I do indeed have an idea of just how many things can go wrong despite how much testing is done once something has been thrown to the sharks.
I am not defending Microsoft in any way, I'm simply pointing out that despite how much testing is done no matter what project you're talking about you cannot find and fix all of the bugs in a closed testing environment. You eventually need to throw it out to the sharks and hope for the best. Sometimes it works and no bugs are found but that's a rarity with today's massive programs that can have tens of millions of lines of code.
No, it isn't. There's no need to update what works. The drivers are not the problem.
If Microsoft changes an API then yes, drivers need to be fixed. Oh, but you say that there should be backward compatibility so that existing drivers continue working but that backward compatibility then results in a layer on top of a layer on top of a layer of code that results in an ever-increasing massive heap of code.
See OS/2 if you're unclear on how aggressively.
The size of the OS/2 codebase doesn't even come close to the size of the codebase that is Windows. Come back to me with a better example. Oh yes, we have such an example already. The Linux kernel but I already talked about that above so yeah...
I have written this post to point out several and
very valid examples of things that can and have gone wrong even with projects that are a tiny fraction of the size of Windows; namely Firefox and Google Chrome. I have even cited the Linux kernel which is on the order of the size of Windows yet despite the fact that it's open source bugs can still slip through the cracks and new versions need to be released to fix them. I have even cited Google Android. And then there's MacOS and Apple iOS that despite how they control the whole ecosystem from top to bottom they still indeed have to fix bugs.
/mic drop