Typically when you ask a programmer to explain to a lay person what a programming language is, they will say that it is how you tell a computer what to do. But if that was all, why would they be so passionate about programming languages when they talk among themselves?

In reality, programming languages are how programmers express and communicate ideas — and the audience for those ideas is other programmers, not computers.

Guido von Rossum

The common idea of a programmer is of an awkward, overly intellectual person who, lacking social skills, finds companionship in a computer. They are happy (or as happy as they will ever be) all alone, in the dark, with a flickering screen and an esoteric masterpiece.

This is not the majority of programmers. I am very social. I like people. I need people: to care about, to share ideas with, to learn from and to learn from me. I crave community. Computers and programming are fascinating because of the world of ideas they make possible. And sharing those ideas is the most engaging and rewarding part of programming.