A systems guy
I have to give some background here. I’m a systems guy at heart. That’s where I started, in electrical engineering, building PCs, focused on networking and getting my CCNA, etc. I will tell you I didn’t have the mind of a software developer. In fact, I wanted to stay away as far from it as I could. All the GW-BASIC in the world growing up couldn’t have had me wanting to touch Java, no matter how many times I tried to learn it.
Java failed me
I tried everything I could to understand Java, but I couldn’t. After many years getting the more recent books, taking classes, and taking the time, I just couldn’t grasp what was happening and what the language was doing. I didn’t go to college for Computer Science, mind you. In fact, I haven’t been to college at all, other than a few bowling classes for fun at 18.
Trying to understand what “public” meant, interfaces, object oriented programming, etc. etc., it was all impossible. I knew Python, as annoyingly simple as it is, I knew Bash, which I loved, and I just couldn’t get into OOP and Java. I had also learned to write code as needed in various simple languages, such as Lua. I felt I could have understood Java if I really understood OOP, but I didn’t, and without that or the CS background, Java completely failed me.
C++ and the challenge
Being the type of guy that enjoys challenges, and reading all the horror stories of the complexities of C++, I decide to give it a shot. Oh. My. God. I took an online class (highly recommend it here) that completely changed my life. Not only did I finally get the OOP training I needed, I learned that I have control over what’s happening with C++. It clicked that a pointer is a memory address. I can allocate specific amounts of memory and store data in them. I can actually understand what the language is doing to the machine. This changed my life. This allowed me to understand how programming works on a level I never did before, and I fell in love with C++ because of it.
Strangely enough, I realize I’m not in the majority on this. Most people don’t like C++ and still see it as daunting, over-engineered, and too much work because of the memory management, or one of a myriad of excuses. This view made learning C++ difficult, but when I learned it’s the language used in video games, I dug in deeper and really dedicated time to it.. Then I learned it’s what VSTs are written in. I dug in even deeper.
Nowadays, I LOVE the language and love continuing to learn and improve my C++ skills. I got my LinkedIn skills badge for C++ (personal goal win, as small as it is), and now really getting my head into VST development.
Can’t wait to write articles on my VST journey as there is a serious lack of info out there on it. Maybe I’ll get a VST I’m proud enough of to put out there.
We’ll see.
Some resources
As unpopular as C++ can be in world, here are some awesome resources for those of you interested in it:
-
Udemy Course – https://www.udemy.com/course/beginning-c-plus-plus-programming
-
Javidx9’s Youtube – https://www.youtube.com/channel/UC-yuWVUplUJZvieEligKBkA
-
TheCherno’s Youtube – https://www.youtube.com/user/TheChernoProject
-
The C++ Resources Network – https://www.cplusplus.com/