Input and Output

With existing input/output conventions being so diverse and so messy, the only source of joy in such parts of the code are the rare occasions when one can find a way to make the program a little less bad than it might have been. We have two choices, either to attack I/O now and get it over with, or to postpone it until near the end. Neither prospect is very attractive, so let’s get it over with.
— DONALD E. KNUTH, TEX: The Program (1986)