Hacker News new | ask | show | jobs
by possiblerobot 2053 days ago
You might be right with respect to non-techie users. But, it's not about whether it merely works. It's about what we could be doing with modern hardware if we used it as efficiently as old software had to use its hardware.

What kinds of wild things could we accomplish on this hardware if we weren't bogged down in gigabytes and teraflops of bloat?

2 comments

> What kinds of wild things could we accomplish on this hardware if we weren't bogged down in gigabytes and teraflops of bloat?

Not that many: An early 1990s PC platform could be thoroughly described in a 200 page book and you could write a boot loader for the CPU, a VGA driver, and drivers for the most common peripherals from scratch in a few weeks.

In fact, games of that era shipped with their own audio drivers, (C/E/V)GA libraries and peripheral support.

Today this would be a) impossible because many manufacturers (cough NVIDIA cough) don't even release OSS drivers and specs and b) individual programs don't own the hardware anymore - the OS does. Also the multitude of target platforms (CPU types, -core counts, and -speeds, graphics cards, peripherals, etc.) makes it virtually impossible to ship code that it optimal for each of even the most common combinations of hardware.

The final nail in the coffin of the "super lean no bloat why-not-just-unikernel-everything-for-maximum-performance" idea can be summed up in one word: cost.

Development costs would be insane if we started optimising every aspect of every program for performance (on every possible platform, no less), memory use, and (binary-) size.

And that's even ignoring the fact that it's more often than not outright impossible to optimise for binary size, runtime performance, and memory footprint all at the same time.

Plus interactions between programs (plugins, {shell-}extensions, data formats, clipboards, etc.) require "bloat" like common interfaces and "neutral" protocols.

Most of the myth of great "old software" comes from the fact that functionality was severely limited compared to modern apps and that many folks simply weren't around to actually see and feel how much some of them actually sucked.

Sure, Visual Studio 6.0 runs incredibly fast on a vintage 3.2 GHz Pentium 4 with 2GiB of RAM using Windows 2000 - but when it released in 1998 many PCs had a 60MHz Pentium 1 or a 100MHz 486DX4 with 64MiB of RAM and it ran like a three-legged dog with worms on these machines compared to the DOS-based Borland-C...

Speaking of which, remember when sometime around the 2000s all Borland Pascal program stopped working, because CPUs had become too fast (>200MHz IIRC)? That was because their runtime used a loop to determine how fast the CPU was, which caused a divide-by-zero on fast machines IIRC.

Good times indeed...

Eh, BIOSes had an API-like interface under ASM assembler macros under DOS. It was relatively easy to do stuff directy with hardware.

>many PCs had a 60MHz Pentium 1 or a 100MHz 486DX4 with 64MiB of RAM and it ran

By 1998 most people switched to a Pentium because of the huge performance gain. And by 2000, everyone had a Pentium2 with ~96mb of RAM.

> And by 2000, everyone had a Pentium2 with ~96mb of RAM.

That's a bold claim! The PII was released around 1998 and you basically just asserted that everybody buys the latest CPU as soon as its released.

The reality is that most PC users never upgrade their machine and buy a new one instead. The average age of a PC is about 5 years and no, aside from enthusiasts nobody buys the latest and greatest as soon as gets released.

Businesses in particular hold on to their assets for some years due to depreciation (which incidentally is 5 years for PC class devices).

So in 2000, the average PC was 1995-level hardware.

I was there. In 2000 the average PC was 1997 era hw... with a Pentium2, AMD k7, or a Celero overclocked to ~450MHZ? making a great alternative to a Pentium2 and a Pentium III@450.

Windows 98 was on its peak and the Pentium MMX often was horrendously slow to start up things. Good with Windows 95, but by 2K everyone was onto 98/SE because of good additions and an easy PNP support.

W98SE was used even when XP got released and a few years more.

Also, your statement about the P4 with that huge amounts of RAM (2GB) is even more unusual than a PII in y2k.

When I had an AMD Athlon in 2003, I barely had 256MB of RAM. I stayed with that up to 2009 with Debian 4 DVD's.I tried some Fedora releases and they where a huge no-no in my machine, and Solaris was impossible.

Machines running too fast...

Reminds me of the Turbo button on PCs in the 90s, which all my school mates and I at the time thought was for a speed-up.

Au contraire!

https://en.m.wikipedia.org/wiki/Turbo_button

I have a one word counter response. Winamp.
Funny you mention Winamp - I stopped using Winamp ages ago precisely because its 2002(?) rewrite was garbage and didn't support the one feature I was actually using at the time (SHOUTcast) The whole AOL/Time-Warner sellout debacle didn't help either.
Probably fewer because we'd be spending more time pulling our hair out on trying to make cross-platform C++ apps work instead.