--[[ [previous](04-instruct.lua) | [contents](00-contents.lua) | [next](06-light-bulb.lua)

# Explain all the details

One important difference between a culinary recipe and a program is that recipes are written for people, but programs are also for computers to execute, so they need to be written in a language that computers understand.

Another important difference is that in a recipe some details are left vague. If a recipe says "take three eggs" it does not tell you where to get them; it is assumed you know how to do that. This does not (yet!) work with computers. You need to specify **every** detail in the program you are writing. This takes practice, so we will do some exercises in explaining ourselves in very basic terms. You will learn to think and write **exactly** what you mean.
]]