5 ms·
Counterpoint: Windows works with 30 year old code, and somehow managed to manage their piles of tech debt and still work. Still a huge % of the market.
by brianwawok 4y ago
Counterpoint: Windows works with 30 year old code, and somehow managed to manage their piles of tech debt and still work. Still a huge % of the market.
- marcodiego 4y agoBecause microsoft dominated a market segment with mostly no competition for long enough to make people dependent in a way that users couldn't simply choose an alternative. There are idiosyncrasies in windows usage that users think are normal, but are actually legacy behavior which can't be changed because it could break other peoples tools. This makes windows users not only locked on the platform but also expect those misbehavior if they try to change. Also consider that depending on the hardware, software or services you use, there is NO alternative to windows. I don't think the same is true for Unity.
- stephc_int13 4y agoAlso, yes, the user experience is not that bad, especially these days. I love using Linux and Unix in general, but the legacy idiosyncrasies there are kind of worse.
- Ekaros 4y agoI'm kinda sad that we have really ended up with essentially two operating systems or families of such dominating. Unix/Linux/BSD and Windows... Both with their own issues and historic loads... I feel that we could do so much better in modern age if some of the things were just let go, but trenches has been dug and nothing will likely happen.
- philistine 4y agoUhhh ... macOS is exactly what you're talking about. It's unafraid to let some things just go. They just said during the State of the Union this week that Obj-C and UIKit were legacy tools, and that the future is Swift and SwiftUI. They said it, and I promise you they will deliver on this. I predict that within a decade Apple will truly deprecate UIKit and AppKit and stop any new app from using it. Microsoft has never been able to do that.
- Ekaros 4y agoIsn't it still a Unix derivative? Still have bash or something as cli?
- sleepybrett 4y agoMacos still uses the darwin kernel which is a bsd. Still ships 'terminal', default shell these days is zsh.
- stephc_int13 4y agoOuch, I was not aware of that. Deprecating Obj-C will probably also deprecate support for C/C++ support. I never used Proprietary Apple tech stack, when I made games for iOS it was C/C++/OpenGL and these days Vulkan with MoltenVK If they deprecate native code, they are going to lose a lot of devs. Never going to touch Swift with a ten feet pole.
- nmfisher 4y agoSwift on iOS still has support for C/C++ interop via bridging headers. I imagine that would be preserved even if Obj-C was deprecated as a broader iOS runtime. Eliminating C/C++ in one fell swoop would be disastrous.
- galad87 4y agoNothing is deprecated, they just recommend Swift and SwiftUI for new apps. And while they could deprecate UIKit in ten years or more, C and C++ won't be deprecated any time soon, they just starting working on Swift and C++ bridge too.
- Apocryphon 4y agoThey will try, but a decade is far too brief for that to happen. Swift was introduced eight years ago and there are still plenty of apps, especially ones belong to large corporations, that contain Objective-C legacy code. Including Apple's own apps. Maybe once SwiftUI gets its Swift 5 moment when there's a release that's stable enough going forward.
- jjoonathan 4y ago> still work Yeah, by only ever adding new layers of crust and never actually changing the Old Code, at least if the GUI is anything to go by.
- stephc_int13 4y agoHave you ever looked at the source code of the NT kernel? (there have been a few leaks over the years) Windows is indeed full of old and new crust, but the foundations are actually not bad, NT is a pretty good kernel if you ask me. The quality of Microsoft engineering is often underestimated, mostly because it is all over the place, different teams, a huge amount of technical debt, but in my opinion some key pillars have been built well enough and maintained, and they also managed to deal with the crust and survive without falling into the classic trap of the second system syndrome.
- unsui 4y agoRelated HN link on Dave Cutler and his work on creating NT. https://news.ycombinator.com/item?id=18977868 https://news.ycombinator.com/item?id=18977868 Just ordered a copy of the book "Showstopper"
- swivelmaster 4y agoIt’s a great book!
- CoolGuySteve 4y agoWindows NT learned from DOS, Win 3.1, and Windows 95 though. They had 4 generations or so before they made an operating system that was stable and maintainable.
- coredog64 4y agoWindows NT is the brainchild of Dave Cutler. Cutler was one of the tech leads on VMS. He was only hired away from Digital when they shitcanned his “Project Rainbow” follow up to VMS.
- cmrdporcupine 4y agoWindows NT was in development before 95 and Windows 3.1 became successful while NT was actively under development. It did not so much learn from Windows 3.1, TBH, but did learn from OS/2. And from VMS and RSX-11, which Dave Cutler worked on in the past. The windowing system in the initial NT release did look like Windows 3.1 though.
- ww520 4y agoIf you’re talking about the Windows OS itself, the OS kernel is very good and has pretty solid foundation. Windows NT was based on VMS which was an excellent cutting-edge OS of the time.
- cmrdporcupine 4y agoIt's a bit of a stretch to say it was "based on VMS." Yes the core initial engineers and leadership that started it were ex-DEC engineers. But if you listen to Dave Cutler's interviews and read about it you can see clearly that some concepts were borrowed but much of the thinking was from scratch. He took the chance of starting a greenfield project to make something far more current. In particular NT was designed from the ground up to be multiprocessor and multithreading friendly, which is not the case for VMS. Secondly NT was designed to host multiple OS "personalities", VMS not at all. Finally NT was designed to be portable between ISAs and they spent years making sure it worked equally well on MIPS, PowerPC, Alpha, x86, and then amd64. NT the kernel is awesome. I just wish they'd shipped a better userspace from day one. Imagine if Microsoft had shipped NT with a proper Unix-like shell environment in the 90s and not the crap "command.com" and WinCRT.dll garbage. What a better world we'd live in.
- kerng 4y agoThat would be true if Microsoft would have stayed with DOS as foundation. But they knew the shaky foundation and built NT which is a very good and that decision is probably the main reason Windows is still around.
- wvenable 4y agoThey were also smart enough to parallel development with Windows 95/98 -- creating two mostly compatible operating systems for different segments until the need for backwards compatibility and the power of the hardware made it possible to obsolete the DOS line.
- mattarm 4y ago> Windows works with 30 year old code, and somehow managed [...] I don't think Microsoft has any particularly secret sauce here, they just have a good reason to keep it going and the money to do so. Many other cases the money just isn't there. And don't under estimate the herculean efforts Microsoft goes through, or eat least used to go through, to keep old programs running. It goes far beyond what I would have ever imagined had I not talked to some of the people involved with it. We're talking having the OS detect specific versions of specific programs (e.g. old versions of Quicken) and hot patching specific APIs with bug-compatible behavior so they don't break with an OS upgrade. Microsoft definitely takes backward compatibility seriously.