This tutorial is a bit unorthodox compared to my usual tutorials in that it is more of a read than a step-by-step tutorial. However, this tutorial is an essential for anyone who wishes to acquire the knowledge that is quintessential in the software development domain.
I have actually developed my own programming language, compiler, interpreter and runtime environment called ZPE so I know quite a bit about how programming languages, compilers and interpreters work. It may be useful to download the latest version of ZPE as you work through this tutorial as it will be the language used in this tutorial. You can also test ZPE directly on my website here.
Once you learn one language well, like I did, you can learn any language very easily. Understanding the fundamentals is so crucial to getting to that point. I was originally scared to start programming but when I turned 13 I gave it a shot and found it was actually a lot easier than I first thought. I developed a much stronger understanding of it the more I did it and released my first software package when I turned 14. Further to that, I focused on the fundamentals such as abstraction, inheritance and other different things that are cross-language.
Whether a web developer, software developer or future language designer, this tutorial walks through the fundamentals of programming.