I was 12 years old when I first discovered my passion for programming. At the time, I had a Compaq Presario 2500 with Mobile Pentium 4 processor and 256MB of RAM, which was more than I could wish for.
I started my software development journey by learning QBASIC using a book I found around the house (to this day, I have no idea who bought that book and why). After a short period of time, I felt the need to learn much more than what the QBASIC book could offer. It was also around this time when I watched a Satellite TV program in which the host was encouraging parents to teach programming to their children, as it is considered to have a very bright future, and at the same time, it is very fun too.
It didn't take long before I started learning Visual Basic and developed a number of toy programs. What fascinated me at this stage was how reading and writing files works behind the scene. Ignoring a few months of playing around with Macromedia Flash's Action Script (which by the way was very fun!), I decided to go to a local bookstore in my hometown, Shiraz, and browse the programming books in hopes of finding an interesting book. One book in particular caught my attention: "Programming in C: the complete reference."
For about a year or so, this book was with me everywhere. The content of this was mainly focused on data structures and algorithms, and how the C language can be used to implement them. Given that at this time I was roughly 14 years old, the content felt quite over my head, but I was too persistent to give it up. The only big downside I observed was the literature of the book: given that a lot of the content of the seemed to have been transpiled from other languages, or perhaps because a lot of the terminology did not really fit naturally into the Farsi language, it was not intuitive to read. This lead me to search for a good book in English.
My extensive search landed me on Bruce Eckel's "Thinking In C++" book. Aside from Bruce's great writing, a PDF version of the book was freely available from his website. This was exceptionally great for me, because back then I did not have any way to shop internationally. Reading this book not only helped me learn and love the C++ language, but also helped me improve a lot in English.