system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: What does it mean when a program was coded in assembly/assembler language?

My friend told me the first (Gameboy) Pokemon were coded with assembly, and said that must have been difficult. I looked it up in wikipedia but I have no idea what all those words mean. I just started programming, so I have a very basic idea of coding. 



Why is that language considered difficult? Was it super primitive or what?
gpt
Imagine you're a kid and you're at the grocery store with your mother. She needs you to go get some milk from the other side of the store while she looks at produce. Depending on how old you are, she might give you different instructions. The older you are (higher level programming languages like C, C++, Java, etc) the simpler her instructions can be. So if you're 15 she can just say:

"Go over to the back of the store and get me 1 gallon of milk."

But let's say you're only 9 years old (lower level assembly language) and you need a bit more instruction, so she tells you this instead:

"Go straight up this aisle, then left, then when you get to the end look on the right, there will be a case of dairy products. Open the case and grab a gallon of milk. Close the case and bring the milk back here to me."

The mother is effectively asking for the same thing, but the younger child (assembly language) has a much more primitive instruction set and needs exact details with each instruction, while the older child (higher level object oriented languages) already knows all of the details and you can just ask them to get some milk.

In actuality, EVERY programming language is ultimately compiled into the low level assembly code (which is even further reduced to binary 0s and 1s) that is specific to the machine it is running on. Assembly code for a TI-89 calculator is different than for a computer and usually based on the processor (or microcontroller) that is responsible for actually interpreting the assembly language machine codes.