ELI5: Explain Like I'm 5

Programming by permutation

So, you know how when you're playing with blocks, you can build different things by putting them in different orders? Like you can make a tower by stacking the blocks on top of each other, or make a bridge by laying them flat? Well, programmers sometimes use something called "permutation" to make their programs do different things.

Permutation is just a fancy word for changing the order of things. In programming, this means changing the order that the computer does things in. For example, if you want to add two numbers together, you might write a program that looks like this:

1. Ask the user for the first number
2. Ask the user for the second number
3. Add the two numbers together
4. Display the result to the user

But, if you wanted to do things in a different order, you could use permutation to change the program. Maybe you want to add the numbers first and then ask the user for them. To do that, you could use this program:

1. Add the numbers together
2. Ask the user for the first number
3. Ask the user for the second number
4. Display the result to the user

See how the order is different? That's permutation in action! It lets programmers change the order of the steps in their programs to make them do different things.