WEBVTT

00:00:00.000 --> 00:00:03.480
Have you ever found yourself in this incredibly

00:00:03.480 --> 00:00:06.480
frustrating but completely universal modern scenario?

00:00:07.059 --> 00:00:10.480
You're staring down a long, complicated mathematical

00:00:10.480 --> 00:00:13.019
equation. Oh, yeah. We've all been there. Right.

00:00:13.119 --> 00:00:15.779
And you've got your calculator. Maybe it's the

00:00:15.779 --> 00:00:19.300
app on your phone or maybe just a cheap solar

00:00:19.300 --> 00:00:23.000
powered one sitting on your desk. And you painstakingly

00:00:23.000 --> 00:00:25.420
start typing the whole thing out. Punching in

00:00:25.420 --> 00:00:28.359
every single digit. Exactly. You're carefully

00:00:28.359 --> 00:00:30.320
hitting the numbers, hitting the plus sign, the

00:00:30.320 --> 00:00:32.560
multiply sign, trying desperately to keep track

00:00:32.560 --> 00:00:35.140
of the parentheses. You're opening brackets inside

00:00:35.140 --> 00:00:36.899
of brackets, just hoping you remember to close

00:00:36.899 --> 00:00:38.560
them all at the end. Which is always a gamble.

00:00:38.909 --> 00:00:41.250
It really is. And you finally hit that satisfying

00:00:41.250 --> 00:00:44.130
equals button, and the number that pops up is

00:00:44.130 --> 00:00:47.270
so wildly incorrect that you just know deep down

00:00:47.270 --> 00:00:50.170
in your bones the machine completely butchered

00:00:50.170 --> 00:00:52.090
the order of operations. It happens all the time.

00:00:52.189 --> 00:00:55.590
You usually end up grabbing a scrap of paper

00:00:55.590 --> 00:00:57.670
to write down the intermediate steps, or you

00:00:57.670 --> 00:00:59.450
just type the entire string of numbers in like

00:00:59.450 --> 00:01:01.549
three more times, crossing your fingers that

00:01:01.549 --> 00:01:03.979
you get the same answer twice. Which completely

00:01:03.979 --> 00:01:06.319
defeats the whole purpose of using a machine

00:01:06.319 --> 00:01:08.480
to save time in the first place. It really does.

00:01:08.579 --> 00:01:10.760
It's a massive workflow killer. Which brings

00:01:10.760 --> 00:01:13.659
us to today's deep dive. We are pulling from

00:01:13.659 --> 00:01:16.840
an incredibly detailed Wikipedia article on a

00:01:16.840 --> 00:01:19.739
mathematical and computing concept known as reverse

00:01:19.739 --> 00:01:24.260
Polish notation, or RPN for short. A very intimidating

00:01:24.260 --> 00:01:28.159
name for a very elegant concept. Seriously. Because

00:01:28.159 --> 00:01:30.180
what if I told you there is an entirely different

00:01:30.180 --> 00:01:33.120
way to do math? a way that looks at first glance

00:01:33.120 --> 00:01:35.920
completely backward, but is actually so deeply

00:01:35.920 --> 00:01:38.739
elegant that it eliminates the need for parentheses

00:01:38.739 --> 00:01:41.540
entirely. To really understand why this matters,

00:01:41.680 --> 00:01:43.620
we have to pull ourselves out of this modern

00:01:43.620 --> 00:01:46.439
era of iPhones and infinite cloud storage. We

00:01:46.439 --> 00:01:49.159
need to go back to a time of giant, room -filling

00:01:49.159 --> 00:01:52.319
computer mainframes, scattered engineering blueprints,

00:01:52.420 --> 00:01:55.019
and the sleek angular lines of the very first

00:01:55.019 --> 00:01:57.140
pocket calculators. Which is such a great visual.

00:01:57.340 --> 00:02:00.409
It's essential to set the stage. We want to frame

00:02:00.409 --> 00:02:03.469
the core value of this topic for you today. Understanding

00:02:03.469 --> 00:02:06.310
RPN isn't just about learning a quirky way to

00:02:06.310 --> 00:02:09.229
punch numbers into a keypad. It is about learning

00:02:09.229 --> 00:02:11.969
a radically more efficient way to process information

00:02:11.969 --> 00:02:14.569
and interact with technology, all without getting

00:02:14.569 --> 00:02:17.289
overwhelmed by rules and syntax. That is the

00:02:17.289 --> 00:02:19.960
exact mission for this deep dive. We're going

00:02:19.960 --> 00:02:22.580
to demystify this seemingly backward way of doing

00:02:22.580 --> 00:02:26.419
math, uncover exactly why it's maintained a diehard,

00:02:26.560 --> 00:02:29.280
almost fanatical cult following among engineers

00:02:29.280 --> 00:02:31.979
and programmers for decades. Oh, they are definitely

00:02:31.979 --> 00:02:34.280
fanatical about it. They really are. And we'll

00:02:34.280 --> 00:02:36.979
explore how this single brilliant concept shaped

00:02:36.979 --> 00:02:39.560
the very early days of computing. It's a journey

00:02:39.560 --> 00:02:42.340
that takes us from theoretical logic in the 1920s

00:02:42.340 --> 00:02:44.819
through the bombing raids of World War II and

00:02:44.819 --> 00:02:46.939
right into the fierce high stakes calculator

00:02:46.939 --> 00:02:50.060
wars of the 1970s and 80s. 80s. Okay, let's unpack

00:02:50.060 --> 00:02:52.219
this, starting with the absolute basics. What

00:02:52.219 --> 00:02:54.939
even is reverse Polish notation? Right. To understand

00:02:54.939 --> 00:02:56.580
it, we first have to look at how we normally

00:02:56.580 --> 00:02:59.860
write math. Which is called infix notation. If

00:02:59.860 --> 00:03:02.120
you want to add 3 and 4, you just write it as

00:03:02.120 --> 00:03:05.419
3 plus 4. The operator, the plus sign, goes directly

00:03:05.419 --> 00:03:07.520
in between the numbers. And those numbers are

00:03:07.520 --> 00:03:10.300
called the operands. That structure makes perfect

00:03:10.300 --> 00:03:12.300
sense to our human brains when we read it out

00:03:12.300 --> 00:03:15.680
loud left to right. We say 3 plus 4. We announce

00:03:15.680 --> 00:03:17.500
the first ingredient, we announce the action

00:03:17.500 --> 00:03:19.159
we want to take, and then we announce the second

00:03:19.159 --> 00:03:21.460
ingredient. Exactly. It's built for spoken language.

00:03:21.740 --> 00:03:24.419
But in reverse Polish notation, the operators

00:03:24.419 --> 00:03:27.219
follow the operands. So that simple 3 plus 4

00:03:27.219 --> 00:03:30.060
equation becomes 3 4 plus. You're essentially

00:03:30.060 --> 00:03:32.280
giving the machine all the ingredients first,

00:03:32.419 --> 00:03:34.879
and only then do you tell it what to do with

00:03:34.879 --> 00:03:37.900
them. To really grasp how a machine processes

00:03:37.900 --> 00:03:40.659
this, you need to understand the concept of a

00:03:40.659 --> 00:03:43.599
stack. It is the fundamental architecture behind

00:03:43.599 --> 00:03:47.000
RPN. Stack is everything. Think of a stack just

00:03:47.000 --> 00:03:49.400
like one of those spring -loaded stacks of plates

00:03:49.400 --> 00:03:52.259
you see at a cafeteria buffet. It's a last -in,

00:03:52.280 --> 00:03:54.340
first -out system. Right. If you put a fresh

00:03:54.340 --> 00:03:56.979
plate on top of the stack... That exact plate

00:03:56.979 --> 00:03:59.340
is the very first one the next person in line

00:03:59.340 --> 00:04:01.419
is going to grab. In computer science terms,

00:04:01.719 --> 00:04:04.819
when we add a number to that mental pile, we

00:04:04.819 --> 00:04:07.599
call it pushing to the stack. And when a mathematical

00:04:07.599 --> 00:04:10.199
operation needs to use a number, it removes it

00:04:10.199 --> 00:04:12.060
from the very top of the pile, which we call

00:04:12.060 --> 00:04:15.280
popping it off the stack. Push and pop. Simple

00:04:15.280 --> 00:04:17.420
enough. So let's walk you through a slightly

00:04:17.420 --> 00:04:19.899
more complex equation to see this in action.

00:04:20.379 --> 00:04:22.540
Let's step away from simple addition and take

00:04:22.540 --> 00:04:26.060
the standard math problem. 3 minus 4 plus 5.

00:04:26.319 --> 00:04:29.000
Okay, let's trace the physical workflow on an

00:04:29.000 --> 00:04:31.920
RPN calculator. First, you type the number 3

00:04:31.920 --> 00:04:35.180
and hit the Enter key. That pushes the 3 onto

00:04:35.180 --> 00:04:36.959
your empty stack. Your first plate is loaded.

00:04:37.220 --> 00:04:40.910
Then you type 4 and hit Enter. Now the 4 is sitting

00:04:40.910 --> 00:04:43.170
directly on top of the 3 in your mental plate

00:04:43.170 --> 00:04:46.230
dispenser. Next, you hit the minus key. The calculator

00:04:46.230 --> 00:04:48.709
sees that minus key, so it immediately pops the

00:04:48.709 --> 00:04:50.730
top two numbers off the stack, the 4 and the

00:04:50.730 --> 00:04:54.410
3. Right. It subtracts 4 from 3, gets a result

00:04:54.410 --> 00:04:57.089
of negative 1, and pushes that negative 1 right

00:04:57.089 --> 00:04:59.149
back onto the top of the stack. So the original

00:04:59.149 --> 00:05:01.129
numbers are totally gone, and you just have a

00:05:01.129 --> 00:05:03.110
negative 1 sitting there waiting. Waiting for

00:05:03.110 --> 00:05:06.069
the next instruction. Exactly. Then you move

00:05:06.069 --> 00:05:08.129
to the next part of the problem. You type 5.

00:05:08.370 --> 00:05:10.990
You push that onto the stack on top of the negative

00:05:10.990 --> 00:05:13.810
1. Finally, you hit the plus key. The calculator

00:05:13.810 --> 00:05:16.649
pops the 5 and the negative 1, adds them together,

00:05:16.810 --> 00:05:20.149
and pushes the final answer, 4, onto the stack.

00:05:20.610 --> 00:05:23.029
And you're done. What's fascinating here is when

00:05:23.029 --> 00:05:25.209
you use this system, you completely eliminate

00:05:25.209 --> 00:05:27.470
the need for the order of operations. That's

00:05:27.470 --> 00:05:30.149
the real magic. You don't need to remember, please

00:05:30.149 --> 00:05:32.870
excuse my dear Aunt Sally or PEMDAS or any of

00:05:32.870 --> 00:05:34.829
that. You never have to worry about whether multiplication

00:05:34.829 --> 00:05:36.990
should happen before addition because you are

00:05:36.990 --> 00:05:39.689
actively dictating the exact flow of the math

00:05:39.689 --> 00:05:41.930
as you input it. And crucially, you completely

00:05:41.930 --> 00:05:45.129
eliminate the need for parentheses. Every single

00:05:45.129 --> 00:05:47.670
equation, no matter how monstrously complex,

00:05:48.069 --> 00:05:50.610
can just be evaluated linearly. left to right

00:05:50.610 --> 00:05:53.230
that is the massive aha moment for most people

00:05:53.230 --> 00:05:55.290
let's look at an equation that normally requires

00:05:55.290 --> 00:05:58.129
parentheses like open bracket three plus four

00:05:58.129 --> 00:06:00.529
close bracket multiplied by open bracket five

00:06:00.529 --> 00:06:03.329
plus six close bracket in standard notation you

00:06:03.329 --> 00:06:06.509
absolutely need those brackets to force the calculator

00:06:06.509 --> 00:06:09.370
to do the addition blocks first before it tackles

00:06:09.370 --> 00:06:10.990
a multiplication in the middle but let's look

00:06:10.990 --> 00:06:13.149
at how beautifully simple this is with an rpn

00:06:13.149 --> 00:06:16.069
stack walk us through the exact stack progression

00:06:16.069 --> 00:06:18.810
for that one sure you push your three then push

00:06:18.810 --> 00:06:21.579
your four You hit the plus key, the calculator

00:06:21.579 --> 00:06:25.879
pops them, adds them, and pushes a 7 to the stack.

00:06:26.079 --> 00:06:28.300
You just leave it sitting there. Okay, so a 7

00:06:28.300 --> 00:06:30.839
is on plate 1. Right. Next, you push your 5 and

00:06:30.839 --> 00:06:33.680
push your 6. You hit the plus key again. The

00:06:33.680 --> 00:06:35.839
calculator pops the 5 and 6, adds them, and pushes

00:06:35.839 --> 00:06:38.399
an 11. So now, if you look at your stack, you

00:06:38.399 --> 00:06:40.980
have an 11 sitting right on top of that 7 from

00:06:40.980 --> 00:06:43.000
the first part of the problem. Exactly. Finally,

00:06:43.040 --> 00:06:45.100
you hit the multiply key. The calculator grabs

00:06:45.100 --> 00:06:47.860
the top two plates, the 11 and the 7, multiplies

00:06:47.860 --> 00:06:50.519
them, and gives you 77. The machine never needed

00:06:50.519 --> 00:06:53.100
to know about brackets or priorities. It just

00:06:53.100 --> 00:06:56.120
followed your precise step -by -step logic. Getting

00:06:56.120 --> 00:06:58.740
a machine to operate with that level of unbroken

00:06:58.740 --> 00:07:01.439
flow took some serious intellectual leaps in

00:07:01.439 --> 00:07:03.540
history. Which brings up a question I'm still

00:07:03.540 --> 00:07:06.600
hung up on. The name. Reverse Polish notation

00:07:06.600 --> 00:07:09.680
sounds like a very specific origin story. Who

00:07:09.680 --> 00:07:12.259
exactly was Polish and what were they reversing?

00:07:12.300 --> 00:07:14.879
The name traces back to a logician named John

00:07:14.879 --> 00:07:18.100
Łukasiewicz. He was a brilliant Polish mathematician

00:07:18.100 --> 00:07:22.060
who, back in 1924, invented the prefix version

00:07:22.060 --> 00:07:24.060
of this system. Which was just called Polish

00:07:24.060 --> 00:07:26.680
notation, right? Correct. In his version, the

00:07:26.680 --> 00:07:29.759
operators came before the operands. So that addition

00:07:29.759 --> 00:07:32.360
equation would be written as plus 3, 4. It was

00:07:32.360 --> 00:07:34.399
a massive breakthrough in formal logic because

00:07:34.399 --> 00:07:36.459
it completely removed ambiguity from written

00:07:36.459 --> 00:07:39.040
mathematical expressions. But it was the reverse

00:07:39.040 --> 00:07:41.759
of that concept, putting the operator at the

00:07:41.759 --> 00:07:44.680
very end, that really caught fire decades later

00:07:44.680 --> 00:07:46.639
when people started trying to build the first

00:07:46.639 --> 00:07:48.720
computing machines. Yes, the postfix version.

00:07:48.860 --> 00:07:51.720
That takes us to the very first computer to actually

00:07:51.720 --> 00:07:53.879
implement this reverse notation in its hardware.

00:07:54.279 --> 00:07:57.620
Conrad Zuse's Z3 computer, built in Germany way

00:07:57.620 --> 00:08:00.519
back in 1941. The sources say that in dialogue

00:08:00.519 --> 00:08:03.079
mode, the Z3 allowed an operator to enter two

00:08:03.079 --> 00:08:05.240
operands, followed by the desired operation.

00:08:05.579 --> 00:08:07.379
It's basically functioning like a giant room

00:08:07.379 --> 00:08:10.110
-sized RPM calculator. But the history of the

00:08:10.110 --> 00:08:13.490
Z3 adds a layer of real -world drama to this

00:08:13.490 --> 00:08:16.230
timeline. The machine was completely destroyed

00:08:16.230 --> 00:08:18.930
in an Allied bombing raid on Berlin in December

00:08:18.930 --> 00:08:23.050
1943. Which is a huge historical tragedy for

00:08:23.050 --> 00:08:26.370
computer science. Because of the war, Zuse's

00:08:26.370 --> 00:08:28.470
brilliant implementation remained essentially

00:08:28.470 --> 00:08:31.620
unknown outside of Germany. for a very long time.

00:08:31.660 --> 00:08:33.399
They actually had to build a working replica

00:08:33.399 --> 00:08:37.279
of it much later in 1961 just to prove it existed

00:08:37.279 --> 00:08:39.580
and functioned the way he claimed. Right. So

00:08:39.580 --> 00:08:41.559
because that initial breakthrough was lost to

00:08:41.559 --> 00:08:43.779
the world during the war, the concept of reverse

00:08:43.779 --> 00:08:46.919
Polish notation had to be reborn. The sources

00:08:46.919 --> 00:08:49.700
paint this incredible narrative of convergent

00:08:49.700 --> 00:08:52.450
evolution. The problem of how to make a machine

00:08:52.450 --> 00:08:55.370
process complex math efficiently was so universal

00:08:55.370 --> 00:08:57.990
that brilliant minds across the globe just kept

00:08:57.990 --> 00:09:00.129
independently arriving at the exact same logical

00:09:00.129 --> 00:09:02.289
conclusion. It wasn't just a handful of people

00:09:02.289 --> 00:09:05.669
in one lab. In 1954, the reverse Polish scheme

00:09:05.669 --> 00:09:07.490
was proposed independently in the United States

00:09:07.490 --> 00:09:09.549
by Arthur Birx, Don Warren, and Jesse Wright.

00:09:09.899 --> 00:09:12.159
And then, just a few years later, a philosopher

00:09:12.159 --> 00:09:14.139
and computer scientist named Charles Hamblin

00:09:14.139 --> 00:09:17.000
in Australia was staring down these massive early

00:09:17.000 --> 00:09:20.399
computers and realized the fatal flaw in how

00:09:20.399 --> 00:09:23.220
they processed logic. He extended the algorithms

00:09:23.220 --> 00:09:25.620
and notation for a programming language called

00:09:25.620 --> 00:09:28.620
George. Hamblin realized early computers were

00:09:28.620 --> 00:09:31.000
wasting an enormous amount of their limited processing

00:09:31.000 --> 00:09:34.960
power trying to assign a specific named memory

00:09:34.960 --> 00:09:37.620
address to every single intermediate step of

00:09:37.620 --> 00:09:39.740
a calculation. But if you used a stack, you didn't

00:09:39.740 --> 00:09:41.559
need to name the memory slots. You just pushed

00:09:41.559 --> 00:09:45.000
and popped. Exactly. Then, in the early 60s,

00:09:45.059 --> 00:09:47.580
it gets reinvented yet again by Friedrich L.

00:09:47.659 --> 00:09:51.330
Bauer and Edgar W. Dijkstra. Dykstra is an absolute

00:09:51.330 --> 00:09:53.970
legend in computer science. He created something

00:09:53.970 --> 00:09:56.330
called the shunting yard algorithm to automatically

00:09:56.330 --> 00:09:59.049
convert normal, human -readable, infixed math

00:09:59.049 --> 00:10:01.909
into reverse Polish notation so that the computer

00:10:01.909 --> 00:10:04.190
could actually digest it. The name of that algorithm

00:10:04.190 --> 00:10:07.289
is so evocative. Let's visualize a physical train

00:10:07.289 --> 00:10:09.009
yard for a second to understand how Dykstra's

00:10:09.009 --> 00:10:12.669
mind worked. I love this analogy. Imagine a mathematical

00:10:12.669 --> 00:10:15.129
equation coming down the railroad tracks like

00:10:15.129 --> 00:10:18.149
a mixed -up freight train. You have number cars

00:10:18.149 --> 00:10:21.090
and operator cars all coupled together. The algorithm

00:10:21.090 --> 00:10:23.789
acts like the switch operator in the locomotive.

00:10:23.870 --> 00:10:27.090
Right. As the train arrives, the locomotive pushes

00:10:27.090 --> 00:10:29.230
the number car straight through onto the main

00:10:29.230 --> 00:10:32.070
output track. But when it hits an operator car,

00:10:32.230 --> 00:10:35.090
like a plus or minus sign, it shunts it off onto

00:10:35.090 --> 00:10:37.970
a side track, temporarily holding it there. It

00:10:37.970 --> 00:10:40.570
keeps pushing numbers to the main track and only

00:10:40.570 --> 00:10:43.169
pulls the operators off the siding and attaches

00:10:43.169 --> 00:10:45.370
them to the back of the train when the order

00:10:45.370 --> 00:10:47.549
of operations dictates it. By the time the train

00:10:47.549 --> 00:10:49.450
leaves the yard, the cars have been completely

00:10:49.450 --> 00:10:52.629
reorganized into perfect reverse Polish notation.

00:10:52.929 --> 00:10:55.370
If we connect this to the bigger picture, you

00:10:55.370 --> 00:10:57.370
really have to understand why all these different

00:10:57.370 --> 00:10:59.990
scientists, from an Australian philosopher to

00:10:59.990 --> 00:11:02.230
American hardware engineers like Robert S. Barton,

00:11:02.309 --> 00:11:05.289
were converging on this one idea. Barton developed

00:11:05.289 --> 00:11:07.629
an RPN architecture for the massive Burroughs

00:11:07.629 --> 00:11:12.009
B5000 computer in 1958, right? Yes. And the reason

00:11:12.009 --> 00:11:14.269
they all kept finding this solution was hardware

00:11:14.269 --> 00:11:17.169
limitations. Early computers had virtually no

00:11:17.169 --> 00:11:20.529
memory. Magnetic core memory was incredibly expensive,

00:11:20.929 --> 00:11:24.289
physically huge, and generated a ton of heat.

00:11:24.509 --> 00:11:26.590
Every single time a computer had to store an

00:11:26.590 --> 00:11:29.350
intermediate number, log its location, and then

00:11:29.350 --> 00:11:32.389
retrieve it later, it cost precious time and

00:11:32.389 --> 00:11:35.509
physical resources. RPN drastically reduced memory

00:11:35.509 --> 00:11:38.710
access. By using that simple spring -loaded stack,

00:11:39.029 --> 00:11:41.750
early machines could evaluate wildly complex

00:11:41.750 --> 00:11:45.139
equations with... absolute minimal hardware overhead

00:11:45.139 --> 00:11:47.759
it was the ultimate life hack for a machine with

00:11:47.759 --> 00:11:50.559
limited brain power and as computing technology

00:11:50.559 --> 00:11:53.259
slowly began to shrink down from the size of

00:11:53.259 --> 00:11:55.919
a room to the size of desk that incredible efficiency

00:11:55.919 --> 00:11:58.340
became the killer feature for the next frontier

00:11:58.340 --> 00:12:00.879
of tech the desktop era Here's where it gets

00:12:00.879 --> 00:12:02.820
really interesting, because we are entering the

00:12:02.820 --> 00:12:05.580
golden age of the calculator wars. The transition

00:12:05.580 --> 00:12:08.080
to desktop machines meant every ounce of efficiency

00:12:08.080 --> 00:12:10.620
mattered even more. You were no longer dealing

00:12:10.620 --> 00:12:13.019
with massive cooling systems and unlimited power

00:12:13.019 --> 00:12:16.299
supplies. In June 1963, a company called Freyden

00:12:16.299 --> 00:12:19.159
introduced RPN to the commercial desktop calculator

00:12:19.159 --> 00:12:22.000
market with a machine called the EC -130. This

00:12:22.000 --> 00:12:24.340
thing was an absolute beauty of mid -century

00:12:24.340 --> 00:12:27.139
engineering. It didn't have an LCD screen. It

00:12:27.139 --> 00:12:30.970
had a cathode ray tube display. like a tiny glowing

00:12:30.970 --> 00:12:33.990
green television screen that showed a four -level

00:12:33.990 --> 00:12:36.909
stack. But here's the wild part. It showed the

00:12:36.909 --> 00:12:40.529
stack upside down. The last in -first -out working

00:12:40.529 --> 00:12:42.570
register was sitting at the very bottom of the

00:12:42.570 --> 00:12:45.149
screen, and the older numbers were rising up

00:12:45.149 --> 00:12:47.269
to the top. It was a revolutionary moment for

00:12:47.269 --> 00:12:49.230
an engineer to be able to physically see the

00:12:49.230 --> 00:12:51.409
contents of the computer's memory stack right

00:12:51.409 --> 00:12:53.769
in front of them glowing on a screen. It completely

00:12:53.769 --> 00:12:56.559
changed how they interacted with the data. But

00:12:56.559 --> 00:12:58.600
while Fryden was early to the game, it was another

00:12:58.600 --> 00:13:01.179
company that would take RPN, refine it, and turn

00:13:01.179 --> 00:13:03.340
it into a global phenomenon. Hewlett Packard.

00:13:03.440 --> 00:13:06.460
HP absolutely dominated the space for decades.

00:13:06.840 --> 00:13:10.220
Total domination. In 1968, HP engineers designed

00:13:10.220 --> 00:13:13.779
the 9100A desktop calculator. It used a three

00:13:13.779 --> 00:13:15.799
-level stack. They called the working registers

00:13:15.799 --> 00:13:18.429
X for the keyboard input. Y to accumulate the

00:13:18.429 --> 00:13:21.350
data, and Z for temporary storage. That machine

00:13:21.350 --> 00:13:23.850
popularized RPN among the scientific community,

00:13:24.129 --> 00:13:26.950
but the real earth -shattering game -changer

00:13:26.950 --> 00:13:30.210
came four years later. 1972, the release of the

00:13:30.210 --> 00:13:33.750
HP -35, the world's first handheld, pocket -sized

00:13:33.750 --> 00:13:36.679
scientific calculator. This is the device that

00:13:36.679 --> 00:13:39.120
essentially killed the physical wooden slide

00:13:39.120 --> 00:13:42.080
rule overnight. You had engineers out on surveying

00:13:42.080 --> 00:13:44.700
sites or working in Apollo -era aerospace labs

00:13:44.700 --> 00:13:46.960
throwing away the tools they had used for their

00:13:46.960 --> 00:13:49.379
entire careers because this little plastic brick

00:13:49.379 --> 00:13:51.600
could do it better. It introduced the classical

00:13:51.600 --> 00:13:55.659
four -level RPM stag, labeled X, Y, Z, and T

00:13:55.659 --> 00:13:59.070
for top. HP established a very specific, rigid

00:13:59.070 --> 00:14:01.929
rule set for that stack that became absolute

00:14:01.929 --> 00:14:04.750
gospel for engineers. For instance, it had an

00:14:04.750 --> 00:14:06.909
automatic stack lift feature. When you dropped

00:14:06.909 --> 00:14:09.789
numbers off the stack during a calculation, the

00:14:09.789 --> 00:14:11.990
machine would automatically duplicate the top

00:14:11.990 --> 00:14:14.850
register to save you keystrokes in certain repetitive

00:14:14.850 --> 00:14:17.529
calculations. It was meticulously designed for

00:14:17.529 --> 00:14:19.769
power users who needed to work fast in the field.

00:14:19.889 --> 00:14:22.309
And those power users absolutely worshipped it.

00:14:22.350 --> 00:14:24.950
RPN achieved total cult status in the engineering

00:14:24.950 --> 00:14:28.009
world. used reverse Polish notation on every

00:14:28.009 --> 00:14:30.529
single handheld calculator it sold, scientific,

00:14:30.610 --> 00:14:33.169
financial, programmable models, all the way until

00:14:33.169 --> 00:14:36.850
1977. Our source mentions this incredible, highly

00:14:36.850 --> 00:14:39.590
memorable detail about that corporate pride.

00:14:40.169 --> 00:14:43.649
In the 1980s, HP actually produced a promotional

00:14:43.649 --> 00:14:47.149
baseball hat for its employees and fans that

00:14:47.149 --> 00:14:50.470
simply said, No equals. That is a brilliant piece

00:14:50.470 --> 00:14:52.529
of marketing with a double meaning. It was a

00:14:52.529 --> 00:14:55.370
boast, obviously, saying that HP calculators

00:14:55.370 --> 00:14:57.429
had no equals in the marketplace in terms of

00:14:57.429 --> 00:14:59.990
quality and precision. But it was also a literal

00:14:59.990 --> 00:15:03.309
nerdy inside joke. RPN calculators physically

00:15:03.309 --> 00:15:05.330
do not have an equals button on the keyboard.

00:15:05.570 --> 00:15:07.409
You just hit the enter key to push things to

00:15:07.409 --> 00:15:09.889
the stack, and the operators themselves instantly

00:15:09.889 --> 00:15:12.490
execute the math. There is no need to ask the

00:15:12.490 --> 00:15:14.750
machine to evaluate an entire string at the very

00:15:14.750 --> 00:15:17.259
end. HP's commitment to the stack format didn't

00:15:17.259 --> 00:15:19.759
stop with basic arithmetic, though. By 1986,

00:15:20.159 --> 00:15:22.419
they evolved the fundamental concept into something

00:15:22.419 --> 00:15:25.639
much broader called RPL, or reverse Polish language.

00:15:25.919 --> 00:15:28.100
The paradigm shift from the classic RPN to this

00:15:28.100 --> 00:15:31.240
new RPL was huge. The classic RPN on those early

00:15:31.240 --> 00:15:33.360
calculators had a fixed stack, usually three

00:15:33.360 --> 00:15:37.419
or four levels, like X, Y, Z, and T. If you pushed

00:15:37.419 --> 00:15:39.659
too many numbers onto that mental plate dispenser,

00:15:39.799 --> 00:15:41.960
the ones at the very bottom just fell off the

00:15:41.960 --> 00:15:43.860
bottom of the machine and were lost to the void

00:15:43.860 --> 00:15:47.059
forever. RPL introduced an unlimited dynamic

00:15:47.059 --> 00:15:49.799
stack. It was only limited by the calculator's

00:15:49.799 --> 00:15:52.500
total available system memory. But more importantly,

00:15:52.740 --> 00:15:55.779
RPL was object -oriented. Instead of just holding

00:15:55.779 --> 00:16:00.259
a single, simple number like 4 or 72, the stack

00:16:00.259 --> 00:16:03.159
could now hold complex data. You could push entire

00:16:03.159 --> 00:16:05.679
paragraphs of text strings. You could push complex

00:16:05.679 --> 00:16:08.100
matrices, which are basically massive grids of

00:16:08.100 --> 00:16:10.759
numbers. You could push algebraic symbols or

00:16:10.759 --> 00:16:13.240
even entire software programs onto the stack.

00:16:13.419 --> 00:16:15.559
It fundamentally changed how users interacted

00:16:15.559 --> 00:16:18.000
with the machine, turning calculators from simple

00:16:18.000 --> 00:16:21.440
math tools into incredibly powerful, programmable

00:16:21.440 --> 00:16:24.659
pocket computers. Hearing all this history, you

00:16:24.659 --> 00:16:26.539
might be asking yourself a very reasonable question.

00:16:26.970 --> 00:16:29.110
if this system requires learning a whole new

00:16:29.110 --> 00:16:31.990
way of thinking about math and completely rewiring

00:16:31.990 --> 00:16:34.669
how you process numbers why did it have such

00:16:34.669 --> 00:16:36.970
a passionate following did it actually make a

00:16:36.970 --> 00:16:38.590
difference in the day -to -day work of an engineer

00:16:38.590 --> 00:16:41.649
it ultimately comes down to ergonomics and speed

00:16:42.169 --> 00:16:44.190
Researchers actually studied this extensively

00:16:44.190 --> 00:16:46.710
during the calculator wars. Ergonomic testing

00:16:46.710 --> 00:16:49.629
comparing traditional algebraic notation to reverse

00:16:49.629 --> 00:16:53.230
Polish notation found that RPN leads to significantly

00:16:53.230 --> 00:16:55.809
faster calculations. Because you aren't constantly

00:16:55.809 --> 00:16:58.750
hunting around the keypad for the open and close

00:16:58.750 --> 00:17:01.190
parentheses keys. Precisely. You never have to

00:17:01.190 --> 00:17:04.210
type parentheses, which means fewer total keystrokes

00:17:04.210 --> 00:17:07.369
to enter a typical complex calculation. If a

00:17:07.369 --> 00:17:10.109
problem takes 30 keystrokes on a standard calculator,

00:17:10.390 --> 00:17:13.230
it might only take 20 on an RPN machine. Over

00:17:13.230 --> 00:17:15.730
the course of an eight -hour workday, that efficiency

00:17:15.730 --> 00:17:18.890
compounds massively. Furthermore, the studies

00:17:18.890 --> 00:17:21.710
found that users of RPN calculators made fewer

00:17:21.710 --> 00:17:24.490
overall mistakes. The workflow forces you to

00:17:24.490 --> 00:17:26.730
break a complex problem down into its logical

00:17:26.730 --> 00:17:29.799
steps, evaluating from the inside out. It was

00:17:29.799 --> 00:17:31.980
highly intuitive for engineers because it closely

00:17:31.980 --> 00:17:34.059
mirrored how they used to physically work through

00:17:34.059 --> 00:17:36.619
problems on a traditional slide rule. You calculate

00:17:36.619 --> 00:17:38.680
a small piece of the problem, you physically

00:17:38.680 --> 00:17:41.019
hold that result, you calculate the next small

00:17:41.019 --> 00:17:43.119
piece, and then you combine them. To balance

00:17:43.119 --> 00:17:46.259
that out, the sources also note some strong anecdotal

00:17:46.259 --> 00:17:49.500
evidence from the other side of the aisle. RPN

00:17:49.500 --> 00:17:51.960
is notoriously difficult to learn if you were

00:17:51.960 --> 00:17:54.440
already raised on algebraic notation in grade

00:17:54.440 --> 00:17:57.579
school. Your brain is hardwired to hear 3 plus

00:17:57.579 --> 00:18:01.059
4. So retraining it to think 3 and or 4 plus

00:18:01.059 --> 00:18:03.519
feels a lot like trying to write a letter with

00:18:03.519 --> 00:18:05.940
your non -dominant hand. It is an undeniably

00:18:05.940 --> 00:18:09.539
steep learning curve. The friction is real. But

00:18:09.539 --> 00:18:11.900
once that workflow clicks in your brain, many

00:18:11.900 --> 00:18:14.039
people claim they can never go back to a standard

00:18:14.039 --> 00:18:16.539
calculator. So what does this all mean for us

00:18:16.539 --> 00:18:19.559
today? Is RPN just a museum piece for vintage

00:18:19.559 --> 00:18:22.279
calculator collectors and tech historians? Not

00:18:22.279 --> 00:18:24.559
at all. Its footprint in modern software is actually

00:18:24.559 --> 00:18:27.319
quite vast. even if it's hidden deeply under

00:18:27.319 --> 00:18:29.720
the hood where most consumers never see it. For

00:18:29.720 --> 00:18:31.859
example, it is still the underlying logic used

00:18:31.859 --> 00:18:34.160
in stack -oriented programming languages like

00:18:34.160 --> 00:18:36.400
Forth. And if you ever open up a standard Unix

00:18:36.400 --> 00:18:38.680
operating system and use the command line calculator

00:18:38.680 --> 00:18:41.299
program, which is called DC, you are interacting

00:18:41.299 --> 00:18:43.940
directly with RPN. The application that I found

00:18:43.940 --> 00:18:46.079
most surprising today actually has nothing to

00:18:46.079 --> 00:18:49.359
do with calculators or typing numbers into a

00:18:49.359 --> 00:18:51.640
terminal. It's PostScript. For anyone unfamiliar,

00:18:51.980 --> 00:18:54.140
this is the page description language that tells

00:18:54.140 --> 00:18:56.519
modern printers exactly how to print documents.

00:18:56.900 --> 00:19:00.299
All those beautiful, complex graphics, the varied

00:19:00.299 --> 00:19:03.480
typography, the intricate layouts that your computer

00:19:03.480 --> 00:19:06.420
sends over to a laser printer, that data is often

00:19:06.420 --> 00:19:09.000
being processed using reverse Polish notation.

00:19:09.609 --> 00:19:11.609
Let's provide a bit of context on why that is.

00:19:12.109 --> 00:19:15.089
Printers historically have had incredibly limited

00:19:15.089 --> 00:19:17.569
internal memory compared to the computer sending

00:19:17.569 --> 00:19:20.670
them files. Right. When a computer sends a massive

00:19:20.670 --> 00:19:23.930
high resolution image file to a printer, the

00:19:23.930 --> 00:19:26.349
printer can't always hold the entire page layout

00:19:26.349 --> 00:19:28.849
in its memory all at once before figuring out

00:19:28.849 --> 00:19:31.609
how to print it. RPN allows the printer to process

00:19:31.609 --> 00:19:34.509
the document piece by piece linearly as it reads

00:19:34.509 --> 00:19:36.869
the incoming data. Popping instructions off the

00:19:36.869 --> 00:19:38.809
stack and executing them immediately without

00:19:38.809 --> 00:19:40.690
needing to buffer the whole file is brilliant.

00:19:40.890 --> 00:19:43.970
The global footprint of this logic is also staggering.

00:19:44.250 --> 00:19:47.329
It wasn't just confined to American tech giants

00:19:47.329 --> 00:19:50.930
like HP or Burroughs. In Britain. Clive Sinclair's

00:19:50.930 --> 00:19:53.970
famous ultra -thin calculators in the mid -70s

00:19:53.970 --> 00:19:56.490
used it. Commodore implemented versions of it.

00:19:56.589 --> 00:19:58.789
And it was absolutely huge in the Soviet Union.

00:19:58.930 --> 00:20:01.529
The legendary Soviet programmable calculators

00:20:01.529 --> 00:20:05.470
like the MK -52 and MK -61 used RPN for both

00:20:05.470 --> 00:20:07.849
their manual modes and for complex programming.

00:20:08.170 --> 00:20:10.329
These were the highly robust calculators physically

00:20:10.329 --> 00:20:12.849
taken into space by Soviet cosmonauts on the

00:20:12.849 --> 00:20:15.049
Soyuz missions. It just goes to show that the

00:20:15.049 --> 00:20:17.390
underlying logic of a stack -based architecture

00:20:17.390 --> 00:20:20.640
transcends borders. languages, and politics.

00:20:20.940 --> 00:20:24.539
It is just pure, unadulterated mathematical efficiency.

00:20:24.980 --> 00:20:28.390
And that legacy actively lives on today. Enthusiast

00:20:28.390 --> 00:20:30.930
hardware companies like Swiss Micros are currently

00:20:30.930 --> 00:20:33.890
manufacturing high -end, modern calculators that

00:20:33.890 --> 00:20:37.170
faithfully recreate the classic HP RPN experience.

00:20:37.549 --> 00:20:39.890
For a brand new generation of engineers and financial

00:20:39.890 --> 00:20:42.349
analysts who want that tactile, hyper -efficient

00:20:42.349 --> 00:20:44.750
workflow right on their desk. Which is just so

00:20:44.750 --> 00:20:47.369
cool. It proves that a genuinely great idea doesn't

00:20:47.369 --> 00:20:49.890
truly die just because the mainstream consumer

00:20:49.890 --> 00:20:52.170
market moves on to something shinier. This raises

00:20:52.170 --> 00:20:53.950
an important question as we look back at the

00:20:53.950 --> 00:20:57.259
entire history we've discussed today. a quirky

00:20:57.259 --> 00:20:59.819
historical artifact or a neat parlor trick for

00:20:59.819 --> 00:21:03.420
math nerds. It is an incredibly elegant, mathematically

00:21:03.420 --> 00:21:07.420
pure way of processing logic. It completely removes

00:21:07.420 --> 00:21:10.420
ambiguity from written equations. It perfectly

00:21:10.420 --> 00:21:12.940
aligns human input with the way machine processing

00:21:12.940 --> 00:21:15.380
actually works at a fundamental hardware level.

00:21:15.480 --> 00:21:18.019
Yeah. It is a bridge between the messy human

00:21:18.019 --> 00:21:21.319
mind and the rigid logic of a silicon chip. Which

00:21:21.319 --> 00:21:23.940
brings me to a final lingering thought I want

00:21:23.940 --> 00:21:26.220
you to mull over after we wrap up today's deep

00:21:26.220 --> 00:21:28.900
dive. The ergonomic research we talked about

00:21:28.900 --> 00:21:31.279
showed pretty conclusively that RPN is fundamentally

00:21:31.279 --> 00:21:35.140
faster. It requires fewer keystrokes. It is demonstrably

00:21:35.140 --> 00:21:37.960
less prone to user error when doing complex math.

00:21:38.349 --> 00:21:40.869
Yet society largely abandoned it in consumer

00:21:40.869 --> 00:21:43.210
electronics. The mass market rejected it simply

00:21:43.210 --> 00:21:45.509
because the initial learning curve felt too alien

00:21:45.509 --> 00:21:47.329
to people who are used to writing things down

00:21:47.329 --> 00:21:50.230
on paper in the traditional algebraic way. We

00:21:50.230 --> 00:21:52.289
collectively traded peak efficiency and accuracy

00:21:52.289 --> 00:21:54.869
for the warm comfort of familiarity. We chose

00:21:54.869 --> 00:21:58.099
what was easy over what was best. Exactly. So

00:21:58.099 --> 00:21:59.980
if we are willing to make that trade -off with

00:21:59.980 --> 00:22:02.420
the calculators in our pockets, sacrificing the

00:22:02.420 --> 00:22:04.960
absolute best, most efficient method just because

00:22:04.960 --> 00:22:07.700
we're afraid of a steep learning curve, what

00:22:07.700 --> 00:22:10.220
other modern software tools, workplace workflows,

00:22:10.480 --> 00:22:12.619
or daily life systems are we currently using

00:22:12.619 --> 00:22:15.640
that are vastly less productive simply because

00:22:15.640 --> 00:22:17.779
we prefer the devil we know? That is a great

00:22:17.779 --> 00:22:20.420
question to leave on. Thank you so much for joining

00:22:20.420 --> 00:22:22.920
us for this deep dive into the fascinating upside

00:22:22.920 --> 00:22:25.720
down world of reverse Polish notation. Stay curious

00:22:25.720 --> 00:22:28.559
out there. And hey, maybe go download an RPN

00:22:28.559 --> 00:22:30.799
calculator emulator on your phone today. Try

00:22:30.799 --> 00:22:32.940
it out. Give it a solid week of use. See if it

00:22:32.940 --> 00:22:34.539
changes the way you think about breaking down

00:22:34.539 --> 00:22:35.319
and solving problems.
