Why C++? Is it worth learning now?
If you’ve been following my blog, you know that I’ve been charmed by Machine Learning and I have an obsession to understand how it works. So far, I’ve been using Python to create the models. Python is great! It’s easy to use, understand, and it’s intuitive so learning it comes naturally. It has a lot of tools, libraries, and frameworks for Machine Learning. It’s not an exaggeration to say that one of the primary reason for ML/AI’s mass adoption is thanks to Python.
My Goal: Inference Engineering
Moving forward, I’ll also write the models i’m learning from scratch using C++. The reason behind this is because my goal all along is to be good in inference engineering.
Inference engineering is the process of taking a fully trained AI model and making it run fast and reliably for real-world users.
While training is about teaching the model using massive amounts of data, inference is about answering live user requests instantly while using the least amount of compute resources possible.
C++ directly helps with this goal because C++ gives us control over computer memory and hardware. This low-level control is what we need to optimize models for GPU using tools like CUDA and/or TensorRT.
Is it worth learning now?
I see this question quite a lot. First, I’ll answer this question specifically to what I am learning. LLMs are excellent but they use huge amount of resources. In the near future, I believe that LLMs will plateau in terms of intelligence, then it’ll be a race for the fastest / cheapest LLM.
Now to answer this question in general: With the accelerated rate of how frontier models improve (at this time of writing Opus 5.5 really blew my mind), you may be tempted to just depend on LLMs and let them do the work. And yes! These LLMs are really doing great work. I’m a software developer by profession, and LLMs exponentially accelerates and empower me at my job.
So why am I still learning these stuffs? For one, I am a firm believer that understanding should not be delegated to AI. And these neural networks does not “understand” the same way our brains does, it’s not even close. So for my personal opinion, at least at the moment, computers are far superior in “computing”, human brains are far superior in “understanding”.
The next reason is learning literally transforms our brain. If I stop learning, I am literally hindering my brain to improve and develop. Why would I want that?!
And the last reason, and certainly not any lesser from the others, is it’s fun! It’s fun to learn new concepts, to learn how problems arises, how our ancestors tried to solve them, what limitations goes with their solutions, and how we overcome those limitations.
So do not let anyone tell you to bring your pen down! Amazing and wonderful things happen when you pick up both a problem and a pen!