Giving Good Commands: Be Specific Imagine you have a robot chef. You walk into the kitchen and say: "Make something to eat." The robot chef stares at you. Make what ? Breakfast? Dinner? Three courses? A bowl of cereal? A gourmet meal? Your command was technically understandable — but it was not specific enough to act on. The robot cannot guess what you actually want. So it does nothing, or it guesses and makes the wrong thing. Now try: "Make one slice of white toast with butter." The robot gets to work immediately. There is one correct result, and it can achieve it. Four Things Every Good Command Needs A good command answers all four of these questions: Question What It Means --- --- What to do The action — what kind of thing should happen? On what Which thing is being acted on? How Any details about the way it should be done How much / how many A specific amount, if relevant Applied to the toast example: Question Answer --- --- What to do Make toast On what White bread How Toasted, with butter How much / how many One slice All four answered → a clear, actionable command. When Commands Go Wrong Here are common ways a command can fail, and why: Too vague Imagine your robot is in the kitchen and you say: > ❌ "Get me something to drink." The robot opens the fridge. There is water, juice, milk, a leftover smoothie, and a fizzy drink. Which one? How much? In a glass, a bottle, or a mug? The robot cannot guess. It either does nothing — or it picks the wrong thing. > ✅ "Pour 200ml of orange juice into a glass and bring it to me." Now there is only one correct answer. The robot gets it right every time. Missing a target Your robot is tidying the room and you say: > ❌ "Pick it up." Pick what up? The toy on the floor? The book on the chair? The biscuit wrapper near the bin? There are ten things on the floor. "It" could mean any of them. > ✅ "Pick up the red football near the door and put it in the toy box." Contradictory You are playing a game and tell the robot: > ❌ "Move forward but stay where you are." This is impossible. Moving forward means leaving the current position. Staying means not moving. Both cannot be true at the same time. A robot — or a computer — cannot follow an instruction that contradicts itself. It will either freeze or do one thing and ignore the other. > ✅ "Move forward three steps, then stop." Too many things bundled together You tell the robot: > ❌ "Tidy the room, make my bed, pack my school bag, and get me breakfast — go!" That is four separate jobs handed over at the same moment. Which one comes first? Should they happen at the same time? What if making the bed needs to happen before tidying, because the blanket is on the floor? Computers do better when you give them one clear job at a time, in the right order. > ✅ Give four separate commands in order: > 1. "Tidy the room." > 2. "Make the bed." > 3. "Pack the school bag." > 4. "Prepare breakfast." You Already Do This Well Without thinking about it, you already give specific commands in your daily life: You do not say "set an alarm" — you say "set an alarm for 7:30 AM on weekdays" You do not say "search for something" — you type the exact words you want You do not say "order food" — you say "one medium margherita pizza, no mushrooms, thin crust" Specificity is something you naturally know matters when you want the right result. Programming is just applying that same instinct to instructions for computers. Computers Do Exactly What You Say Here is the hardest part to get used to: computers do exactly what you say, not what you meant. If your command has a small mistake, the computer will follow the mistaken version — every single time, perfectly consistently. This sounds frustrating at first. But it is actually the computer being reliable. A correct command always produces the correct result. An incorrect command always produces the incorrect result. There are no surprises — just the result of what you wrote. The programmer's job is to write commands so clear and specific that there is only one possible way to carry them out. The Test of a Good Command Before giving a command, ask yourself: 1. Is there anything in this command that could mean two different things? 2. Could someone follow this instruction and end up doing the wrong thing? 3. Have I left out any information that is necessary to carry this out correctly? If the answer to any of these is yes — the command needs to be more specific. ✅ Summary A good command is specific, complete, and unambiguous . It answers: what to do, on what, how, and how much (if relevant). Vague commands have too many possible interpretations. Missing details produce errors. Contradictory commands cannot be followed. And computers do exactly what you say — not what you meant. The goal is to write commands so clear that there is only one possible correct result. Coming up next: Putting It All Together — how commands, receivers, specificity, and everything you have learned in this series work as one.