7 ms·
Microsoft is famed for their backwards combability. How do they achieve this? By hard work and a lot of "if version == x" spread throughout the code? Or is beca
by TowerTall 3y ago
Microsoft is famed for their backwards combability. How do they achieve this? By hard work and a lot of "if version == x" spread throughout the code? Or is because of their development process or do they plan and design for backwards combability from day one?
- zik 3y agoA friend who worked at MS tells me that there's a huge amount of "if version" in their code. Apparently it's at the level where it's a big maintenance headache.
- somsak2 3y agomaintenance burden has to be felt somewhere. it's nice when the vendor does it for you.
- rcme 3y agoMaybe for a while. But when you add the maintenance burden to the code, it stays there, forever being felt. Over time, this degrades the product for everyone. And indeed, Windows can be unpleasant to use, not least of all because it feels like glued together legacy systems.
- spondyl 3y agoA running theory was that Windows 9 was skipped because of all the "if version contains 9" logic for 95, 98 etc I don't think it was ever anything more than speculation though
- noirscape 3y agoIIRC it was partially confirmed when some Windows 11 beta builds started causing issues with software thinking it was being executed on 1.1.x (whose identifier internally apparently is 11).
- GrumpySloth 3y agoIt was about code in third-party apps, not in Windows code.
- 13of40 3y agoWhen I worked in Windows they had entire teams dedicated to backwards compatibility testing and "sustained engineering". At the end of every release cycle there would be a multi-month effort to pack up all of our test automation and hand it off to another team who owned running it for the next several years. Plus SLAs with giant companies that could get you camped out on the floor of a datacenter with a kernel debugger if you pushed out a broken update. It was never a totally perfect system, but they invested a lot of effort (and money) into it.
- phendrenad2 3y agoMicrosoft ships an entire OS and apps too. Hard to break an API when the teams using it can walk down the hallway and yell at you.
- t0mas88 3y agoThey go much further than that, checking and fixing compatibility with all kinds of third party software.
- benj111 3y agoThere's a story about them getting SimCity working on some new os. My Google Fu is failing me though.
- knallfrosch 3y agoSearch for "SimCity" here How Microsoft Lost the API War https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost-the-api-war/ https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost...
- heavyset_go 3y agoThere's a difference between backwards compatibility and backporting. For either, Microsoft can afford to pay engineers to maintain them. But backwards compatibility isn't what kernel developers are maintaining, they're backporting things like security fixes to older versions of the kernel. It would be like if a security fix is implemented in Windows 11, and Microsoft also chose to patch the same change in Windows 10. At some point Microsoft decides that older version of Windows won't get new updates, like how Windows 8.1 stopped receiving them this January. What kernel developers are deciding is that sufficiently old enough kernel branches will stop receiving backports from newer kernels.
- knallfrosch 3y agoWindows 8.1 was released in 2013, with suppport ending in 2023 - a 10 year support window (backporting security fixes.) And Linux cuts from 6 to 2? I think you just stressed TowerTall's point.
- jraph 3y agoI don't think TowerTall was speaking about this. They are saying: "Recent versions of Windows can run old programs made for old versions of Windows. How?". The Linux kernel is very good at it because of the "Do not break userspace" Linus Torvalds' rule. The usual user space on top of the Linux kernel, not so much. So yes, backward compatibility and backporting are different matters. And Windows addresses them both indeed. Your parent commenter is not comparing Windows with Linux.
- kelnos 3y agoI think the point is more of a "so what?" Windows' backward compatibility is completely irrelevant and uninteresting here because we're not talking about backward compatibility, we're talking about long-term support.
- BiteCode_dev 3y agoLinux is not a company. You pay microsoft for that support. You can have 10 years support for linux, just pay red hat for it like you pay microsoft.
- runeks 3y agoThey achieve it by paying developers to do it (instead of relying on unpaid volunteers).
- caskstrength 3y agoDid you read the article? It has nothing to do with backward compatibility.
- xorcist 3y agoMicrosoft sunsets their stuff all the time. It's just that they're competing with Google and Apple now, so they're actively trying to push this line to differentiate where they can. Try to use only a ten year old printer driver sometime. It's a pain. Linux executes 20 year old code with no problem, as long as you kept all the pieces. How do they do it? Never merge anything that breaks known user space. Easy in theory, hard work in practice. If you want to run applications from the 90s, you're likely to have more success with dosbox or wine than with a plain Windows. Didn't Microsoft completely give up on backwards emulation a few years ago and started virtualizing it instead, with mixed success? Of course, if you really want something famous for backwards compatibility, look at OS/400 and z/OS. It's all layers of emulation from the hardware up in order to guarantee that an investment in that platform is future proof. It's all expensive in the end of course, as someone has to pay for it, but they live well on the customers who value such things. Running 50 year old code there is commonplace.
- rahen 3y agoIBM i is stellar in design, compatibility, quality, efficiency, reliability, consistency and security. x86 and Linux pale in comparison. I wish IBM hadn't fenced it so much like a walled garden. Had they issued inexpensive or free licenses for OS/400 targeted to students and developers, maybe also an emulator to develop conveniently on x86, their i platform would probably be more commonplace now, with quite a bit more available software. What is killing their platform is not the price but mostly the lack of skills and software. And it's probably too late now to change course.
- booi 3y agoI'm a long time software engineer and do quite a bit of devops both in cloud but also have significant experience building on-prem and datacenter server clusters. I have never heard of IBM i until this moment right now. I assume this is specifically for their Power-series hardware? I've only ever seen Linux on Power hardware...
- rahen 3y ago
- worksonmine 3y agoAre you really comparing a multibillion dollar company to an open source project? Also this has nothing to do with backwards compatibility, it's about supporting older kernels with security fixes and similar. The decision is a pragmatic one to lessen the burden on the unpaid volunteers. Like others have mentioned if a company needs a specific kernel pay up. Or use Windows. Don't compare apples to oranges.