One of the challenges of learning to program is that you have to learn two languages: one is the programming language itself; the other is the vocabulary we use to talk about programs. If you learn only the programming language, you are likely to have problems when you need to interpret an error message, read documentation, talk to another person, or use virtual assistants. If you have done some programming, but you have not also learned this second language, I hope you find this book helpful.
Goals of the Book
Writing this book, I tried to be careful with the vocabulary. I define each term when it first appears. And there is a glossary at the end of each chapter that reviews the terms that were introduced.
I also tried to be concise. The less mental effort it takes to read the book, the more capacity you will have for programming.
But you can’t learn to program just by reading a book—you have to practice. For that reason, this book includes exercises at the end of every chapter where you can practice what you have learned.
If you read carefully and work on exercises consistently, you will make progress. But I’ll warn you now—learning to program is not easy, and even for experienced programmers it can be frustrating. As we go, I will suggest strategies to help you write correct programs and fix incorrect ones.