Who is "You" Revisited


This could be the most important post I ever write.

I doubt that, but it is one of those things that will make a lot more sense to you later in the game. However I mention it now so I can refer back to it if I need it.

Who is "you"? I didn't say who ARE you ... you know who you are. But you don't know who "you" is.

Picture this: I ask a student how to ask the user for their name and report back to the screen and the student might say: First you put the input statement and then you enter your name then you print it on the screen.

Now, the word "you" shows up 3 times in that sentence and it means something different each time. First you is the programmer. Then you is the user. Finally you is the program itself.

It's really useful in programming, debugging, and designing good user interfaces (UI) to know (and say) exactly who is doing what. Here's a diagram to explain the different relationships between the user, the program, and the programmer.

It's interesting that there is no direct communication between the programmer and the user, but that is the most important relationship, isn't it? The programmer is writing programs presumably to be used by people... users. Yet there is no way for the coder to know exactly what happens from the user's point of view.

A good programmer can both imagine the user's experience (UX), and how the program behaves. That's right, a good programmer has to be 3 people at once. Phew... this is exhausting.

Next Post: Output Formatting

Recent Posts