As anyone who's seen The Imitation Game will know, the first modern computer was designed with a single purpose - to crack an unbreakable code. Alan Turing's invention outwitted the Enigma machine, allowing the Allies to read the Nazis' encoded messages and turning the tide of World War II.
It was an incredible achievement of global significance, made possible by Turing's ability both as an engineer and a programmer - he not only built the computer, but told it what to do. Turing understood how codes worked, and was able to explain those rules to his machine, giving it the instructions that allowed it to complete the complex task. Today, we call those instructions programs and apps (and coincidentally, they are written in code).
Turing wasn't the first computer programmer. In 1804, Joseph-Marie Jacquard wrote programs on punch cards that controlled automated looms. To change the pattern on the fabric, he swapped out the card (this method of programming was popular for early modern computers as well). And in 1843, a woman named Ada Lovelace wrote the first program that would have allowed a machine to solve basic mathematical problems - if the machine had ever been built!
Turing was influenced by Lovelace's work, but it's no surprise that his computer was the first to be realized. Unlike the Analytical Engine Lovelace wrote for, a machine of intellectual but no immediate practical purpose, Turing's code-breaker was vitally important, and as a consequence, very well-funded.
Here's a cool video on the science of cryptography. And for the junior computer programmer in your life, check out my newest science book, What Are Programs and Apps?, now available from Amazon and Lerner Publishing.