ELI5: Explain Like I'm 5

Concatenative programming language

Hello kiddo! A "concatenative programming language" is a way of writing computer programs that's a little different from what you're used to.

Instead of telling the computer what to do step-by-step, like we do in most programming languages, we put small pieces of code called "functions" in a line, or "concatenate" them together.

For example, we might have a function that adds two numbers together, called "add". We could write the code like this:

```
1 2 add
```

That means "take the number 1, take the number 2, and add them together using the 'add' function". The computer would do the math and give us the answer, which would be 3.

We can also make new functions by combining existing ones. For example, we could make a function called "double" that takes a number and multiplies it by 2:

```
2 *
```

Now we can use this to create a new function that adds two numbers and doubles the result:

```
add double
```

That means "take two numbers and add them together, then take the result and double it".

Concatenative languages have some advantages and disadvantages compared to other programming languages. One advantage is that they can be very concise and easy to read once you get used to them. But they can also be a little harder to understand at first, so it's not the most common kind of programming language.

Does that help?