I’ve often heard that the reason Windows has suffered from bloat and so much has been built on top of ancient underlying technologies, partially to ensure compatibility with old software.
If something like Windows 11 requires specific hardware in order to install it, why does it need to accommodate compatibility for archaic devices/software?
Would it not be preferable for Microsoft to start from scratch with an OS that is considerably more efficient and cut-down for newer devices, similar to something like Apple’s MacOS transition from Intel to Apple Silicon, and just provide security updates for the legacy operating systems that would be in use on un-upgradable hardware?
The backwards-compatibility stuff already in this thread is all true, but also they don’t know how to remove some things. Microsoft has wanted to entirely replace Control Panel with Settings since Windows 8 came out, but they gave up. And rewriting the whole operating system from scratch would take decades and still inevitably lose compatibility with some of the random old software mentioned here.
It’s not their business strategy to do that. They’re for profit, not for making something that works well. And lately the income they bring from contracts with all those bloatware developers is offsetting whatever they lose by selling an inferior product
When looking through the history of Windows, some of the major milestones included the very concept of a windowed user interface in 3.1, refining the concept into a complete desktop-oriented (as in, a physical table top, with files and folders and a recycling bin) experience in Windows 95, huge backend improvements in the kernel (eg networking) by merging in the NT kernel (last used intact in Windows 2000) and giving us Windows XP.
Note well that XP was the first juncture between a consumer-oriented OS (a la Win 95/98) and a business-oriented OS (a la NT Server or Windows 2000). The missing link here is Windows ME, which was the next consumer OS after 98 but it flopped so hard when it became apparent that this artificial consumer/business division wasn’t going to scale. Specifically, the Windows 9x kernel had too many DOS-isms whereas the NT kernel had no such issues. Hence, Microsoft undertook the massive effort to bring the two kernels together for XP.
In that sense, XP coupled a newer kernel with a polished UI. In essence, the company bet all its chips on XP. And fortunately for them, it paid off. But this came with a cost: XP has to carry the lineage of both the DOS/95/98/ME and NT/2000 into the 21st Century. This means the same OS has to support things like Active Directory (a feature only used by corporate customers) and Fax for Windows (used by anyone that wanted to use their dial-up modem for faxing, but also on fax servers, which are somehow still relevant today), while also supporting DirectX for the consumer gaming segment, plus multi-user support for “home computer” customers that still share a single machine for a household, despite a market trend towards personalized computing, and everything else under the sun.
And that’s before we get to some of the backwards-compatibility support they still have to upkeep, like 32-bit support on the x86 family of CPUs, and BIOS (in spite of UEFI being a decade old). Notably, Windows on ARM has never kept such backwards compatibility, with ARM32 being completely deprecated and only ARM64 being supported by Windows 10 and beyond (hence, Windows on Raspberry Pi).
And then, of course, the Microsoft own-goals and mistakes: somewhere around 8.1, they decided to meet the tablet/touchscreen market by having Windows be touch-oriented. But as was blitheringly obvious then and now, the desktop concept cannot possibly be similar when the controls (keyboard/mouse versus touchscreen) are swapped out. Thus, this compromised the desktop experience in pursuit of a relatively niche target market. Meanwhile, Apple essentially forked their Mac OS to support mobile, tablet, and smartwatches as iOS, and aren’t exactly itching to merge iOS back into the desktop OS.
A better execution might have been to port Windows for ARM (which is what most/all phones and tablets use today) earlier than they did, use that as the basis of a tablet-experience OS (like how Windows Media Center was just an application atop Windows XP), and then later introduce compatibility with desktop apps (like how Apple can now do full-speed x86 emulation using special ARM extensions baked into their custom silicon). That said, the latter was only technically achievable in the 2020s, but seeing as Microsoft was the market leader well into the 2010s, they would have been in the same position as Apple is in today.
So to summarize my long-winded comment, Windows carries a lot of weight. It is the result of successfully merging two very-real market segments into one product (business users and consumer users), then MSFT dropped the ball by chasing the Next Big Thing and adding more diametrically-opposed objectives to an over-burdened OS, with nary a plan for how to eventually relieve it. Had they instead did a separate OS for tablet and mobile (rip Windows Phone), they could have merged that one into the XP-based kernel and got the refined best-of-both-worlds.
Instead, they now have the worst of both. The Windows 11 desktop experience sucks, with bad icons, near-invisible text boxes, confusion where there wasn’t any, and all while pushing consumers towards web browser-based apps. And to make it sting harder, because they’ve been feeding this mess to their corporate customers, those customers now demand that everything be kept the same (“better the enemy that you know”) which prevents Microsoft from making XP-level wholesale improvements.
They’re stuck, they know it, and they can’t really fix it unless great leadership shows up to take command of the ship. But similar to Amazon (which makes most of its revenue through AWS, not selling/shipping products), Microsoft makes the majority of its revenue in two segments: Azure cloud and Office 365. It’s hard to revamp Windows when it’s now playing third-fiddle.
(I’m sure I’ve got some of the historical details wrong, but it’s Saturday morning so full send)
I couldn’t have written it better.
The only disagreement I’d have is that Win2k was the major turning point when NT architecture hit mainstream. Suddenly we had NT core with a UI that users understood and dynamic events (PnP).
Though for us in IT, NT4 was the major turning point - a solid OS that you could actually use in business.
XP brought a lot more user functionality (plus better performance), and Windows 7 brought the current version of 64-bit architecture.
Your point about working in the enterprise nails it - you simply can’t pivot just because “this is a better way”. Does the current shovel still dig a ditch? Then replacing all the shovels with this fancy new one that weighs 6oz less isn’t a useful way to expend resources (time/money/management overhead/etc).
why does it need to accommodate compatibility for archaic devices/software?
Because that’s one of Windows’ selling points. It has unusually good backwards compatibility for a mainstream operating system. Compare that to iOS, Android, MacOS, or Linux, where the infrastructure needed to run older binaries often doesn’t exist in the first place.
Linux is a weird case, because thanks to Wine, it actually runs a lot of old games better than Windows, but this doesn’t do anything to help compatibility with older Linux binaries.
Worth considering that there’s less of a need for backwards-compatibility with Linux binaries because most Linux software is open-source, so they can be recompiled or updated for modern Linux by the end user if the maintainer is gone. A lot of legacy Windows software is still in use and the source is unavailable, so Windows has to support it for the businesses that use the legacy software. In other words, it’s a cultural difference too. Linux seems pretty good at supporting things users actually use, like old hardware.
Not disagreeing with you btw, just my thoughts on why that difference exists.
The goal of msft isn’t to be an efficient steward of your resources, or better enable the user, or to create a platform for game/app developers in hopes of creating a more attractive ecosystem for you.
It’s nothing like any of those things.
The goal of Microsoft is to maximize shareholder returns, and the best way to do that is to abuse their dominant market position while monetizing every aspect of their platform that most people will buy anyway.
I’m not sure how this fits in to the question to be honest.
I don’t doubt the greed, but I don’t see how that pertains to legacy code bloat.
The point is that they have no financial incentive to clean up or prevent bloat, so they don’t.
Linux doesn’t either, but the Linux community operates on principles and passion instead of financial incentives, and so thusly is not similarly bloated.
Ah right, yeah the bloat I’m asking about isn’t so much about all the shit applications they bundle in, but the stuff that remains to maintain compatibility with obscure or legacy hardware/applications.
The financial incentive would be long term user retention, combined with a simplified codebase and performance improvements.
The legacy compatibility is very important for microsoft’s enterprise customers, many of whom are still using some legacy software for aging machinery. A lot of big businesses are slow to move away from legacy software because it always incurs cost. Often they will tell microsoft and other companies they buy products from that compatibility is essential. They won’t invest thousands or millions of dollars to upgrade their aging infrastructure simply on microsoft’s insistence with their new product.
Wouldn’t the aging hardware running that legacy software not be upgradable to the latest Windows versions due to modern hardware requirements anyway?
No because it is old software running on new hardware. Modern Windows comes with a ton if code so “old stuff” still works, it even favors bundling runtime cold for OLD frameworks rather than new in the installation. That’s why you need to install modern. NET 10 etc after a new windows installation when installing new softeare, yet it runs old software out of the box. Companies aren’t running dinosaur code on old computers, they’re running dinosaur code on modern computers.
If i remember right, Microsoft said they’re dropping support for a lot of the old .NET stuff at least, so we’ll see if it happens and if companies get mad or update themselves finally
Ah right, I’d assumed old hardware because you’d said “upgrade aging infrastructure”.
This is true and might be an argument that windows 11 is actually is moving away from its archaic foundations, slowly. But hardware isnt always a limitation. Companies will refresh laptops and workstations with better hardware yet still require use of legacy software. Its a tug of war between a companies financial spending, want for the latest tech in other areas of the company, tolerance to security vulnerabilities, etc. If microsoft tells them that they cannot use their essential legacy software on windows 11, and drop support for their older versions because of their own financial review, then they risk losing their largest customers.
I do think the legacy bloat is more to do with its foundations in software, being based on windows NT, moreso than legacy hardware. And with hardware improving, software gets faster for free just by running with more overhead. Its led to an inefficiency boom which you can see with games becoming less optimized because they dont need to be. Same could be applied to window’s with respect to new hardware.
What financial incentive is there in user retention and code improvements? Windows licences likely don’t contribute a large share of MSFTs income (would have to look it up, but am currently sitting in a train with just a smartphone) and even with all the shit since Win11, Windows is still the largest OS by far.
MSFT is earning a lot of money with AI & cloud. Any increase in revenue there likely dwarf possible gains in Windows improvements.
What financial incentive is there in user retention and code improvements?
Is that a serious question?
Simplified codebase = fewer internal resources required.
User retention = continued revenue streams from applications and services that run on that platform.
It is, not from a technical pov but from an investment pov. I very well understand the benefit as a person in IT, but what do you think is more important to investors? Spending (significant) resources on behind-the-scenes improvements that may keep some income flowing vs spending resources on the new AI hype tool to be sold to better paying enterprise customers?
I don’t endorse that mode of operation (team 🐧), but that seems to be what’s happening.
That’s not a big financial incentive.
Microsoft will remove stuff when it actually gets in the way.
If it’s easier to leave in and not have to touch dozens of other programs/services then they will.
They might mark it as depreciating, and start planning a suitable replacement. They might just mark it as depreciating and kick the can down the road.
When enough services that relied on that depreciating thing have been touched due to other updates, then they might look at actioning the depreciation.But if it doesn’t actively break the thing they are currently working on, the cost overhead or ripping it out is insane.
There might be other dev teams working on features that now rely/leverage the thing marked as depreciating. But the thing getting marked as depreciating happened towards the end of the other teams new feature development cycle. At which point actually depreciating the thing might invalidate that other teams entire project.
And maybe the rip it out, and it turns out one of their large clients (or a large amount of the user base) was relying on it.Addressing technical debt is always hard to justify, but it always makes a better project.
If management doesn’t care about a better project, they will prioritise features and things that make money
built on top of ancient underlying technologies
*me running perl scripts in a teletype terminal emulator with a character display width limited by IBM punch cards, on my daily-driver 5800x3d/7900xtx/64gb system with an OS that’s trying to cosplay a proprietary one from 1969
Huh? This goes fast as fuck, boi
So that sure ain’t the reason
The idea of a rewrite is a newbie mistake. It is almost always wrong. https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
MacOS wasn’t rewritten, it was ported. It’s now bigger than before.
Linux has grown from 170k lines of code back when I used it to handle dns for 10k customers to 40 million lines today. It has never been “completely rewritten” . Is Linux a failure?
Imo MS has a need to keep Windows convoluted so as to stay one step ahead of cloners like Wine.
MacOS wasn’t rewritten, it was ported. It’s now bigger than before.
Whoah there! Mac OS was entirely rewritten from scratch (based upon some combination of FreeBSD and NextSTEP) when Steve Jobs rejoined Apple. Or are we pretending the eternal shame of Mac OS 7 never happened?
The OP said the Intel to Apple Silicon transition. That was after OS X. Nor was the earlier Mac OS a rewrite but adding a different GUI to Next step and calling it Mac OS X.
to start from scratch
Miscrosoft is actively dismissing programmers. They might still have an ability to pile up some shit on the top of the codehill, but not to write new code.
to ensure compatibility with old software
This is important. This is the only reason why Windows still exists. If it would stop running old software there wouldn’t be any reason to stay on Windows. Because Linux/Wine in many cases can already do it.
This is important. This is the only reason why Windows still exists. If it would stop running old software there wouldn’t be any reason to stay on Windows. Because Linux/Wine in many cases can already do it.
I guess that’s exactly why I’m asking. Linux doesn’t have the same bloat. So why couldn’t Microsoft maintain compatibility with the old software via their old operating systems (and continued security updates), but streamline their new operating systems which clearly have specific hardware requirements. Wouldn’t that make them more competitive with respect to Linux?
The worst part is MS knew how to do it. They could encapsulate all the legacy code and only load it when needed. But it seem they forgot how to do it again 🤷♂️
I think that’s what I find weird. Like, the capacity is there. Something like the Xbox has underlying Windows components, and supposedly they make an effort to strip out redundancies for things like those ROG handhelds. So they’re already doing it to some extent.
They have a near-monopoly on the desktop market. The average consumer doesn’t care about bloat, and will keep using Windows stubbornly no matter what. Why bother writing good software if people will buy it anyway?
Enterprise customers depend on legacy stuff that you haven’t heard of. And there’s enough of these 800-pound gorillas in the room that pay for enough of Microsoft’s bills that they have to listen to, that they can’t cut it. A behaviour bug from 2002 is actually used by, say, JP Morgan’s trading department as a critical part of their flow. Until you’ve worked on IT in one of those megacorps, it’s hard to fathom how much spaghetti can be in one company.
Also, the legacy stuff is literally decades of work and knowledge so unscrambling it is not really feasible.
They can’t nuke it because of the customers that rely on it. Microsoft’s job (and that of all vendors) is to cost less than a migration to another option.
Yeah I understand those legacy systems, but I wouldn’t expect those to be upgrading to Windows 11 for example. I guess that’s why I was suggesting a separation of “then” and “now” operating systems.
The legacy systems need to upgrade because they need security patches. It’s not an incompatible system from 1992. Windows broke stuff going to Vista, when real-time controllers like you’d find running a power plant or CNC changed in ways I don’t remember, but fundamentally you could run a 35 year old application on windows 11 with tweaks over the years. These companies are running apps written in the 70s and 80s.
Microsoft could and perhaps should bifurcate Windows into new and old, or draw a line along Server and Workstation, but I think the bulk of their windows income comes from these enterprises and the “new” windows wouldn’t sell that well - it’s effectively been free for consumers since 8. Windows was the absolute show runner for decades but since the Cloud, it’s shrank quite a lot so there isn’t the money there anymore.
ARM is an interesting experiment they’ve been working on from a couple angles over the years but never really got the buy in.
There’s no value in switching to ARM, basically.
ARM is absolutely serving Intel’s head on a platter these days and it’s slowly happening - Server 2025 is availableish in ARM, and the Copilot PCs are ARM. There’s value but MS would rather customers go to PaaS than rebuild eg MSSQL on ARM, I think.
I wouldn’t expect those to be upgrading to 11
Every desktop/laptop will upgrade to 11 - no business will accept the risk of maintaining an OS that’s out of support (with some exceptions). So you don’t have a choice.
Every desktop/laptop will not upgrade to 11. There’s a whole bunch of hardware requirements that prevent it from being installed on legacy systems.
First step after clean install is uninstalling everything Microslop and replace with open source alternatives. Disable Anti-virus and firewall if you are so inclined. You’ll gain at least 10% performance from my estimation.
Toyota has become the number one auto manufacturer by making middle of the road low risk cars that are dead reliable. Any other auto maker could follow this, but the executives don’t want to follow this simple approach. they push for flashy cars. they push for cheap parts. they prioritize volume over quality.
Similarly Microsoft absolutely could streamline their operating system. What’s stopping them? The decision makers don’t care about this. They want flash AI features ham fistedly shoe horned into the ever shittier pile of tech debt. Anyone could say I want to be a manager who prioritizes quality and resource management but if the people at the top don’t care resources will not be allocated and the product will not go in that direction.







