Programmers are responsible, directly or indirectly, for all of the software we use. Millions across the globe communicate through email, through online messengers, and via website browsers. If it weren't for programmers, none of this would exist. If there were no programmers, those applications would sit there lifelessly doing nothing because there would be no valid instructions telling them what to do. Each time we send an email or message, we take it for granted that it will be sent and received successfully, and all subsequent emails will continue to do so in the future. Each time we write a letter, book a holiday online, or play the latest game, we tend not to think too deeply about how it works and instead we come to expect that it will work, regardless of how. Most users therefore use software all the time without realizing the intricate extents to which instructions are being fed to the computer and how fundamental those instructions are.
This book focuses on the language of C++ in the context of programming games. It follows that C++ is used to send instructions to the computer to determine how a computer should present a game to the user. Hopefully, if we've done our job properly as programmers, it'll be a game that works. In order for a game to work, we must provide the computer with appropriate instructions. We've said the instructions are called programming, but this is more technically called source code, sometimes abbreviated by programmers to either source or code. Let's say we're making a game where a man runs along shooting baddies and can jump from platform to platform. The computer needs to be told how to accomplish this and it will be told how to do so via source code. For example, if the player wishes to jump, the computer must be told how this is to occur. The figure must be launched into the air and then, under the influence of gravity, it must return to the ground. In short, programming is an ambitious task that can be as challenging as it is fascinating.