small brain: programming is communicating to the computer what you want it to do
normal brain: programming is communicating to other people what you want the computer to do
galaxy brain: programming is communicating to yourself what the fuck you want to do
@selfsame *figuring out for yourself
@selfsame the correct answer would be all three of them
@selfsame good programmers consider these three as valid definitions of programming and apply them as well.
@selfsame hot brain: programming is more than one thing and the communication has more than one type of recipient.
@selfsame universe brain: programming is shouting into the void and hoping the void shouts back