There are always three parties involved in an algorithm—the one that writes the algorithm, the one that executes it, and the one that uses or enjoys it.

Let’s take an algorithm for preparing a meal, for example. Someone writes the algorithm (the author of the recipe book), someone executes it (probably your mother, who prepared the meal following the steps from the recipe book), and someone uses it (probably you, who enjoys the meal).

Now consider a real computer program. Let’s take a video game, for example. Someone writes the algorithm in a computer language (the programmer), someone or something executes it (usually a laptop or a computer), and someone else uses it or plays with it (the user).

Be careful, because sometimes the terms “programmer” and “user” can be confusing. When you write a computer program, for that period of time you are “the programmer.” However, when you use your own program, you are “the user.”