Skip to content

Ok, we're using C++ in Leetcode...and that's it?

I learned C++ and I barely use it.

Not because I dislike it. I actually like C++. I like how explicit it is, and I like the control it gives me.

But if I’m being honest, my C++ usage today is basically LeetCode. That is the whole list.

Meanwhile Python and Go keep showing up in my actual life. Python is the “just get it done” language, usually when I want to automate something or write a quick script. Go is the “this should be a service” language, mostly because deploying it is painless.

C++ is the language I learned and then only reach for when I want something out of the algorithm library.

There is no good package manager in C++. I’ve used vcpkg, CMake and pixi, and none of them feel native. That puts a hard cap on how complicated my projects get, and for someone who likes picking up new tools constantly, that cap is what kills it. I don’t really blame the language for this. I blame the committee that maintains it.

Someone could argue that C++ never needed a good package manager, because it’s a tool you reach for when you care about speed and latency, so most of the code you pull in is code you or your company already wrote. That might actually be true. It still doesn’t change my experience with it. I’m not a trader for a reason, and it’s not that I don’t want the money. I like playing with new tools, and C++ makes that harder than it should be.

C++ took the most effort out of any language I learned, and it’s the first one I picked up from books instead of video tutorials. I’m far from a professional but I think I have a decent knack for it. That is probably why I treat it like it needs a big reason to exist.

Most days I don’t have a big reason, so I fall back to whatever is convenient. Usually Python.

I think I’ll try writing the actual algorithms in C++ and visualizing them with Python. I’ve been meaning to do a Kirchhoff’s theorem visualizer for a while, so maybe C++ for the logic and Python to draw it. We will see.