Programming Languages as Communication

Posted on

Every programming language is a compromise between two audiences who can’t both be satisfied. Richard Hamming captures this tension well in The Art of Doing Science and Engineering.

What I wanted to know was how the job of communication can be efficiently accomplished when we have the power to design the language, and when only one end of the language is humans, with all their faults, and the other is a machine with high reliability to do what it is told to do, but nothing else

The Art of Doing Science and Engineering - Richard W. Hamming

Programming languages must be understandable by machines and humans. Designing a good programming language requires as much of an understanding of how humans communicate as it does the machine.