I'm not going to begin by trying to persuade you that programming is important. You already know this. Unlike some, I won't begin by pretending that everything about programming is always simple and easy. A lot of it is, some of it isn't and takes time, but you already know this too.
So instead, let me begin by telling you why this book is different and how it will make learning programming at least easier, if not always easy.
You see, most people would have you jump straight into one programming language. We're not going to do that here. Instead, we will first explore a couple different languages and use them to make sense of programming itself.
What I really mean is that you’ll get clear on the most important ideas, concepts and the rules that lie at the heart of all programming languages. After all the basics make sense, you will ultimately know which programming language is the best for you to learn.
We'll cover the terminology, the jargon and the words we use every day in programming: terms like algorithms, recursion, object orientation, static typing, pseudocode, multi-threading and lots more.
But it's not sufficient to be able to talk like a programmer. More than that. You'll understand the meaning behind those words so when you want to, you can think like a programmer and there is huge flexibility in that thinking.
Programming is not one thing. It is not fixed. It’s different for different people. For some, programming is corporate; it's all business. For others, programming is game development, art, music, language or telling a robotic arm how to deal cards.
If you want to be able to take this infinitely reconfigurable machine (robot), one that can be different from moment to moment, and turn it into the machine that does what you want it to do you need to first have an idea in your head and then turn it into a computer program.
It's not about what language you use or what operating system you have. It is about how you think.