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 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.
Apple is a publicly traded company as well, which means they have the same incentives, but they do the exact opposite, having frequently broken backwards compatibility in major ways in order to make massive structural changes, like moving to an entirely different processor architecture not once, not twice, but three times now, and often breaking backwards compatibility in major ways in order to reduce bloat.
This is more likely a cultural issue than a technical one. Basically, both companies practice very different philosophies when it comes to engineering decisions. Of course, a major reason why Apple can do this while Microsoft can’t is the fact that Apple makes their own hardware, while Microsoft doesn’t.
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.
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
Windows’ bloat isn’t because they have to maintain backwards compatibility. It’s because they keep adding more shit, and the shit they add isn’t exactly hyper optimized.
If something like Windows 11 requires specific hardware in order to install it, why does it need to accommodate compatibility for archaic devices/software?
Because my computer from 2024 doesn’t run software made in 2024 or newer. I use a mixture of the latest and greatest™️, and old stuff.
Apples transition to arm was not a rewrite, nor is the software any better. It’s the hardware that’s better and makes using Mac OS on an M1 MBP so much better than an Intel one.
Windows’ bloat isn’t because they have to maintain backwards compatibility. It’s because they keep adding more shit, and the shit they add isn’t exactly hyper optimized.
Well, it’s both of those. There is plenty of bloat due to a necessity to maintain backwards compatibility. I’m well aware of the extra shit they add, but that’s not what I’m asking about.
Apple’s MacOS transition is driven by the hardware change. The next MacOS will not support Intel machines, so I would imagine those aspects of compatibility will be removed going forward, such as Rosetta 2.
The question was related to an equivalent aspect in Windows: since Windows 11 requires certain hardware, why doesn’t Microsoft treat Windows in a similar vein?
I mean in terms of disk space sure it takes up a good bit. From what I can tell winsxs takes about 10 gigs of space. But the actual wow64 subsytem only takes a 1-2 hundred MBs of RAM which is nothing for giving you that much backwards compatibility.
Rosetta 2 is going away in the next Mac OS, but that’s not going to have a massive impact on anything. The biggest impact will be the installer will be half the size since it doesn’t need twice the executables. You can download an Intel or Arm specific installer of Mac OS and it’s already half the size.
why doesn’t Microsoft treat Windows in a similar vein?
Because then nobody would use Windows. People use windows because it runs all of the programs they love. If it didn’t people wouldn’t put up with their bullshit.
Because then nobody would use Windows. People use windows because it runs all of the programs they love. If it didn’t people wouldn’t put up with their bullshit.
The suggestion isn’t to completely destroy compatibility with modern windows applications. And besides which, those same wholesale direction changes didn’t result in a macOS exodus.
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)
deleted by creator
The compatibility is at the software layer, not so much hardware (but really all they’re doing is adding more new stuff, not dropping old).
Yes, your shitty access database that calls a Borland back-end still works, etc…
Provided the device drivers aren’t using direct memory access, they’ll typically work, too
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 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.
The whole dual control panels thing in recent versions of Windows has always annoyed me.
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 and dominoes 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.





