back

by vardump·6mo ago·view on hn ↗
I sometimes wonder what the alternate reality where semiconductor advances ended in the eighties would look like.

We might have had to manage with just a few MB of RAM and efficient ARM cores running at maybe 30 MHz or so. Would we still get web browsers? How about the rest of the digital transformation?

One thing I do know for sure. LLMs would have been impossible.

29 comments
For me the interesting alternate reality is where CPUs got stuck in the 200-400mhz range for speed, but somehow continued to become more efficient.

It’s kind of the ideal combination in some ways. It’s fast enough to competently run a nice desktop GUI, but not so fast that you can get overly fancy with it. Eventually you’d end up OSes that look like highly refined versions of System 7.6/Mac OS 8 or Windows 2000, which sounds lovely.

I loved System 7 for its simplicity yet all of the potential it had for individual developers.

Hypercard was absolutely dope as an entry-level programming environment.

I sometimes drop by cpu down to the 400Mhz-800Mhz range. 400 is rough. 800, not so bad. It runs fine, with something like i3 or sway.

If we really got stuck in the hundreds of MHz range, I guess we’d see many-core designs coming to consumers earlier. Could have been an interesting world.

Although, I think it would mostly be impossible. Or maybe we’re in that universe already. If you are getting efficiency but not speed, you can always add parallelism. One form of parallelism is pipelining. We’re at like 20 pipeline stages nowadays, right? So in the ideal case if we weren’t able to parallelize in that dimension we’d be at something like 6Ghz/20=300Mhz. That’s pretty hand-wavey, but maybe it is a fun framing.

The alternative reality I wish we could move to, across the universe, is the one where SGI were the first to build a titanium laptop and became the worlds #1 Unix laptop vendor ..
Given enough power and space efficiency you would start putting multiple cpus together for specialized tasks. Distributed computing could have looked differently
The GameBoy Advance could run 2D games (and some 3D demos) on 2 AA batteries for 16 hours. I wonder if we could get something more efficient with modern tech? It seems research made things faster but more power hungry. We compensate with better batteries instead. I guess we can and it's a design goal problem, I also do love a screen with backlight.
My alternate reality "one of these days" projects is to have a RISC-V RV32E core on a small FPGA (or even emulated by a different SOC) that sits on a 40- or 64-pin DIP carrier board, ready to be plugged into a breadboard. You could create a Ben Eater-style small computer around this, with RAM, a UART, maybe something like the VERA board from the Commander X16...

It would probably need a decent memory controller, since it wouldn't be able to dedicate 32 pins for a data bus, loads and stores would need to be done wither 8 or 16 bits at a time, depending on how many pins you want to use for that..

Or if 640k was not only all you'd ever need, it was all we'd ever get.
There's something to this. The 200-400MHz era was roughly where hardware capability and software ambition were in balance — the OS did what you asked, no more.

What killed that balance wasn't raw speed, it was cheap RAM. Once you could throw gigabytes at a problem, the incentive to write tight code disappeared. Electron exists because memory is effectively free. An alternate timeline where CPUs got efficient but RAM stayed expensive would be fascinating — you'd probably see something like Plan 9's philosophy win out, with tiny focused processes communicating over clean interfaces instead of monolithic apps loading entire browser engines to show a chat window.

The irony is that embedded and mobile development partially lives in that world. The best iOS and Android apps feel exactly like your description — refined, responsive, deliberate. The constraint forces good design.

I'm in the early phases of working on a game that explores that.

The backstory is that in the late 2050s when AI has its hands in everything, humans loose trust of it. There are a few high profile incidents - based on AI decisions -, which cause public opinion to change, and an initiative is brought in to ensure important systems run hardware and software that can be trusted and human reviewed.

A 16bit CPU architecture - with no pipelining, speculative execution etc is chosen, as it's powerful enough to run such systems, but also simple enough that a human can fully understand the hardware and software.

The goal is to make a near-future space exploration MMO. My Macbook Pro can simulate 3000 CPU cores simultaneously, and I have a lot of fun ideas for it. The irony is that I'm using LLMs to build it :D

We had web browsers, kinda, in that we'd call up BBSes, and use ansi for menus and such.

My Vic20 could do this, and a C64 easily, really it was just graphics that were wanting.

I was sending electronic messages around the world via FidoNet and PunterNet, downloaded software, was on forums, and that all on BBSes.

When I think of the web of old, it's the actual information I love.

And a terminal connected to a bbs could be thought of as a text browser, really.

I even connectd to CompuServe in the early 80s via my C64 through "datapac", a dial gateway via telnet.

ANSI was a standard too, it could have evolved further.

Heavy webpages are the main barrier for projects like this. We need something that is just reader view for everything without the overhead of also being able to do non reader view. Like w3m or lynx but with sane formatting, word wrap etc.
> graphics that were wanting

Prodigy established a (limited) graphical online service in 1988.

There is an alternate reality where semiconductor advances ended in the eighties. It's called 1990.

Anyhow, the WWW was invented in 1989/1990 on a 25Mhz 68040 NextCube. Strictly speaking, the 68040 and NextCube weren't released until 1990 (and the NeXT was an expensive machine) but they were in development in 1989 so that's not a stretch. Anyhow, WWW isn't really much more than hypercard (1987) with networking.

Apart from transputers mentioned already, there’s https://greenarrays.com/home/documents/g144apps.php

Both the hardware and the forth software.

APIs in a B2B style would likely be much more prevalent, less advertising (yay!) and less money in the internet so more like the original internet I guess.

GUIs like https://en.wikipedia.org/wiki/SymbOS

And https://en.wikipedia.org/wiki/Newton_OS

Show that we could have had quality desktops and mobile devices

I want to chime in on SymbOS, which I think is the perfect reply to the GP's curiosity.

https://www.symbos.org/shots.htm

This is what slow computers with a few hundred kB of RAM can do.

I remember using the web on 25mhz computers. It ran about as fast as it does today with a couple ghz. Our internet was a lot slower than as well.
> I remember using the web on 25mhz computers. It ran about as fast as it does today with a couple ghz.

I know it’s a meme on HN to complain that modern websites are slow, but this is a perfect example of how completely distorted views of the past can get.

No, browsing the web in the early 90s was slooow. Even simple web pages took a long time to load. As you said, internet connections were very slow too. I remember visiting pages with photos that would come with a warning about the size of the page, at which point I’d get up and go get a drink or take a break while it loaded. Then scrolling pages with images would feel like the computer was working hard.

It’s silly to claim that 90s web browsers ran about as fast as they do today.

It crashed a lot more, the fonts (and screens) were uglier, and Javascript was a lot slower. The good thing was that there was very little Javascript.
I remember using the web in the 90s. I often left to make a sandwich while pages loaded.
Try opening Gmail on one of those. Won’t be fun.
I think the boring answer is that we waste computing resources simply because if memory and CPU cycles are abundant and cheap, developers don't find it worth their time to optimize nearly as much as they needed to optimize in the 1980s or 1990s.

Had we stopped with 1990s tech, I don't think that things would have been fundamentally different. 1980s would have been more painful, mostly because limited memory just did not allow for particularly sophisticated graphics. So, we'd be stuck with 16-color aesthetics and you probably wouldn't be watching movies or editing photos on your computer. That would mean a blow to social media and e-commerce too.

I don't actually blame dev laziness for the lack of optimization.

There is certainly a level of "good enough" that's come in, but a lot of that comes not from devs but from management.

But I'll say that part of what has changed how devs program is what's fast and slow has changed from the 90s to today.

In the early 90s, you could basically load or store something into memory in 1 or 2 CPU cycles. That meant that datastructures like a linked list were a more ideal than datastructures like an array backed list. There was no locality impact and adding/removing items was faster.

The difference in hard drive performance was also notable. One wasteful optimization that started in the late 90s was duplicating assets to make sure they were physically colocated with other data loading. That's because the slowest memory to load in old systems came from the hard drive.

Now with SSDs, disk loading can literally be nearly as fast as interactions with GPU memory. Slower than main memory, but not by much. And because SSDs don't suffer as much from random access, it means how you structure data on disk can be wildly different. For example, for spinning disks a b-tree structure is ideal because it reduces the amount of random accesses across the disk. However, for an SSD, a hash datastructure is generally better.

But also, the increase of memory has made tradeoffs a lot more worth it. At one point, the best thing you could do is sort your memory in some way (perhaps a tree structure) so that searching for items is faster. That is in-fact built into C++'s `map`. But now, a hash map will eat a bit more memory, but the O(1) lookup is much more ideal in general for storing lookups.

Even when we talk about the way memory allocation works, we see that different tradeoffs have been made than would be without a lot of extra memory.

State of the art allocators use multiple arenas and memory allocators to allow for multithreaded applications to allocate as fast as possible. That does mean you end up with wasted memory, but you can allocate much faster than you could in days of old. Without that extra memory headroom, you end up with slower allocation algorithms because wasting any space would be devastating. Burning the extra CPU cycles to find a location for allocation ends up being the right trade off.

> One thing I do know for sure. LLMs would have been impossible.

We had ELIZA, and that was enough for people to anthropomorphize their teletype terminals.

I always think the Core 2 Duo was the inflexion point for me. Before that current software always seemed to struggle on current hardware but after it was generally fine.

As much as I like my Apple Silicon Mac I could do everything I need to on 2008 hardware.

Alongside the power of a single core, that was alongside adoption of multicore and moving from 32 to 64 bit for the general user, which enabled greater than 4GB memory and lots of processes to co-exist more gracefully.
It's remarkable how a modern $50 SBC outperforms the old Core 2 Duo line.
Transputers. Lots and lots and lots of transputers. (-:
I don't think there's really a credible alternate reality where Moore's law just stops like that when it was in full swing.

The ones that "could have happened" IMO are the transistor never being invented, or even mechanical computers becoming much more popular much earlier (there's a book about this alternate reality, The Difference Engine).

I don't think transistors being invented was that certain to happen, we could've got better vacuum tubes, or maybe something else.

We did have web browsers, I had Internet Explorer on Windows 3.1, 33mhz 8mb RAM.
> Would we still get web browsers?

Yes, just that they would not run millions of lines of JavaScript for some social media tracking algorithm, newsletter signup, GDPR popup, newsletter popup, ad popup, etc. and you'd probably just be presented with the text only and at best a relevant static image or two. The web would be a place to get long-form information, sort of a massive e-book, not a battleground of corporations clamoring for 5 seconds of attention to make $0.05 off each of 500 million people's doom scrolling while on the toilet.

Web browsers existed back then, the web in the days of NCSA Mosaic was basically exactly the above

> Would we still get web browsers?

https://en.wikipedia.org/wiki/PLATO_(computer_system) is from the 1960s, so, technically, it certainly is possible. Whether it would make sense commercially to support a billion users would depend on whether we would stay stuck on prices of the eighties, too.

Also, there’s mobile usage. I would it be possible to build a mobile network with thousands of users per km² with tech from the eighties?

No, if we had the web it would be more like what gopher was. Or maybe lynx.

Edit: oh I thought you meant if we were stuck in 6502 style stuff. With megabytes of ram we'd be able to do a lot more. When I was studying we ran 20 X terminals with ncsa mosaic on a server with a few CPUs and 128GB RAM or so. Graphic browsing would be fine.

Only when Java and JavaScript came on the scene things got unbearably slow. I guess in that scenario most processing would have stayed server-side.

Teletext existed in the 80s and was widely in use, so we'd have some kind of information network.

BBSes existed at the same time and if you were into BBSes you were obsessive about it.

And imagine if telecom had topped out around ISDN somewhere, with perhaps OC-3 (155Mbps) for the bleeding-fastest network core links.

We'd probably get MP3 but not video to any great or compelling degree. Mostly-text web, perhaps more gopher-like. Client-side stuff would have to be very compact, I wonder if NAPLPS would've taken off.

Screen reader software would probably love that timeline.

This is basically the premise of the Fallout universe. I think in the story it was the transistor was never invented though.
I like the 32 bit era because it's the only time we had symmetrical data and address buses. 32 bit data bus on chip. 32 bit addressable RAM, 4 GB. Used to be 8/16 and now it's 64/whatever. Understandable decisions given needs/constraints but sort of messy.
You'd probably get much more multiprocessor stuff much earlier. There's probably 2 or 3 really good interfaces to wire an almost arbitrary number of CPUs together and run some software across all of them (AMP not SMP).
Actually real AI isn’t going to be possible unless we return to this arch. Contemporary stacks are wasting 80% of their energy which we now need for AI. Graphics and videos are not a key or necessary part of most computing workflows.
You should definitely watch Maniac: https://en.wikipedia.org/wiki/Maniac_(miniseries)
>I sometimes wonder what the alternate reality where semiconductor advances ended in the eighties would look like.

We would have seen much less desktop apps being written using Javascript frameworks.

> Would we still get web browsers?

There was Lynx text browser that was ported even to MS-DOS. I was using it until about 2010. It was a great browser until websites become unusable.

I was doing Schematic Capture and Layout on a 486 with <counts voice> one two three four five six seven eight 8 megabytes of RAM ah haha.
There are web browsers for 8-bits today, and there were web browsers for e.g. Amiga's with 68000 CPU's from 1979 back in the day.
> One thing I do know for sure. LLMs would have been impossible.

Maybe they could, as ASICs in some laboratories :)

tbh we'd probably just have really good Forth programmers instead of LLMs. same vibe, fewer parameters.
Well, we wouldn't have ads and tracking.