Learning without a goal
It’s nothing new for me: learning on my own usually only gets me so far. What I mean by this is that I’ll start learning something (e.g. C++, the guitar, the piano, etc.) and while I’ll be very motivated and psyched at the beginning, it will quickly wear off. It wears off because at some point, I realize that I want to go too fast too quickly and this makes me frustrated of the slow progress I make.
You can’t improvise yourself a seasoned pianist in 2 weeks, much less a month. The same goes with any skill worth having. It takes time to learn it and you need to give yourself time and patience to practice what you learn at your own pace. If you don’t, you end up like me with a million things that I would ideally like to master and none that I’ve mastered.
Sure I’ve got skills in coding that I’ve gathered over the years. Sure I can apply those skills to do my bidding. But not to the extent I would like. Why? Because time and time again I picked up C++ and eventually gave up when I went over the learning lessons too quickly without practicing. It’s the irony of the situation: while I was very much interested in improving my skill, I never gave myself the time I needed to really do it. I just went pretty much lesson after lesson, thinking “sure, I get it”, hoping that I would soon “get to the good stuff”. That good stuff never came because I was too impatient. I never gave myself enough time and practice to cement what I had learnt. As a consequence to that, whenever I was then trying to do some exercises where I needed to apply the latest content I had learnt, it proved way too difficult for me because I had fast-forwarded too much too quickly.
And I didn’t really have a goal in mind either! Something in me drove me to get back into C++ but if you had asked me why 6 months ago, I couldn’t really have given you a good answer because I didn’t have one myself. Things changed recently, though. For years, I’ve felt passionate about emulation projects (e.g. RPCS3, xenia and Dolphin just to name a few). I would try their latest builds just to see how far they had gone with more interest in the technical feat than the games they could actually handle. The same also applied to hacks used to jailbreak a gaming console. Over the span of maybe 10 years, I spent more time applying hacks than using them. Meaning that after I’d have hacked a gaming console, it would most of the time be used as a way to collect dust. I never really tried to understand why I was so hyped about this kind of thing but I just was.
What happened recently then? Well, I had some sort of an epiphany. I finally came to the realization that emulation is a very good passion project to have in mind when it comes to having a goal for learning C++. C++ would obviously only be one ingredient in the whole recipe to understand how emulation works, but I figured that having a better grasp at memory management, pointers, classes and the whole thing would be a good starting point to look into this. I have no clue how much I’ll even be able to do now that I have a clear goal in mind but what I have now realized is this: I’m ok taking the time I need to build up my knowledge and to actually get better. It’s not as frustrating as it used to be since I’ve come to terms with it. And that feels good. Very good.