1. imperative programming -> is like giving a chef step-by-step instructions on how to make a pizza.
  2. declarative programming -> is like ordering a pizza without being concerned about the steps it takes to make the pizza.