Chapter 49. Learn Foreign Languages

Klaus Marquardt

image with no caption

PROGRAMMERS NEED TO COMMUNICATE. A lot.

There are periods in a programmer’s life when most communication seems to be with the computer—more precisely, with the programs running on that computer. This communication is about expressing ideas in a machine-readable way. This remains an exhilarating prospect: programs are ideas turned into reality, with virtually no physical substance involved.

Programmers need to be fluent in the language of the machine, whether real or virtual, and in the abstractions that can be related to that language via development tools. It is important to learn many different abstractions, otherwise some ideas become incredibly hard to express. Good programmers need to be able to stand outside their daily routine, to be aware of other languages that are expressive for other purposes. The time always comes when this pays off.

Beyond communication with machines, programmers need to communicate with their peers. Today’s large projects are more social endeavors than simply the applied art of programming. It is important to understand and express more than the machine-readable abstractions can. Most of the best programmers I know are also very fluent in their mother tongue, and typically in other languages as well. This is not just about communication with others: speaking a language well also leads to a clarity ...

Get 97 Things Every Programmer Should Know now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.