Once I attempted to define an algorithm for a particular task, and had difficulty. My approach was to write a wordy essay describing what I wanted to do. Then I converted the essay to a program. The entire essay fell into the comment field, and statements were written in to execute what had been described. The program worked satisfactorily. It was so wordy that I had little sense of how the program performed the task in terms that we would normally think of when thinking of computer programs. I stripped the comments away and looked at the raw code. The algorithm was quite different from what I expected!