Live data from Hacker News

Windows: A software engineering odyssey (2000)

usenix.org

61–70 of 104 posts

Re: Windows: A software engineering odyssey (2000)

#61
post #50

Earlier quoted context omitted.

There’s a slide saying few developers could build a whole instance of win2000, but when working at this scale you rarely build everything from scratch locally. You work on your module and the build system will have to build everything nightly. I don’t read this as devs throwing completely unchecked code into source control.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

I would think/guess you weren’t fully building from scratch, but from intermediate snapshots. If Linus pushed a commit, would your full build, minutes later, use it?

Also, the first beta of NT 5.0 shipped in September 1997 and it was renamed to Windows 2000 in October 1998 (https://en.wikipedia.org/wiki/Windows_2000#History), and 1998 vs 2003 is about 3 times 1½ years, so, at the time, about three performance doublings.

Chances are your hardware was at least 5 times as powerful as what the early Windows 2000 engineers used.

Re: Windows: A software engineering odyssey (2000)

#62
post #61
post #50

Earlier quoted context omitted.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

I would think/guess you weren’t fully building from scratch, but from intermediate snapshots. If Linus pushed a commit, would your full build, minutes later, use it? Also, the first beta of NT 5.0 shipped in September 1997 and it was renamed to Windows 2000 in October 1998 ( https://en.wikipedia.org/wiki/Windows_2000#History ), and 1998 vs 2003 is about 3 times 1½ years, so, at the time, about three performance doubl…

Back in 2005 or so i was building freebsd, x11 and kde from scratch without issue. But these os’ are better engineered as there are no managers getting in the way.

Re: Windows: A software engineering odyssey (2000)

#63
post #22

Can’t imagine how these Windows engineers feel about the enshitification of their baby. So much time invested into it - must be hard to see it taking this current trajectory.

The kernel is better than ever. As for the shell, it's always had junk on it for commercial reasons - remember MSN and baking IE into the OS, or how the system requirements were ridiculously low for the reasons of marketing and to placate OEM manufacturers? And how OEMs were allowed to add loads of junk software on computers wearing their "Designed for Windows" stickers? I'm pretty sure XP came with a digital app sto…

NT 3.x, 4.0 and 5.0 (2000) which the presentation are about were, at least, quite free from commercial junk. It was only when consumer and professional Windows merged into one with XP that the enshittification started -- but that being said, it's bad on an entirely different level now. It's easy to look back longingly at the days of XP and 7 now that Windows is so overwhelmingly user hostile.

Like, rhetorical dude from 2002, you're mad that Windows XP will not let you remove Internet Explorer easily and that it requires online or phone activation to work? Let me tell you about Windows 11...

Re: Windows: A software engineering odyssey (2000)

#64
post #30

Can’t imagine how these Windows engineers feel about the enshitification of their baby. So much time invested into it - must be hard to see it taking this current trajectory.

> Can’t imagine how these Windows engineers feel about the enshitification of their baby. I think people are forgetting how unreliable Windows was in its early days. If you were doing anything complex (programming, editing pictures, ...) Windows couldn't run for 2 hours without crashing every so often. If anything, the core of the Windows operating system has only gotten better with time. Yes, they keep adding fluff…

Was Windows NT ever that unstable? I know 95, 98, and ME were all notorious for stability issues, but was under the impression that NT was better.

Re: Windows: A software engineering odyssey (2000)

#65
post #50

Earlier quoted context omitted.

There’s a slide saying few developers could build a whole instance of win2000, but when working at this scale you rarely build everything from scratch locally. You work on your module and the build system will have to build everything nightly. I don’t read this as devs throwing completely unchecked code into source control.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

Imagine you're a teenager building gentoo, except every single component of the system is a random development snapshot instead of a tested release.

Re: Windows: A software engineering odyssey (2000)

#66
post #61
post #50

Earlier quoted context omitted.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

I would think/guess you weren’t fully building from scratch, but from intermediate snapshots. If Linus pushed a commit, would your full build, minutes later, use it? Also, the first beta of NT 5.0 shipped in September 1997 and it was renamed to Windows 2000 in October 1998 ( https://en.wikipedia.org/wiki/Windows_2000#History ), and 1998 vs 2003 is about 3 times 1½ years, so, at the time, about three performance doubl…

> I would think/guess you weren’t fully building from scratch, but from intermediate snapshots. If Linus pushed a commit, would your full build, minutes later, use it?

Yes, I would frequently download e.g. new kernel release tarballs (this was before Git) and slot it into the system. This didn't require recompiling anything but the kernel. Actually installing Stage 1 Gentoo required compiling everything (although it was on top of a compiler binary for bootstrapping.)

My hardware was cheap 2001 era consumer hardware, so I doubt it was that much faster than what the Windows developers had available. Besides, my question is more about why Windows (or anything else) would be difficult to compile, rather than just time-consuming. The nice thing about recompiling an entire operating system from scratch is that there are no external dependencies, because you're building everything! (Except the bootstrapping compiler, but for the Windows operating system there's no reason to rebuild that.)

Re: Windows: A software engineering odyssey (2000)

#67
post #50

Earlier quoted context omitted.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

Imagine you're a teenager building gentoo, except every single component of the system is a random development snapshot instead of a tested release.

Linux distributions put together the products of a a huge and very loosely organised community, and I never heard it was anywhere as horrible as these (old) horror stories of Windows development. Is it perhaps the case that the (enforced) loose coupling of open source development prevents the aggregation of build complexity and intermingled dependencies?

Re: Windows: A software engineering odyssey (2000)

#68
post #50

Earlier quoted context omitted.

Certainly building everything from scratch is time consuming, but why should it be difficult? Windows 2000 was developed before I became a programmer, but not too many years later (2003) I was a teenager running Gentoo, and while it was time consuming to build everything from scratch, it was easy and reliable. It was also quite easy to switch out or hack on individual parts. In particular I remember fiddling endlessl…

I have no information here, but I wouldn’t be surprised if in 2003 Windows had an order of magnitude more code in it than a Linux distribution. Don’t forget, back then, Windows NT had support for these runtimes: Win32, Win16, DOS, and POSIX. Also, Windows had drivers for a lot more hardware than Linux did. Add in all the management stuff (Active Directory came about around this time), and I think it almost had to hav…

Why would those runtimes be particularly large? I'd expect the Win32 runtime to be large, but the others should be tiny by late 90s standards. Also, I remember that Windows didn't embed that many drivers itself, but that it had a stable ABI that hardware vendors could target (I remember driver CDs). Further, while the Linux kernel is certainly smaller than all of Windows, my point of comparison was compiling an entire desktop Linux system, which also included a full set of compilers, a desktop environment like KDE, office suites, multiple browsers, etc. Someone working on Windows 2000 shouldn't have to compile all that stuff.

My main question is also not so much why compilation of Windows should be time consuming, but why it should be difficult.

Re: Windows: A software engineering odyssey (2000)

#69

Can’t imagine how these Windows engineers feel about the enshitification of their baby. So much time invested into it - must be hard to see it taking this current trajectory.

A core piece of enshitification though is that a product becomes Less Useful over time - Reddit and Twitter lose third party apps, Apple is making its desktop OS more "secure" (read: convoluted and does less stuff) every release. The things you Liked about it, goes away. Windows, despite its legitimately annoying monetization strategy, has absolutely done the opposite - it does More Stuff every release, and the stuff…

> is that a product becomes Less Useful over time > it does More Stuff every release

I wouldn't say "doing more" is better. I'd be happy if it did a lot less. I don't care about most of the big new features in windows. I'd be a lot more happy they'd rework their old antiquated stuff that keeps making problems (drivers, registry, focus handling, etc. etc.).

> Apple is making its desktop OS more "secure" (read: convoluted and does less stuff)

What is apple really making less useful with time? For me I really like many of the new features. The only reason I stick to windows is that gamging is still horrible on macOS.

Re: Windows: A software engineering odyssey (2000)

#70

Earlier quoted context omitted.

A core piece of enshitification though is that a product becomes Less Useful over time - Reddit and Twitter lose third party apps, Apple is making its desktop OS more "secure" (read: convoluted and does less stuff) every release. The things you Liked about it, goes away. Windows, despite its legitimately annoying monetization strategy, has absolutely done the opposite - it does More Stuff every release, and the stuff…

> is that a product becomes Less Useful over time > it does More Stuff every release I wouldn't say "doing more" is better. I'd be happy if it did a lot less. I don't care about most of the big new features in windows. I'd be a lot more happy they'd rework their old antiquated stuff that keeps making problems (drivers, registry, focus handling, etc. etc.). > Apple is making its desktop OS more "secure" (read: convolu…

Here's a few examples - software requires signing and App Store accounts (literally called "Gatekeeper") which causes problems with OSS, you can no longer write kernel drivers on Arm64, many apps now require an avalanche of Vista-style "Do you want to allow this Thing Y/n" prompts, many other apps have to walk users through clicking into security settings to e.g. enable screensharing or productivity tools that use a11y hooks, the list goes on and on. Software on the Apple platform is becoming Less Useful over time and the list of things you can Do keeps getting smaller.
Post reply on HN