← notes
13 Jul 2026·CS History

Some Ideas Just Wait for Their Moment

I’ve always thought it was crazy how some ideas just sit around waiting to be useful.

An idea can exist for decades without anyone knowing what to do with it.

Then someone comes along, looks at the same idea, and suddenly it becomes the foundation for something completely different.

I’ve been thinking about this because I keep finding the same pattern in computer science.

1. An Idea Waiting for Computers

Take George Boole for example.

He created a kind of math with only two values:

true and false.

People back then thought it was a puzzle, but nobody really knew what to do with it.

Then, decades later, Claude Shannon connected Boolean algebra to electrical circuits.

What if true and false could represent the two states of a circuit?

Current. No current.

Suddenly, the idea became something physical.

Circuits that could add numbers, store data and make decisions.

Every computer we use today is, at a very fundamental level, Boolean algebra turned into hardware.

Boole never imagined modern computers.

He just wrote down an idea.

And that idea waited quietly until the world finally had a place for it.


2. A 1978 Paper Inside Go

I was thinking about this because something similar happens with the code I write today.

Back in 1978, Tony Hoare wrote a paper called Communicating Sequential Processes.

The main idea was simple:

When two things run at the same time, don’t let them share memory. Have them send messages to each other instead.

If they don’t touch the same memory, most of those hard-to-find concurrency bugs can’t happen.

The idea existed for decades.

Then the team building Go came along.

They didn’t just use the concept.

They built the language around it.

That famous Go saying:

“Don’t communicate by sharing memory; share memory by communicating.”

comes from the ideas in Hoare’s paper.

And suddenly, a theoretical idea from 1978 became something you could use with a few lines of Go.

ch <- value