When you're ready to make hummus, your friend sits next to you and translates the recipe into English as you go, line by line. The second way is if you have a friend who knows ancient Greek. Think of this translated recipe as the compiled version. You (and anyone else who can speak English) could read the English version of the recipe and make hummus. The first is if someone had already translated it into English for you. There are two ways you, a non-ancient-Greek speaker, could follow its directions. Imagine you have a hummus recipe that you want to make, but it's written in ancient Greek. Instead, a different program, aka the interpreter, reads and executes the code. In an interpreted language, the source code is not directly translated by the target machine. In a compiled language, the target machine directly translates the program. Compilers and interpreters take human-readable code and convert it to computer-readable machine code. Every program is a set of instructions, whether it’s to add two numbers or send a request over the internet.