June 30, 2009, Bucharest
Computer programming is a mean of communication. You communicate using a language with two very different types of interlocutors: computers (obviously) and people (not so obvious).
When talking to the computer, you have to be very careful at clarifying each nuance of your story. Computers don’t know how to interpret multiple means of the same word and phrase; you have to give them the exact words, arranged in the expected way, ordered exactly according to the rules. Whenever you don’t, bad things happen.
The people you communicate with are: whomever reads the code and the users of the application you are building.
The people reading your code are much like people who read literature: they like it or not and comment about it. The difference is that many times, they need to change your program, so a bad execution hits them much harder than a bad book that they read. On the other hand, when the reader becomes also the writer he has the chance to improve the story. The good writers will always leave the novel better than they found it, even if only slightly so.