I'm not an expert. In anything. I've been programming on and off for about ten years and I've been talking about the stuff that I do for my entire life. So I guess that makes me qualified. Either way, I've decided to write this book for my friends and family whose passion isn't in computer programming. In our time, everyone could benefit from some basic programming knowledge, regardless of the industry you're in or your benevolent passions.
In the past some buffoons have told me that they learn well from me. This doesn't mean you will learn anything from this book, but I figured I should give it a try. Worst case scenario, you will have spent a few hours reading the mumbo jumbo I have spent an entire year writing.
I attribute me being a good teacher (though still a hypothesis in the making) to two reasons: First off, I am a self-taught programmer. At one point I was just as clueless as you are right now. Moreover, like the majority of the people my age (twenty-something), I'm pretty lazy. I'm addicted to instant gratification and I can't get off my ass to do a thing that I can't see a direct benefit from doing. While my parents probably see this quality as one of the worst virtues one can have, I'm pretty sure it served me well in my short career as a programmer. The entire premise of computer usage is to help us get to results quicker and with increased efficiency. So yes, I could relate to computers on that front -- I want results as soon as possible, with the least amount of work or, I'm out.
Guess I'm lazy. This means that you will find less boilerplate nonsense in this book compared to other books. Why? 'Cause I'm lazy. And because I think it is vital to understand what adding such boilerplate can do to your ADHD brain -- it will make you lose my point. It will make it less likely for you to understand my point. And it will de-motivate you. We don't want any of that.
With that being said, this book attempts to cover a broad subject and there is a lot for us to go over. Therefore, I've found it necessary to take multiple breaks throughout our learning process. Those can be used for you to reward yourself with a cold brew after you pass a complex a-ha moment, or simply me redirecting the narrative to a more human-like, fluffy place and talk about cool stuff (yet still relevant, I hope) instead of dry, boring programming (Not true. This is a lie, I tell you, LIE!)
The second reason that I'm a good teacher (because self-proclamation will do wonders to the credibility of this book), is that I'm a foreigner whose native language isn't English. I don't know as many fancy words as your other teachers do, and that's a good thing. We're not talking poetry here, we're talking computers. Plain, basic English is probably better for us to use. It makes the subject seem less intimidating and it makes me seem like your hombre. I don't want to give you that same feeling of alienation I got from my teachers in high school. It didn't do me well and it was counterproductive to my understanding. Brah.
Now to the subject at hand.