I know some Python, but I have more fun with C. So what?
Why I chose Crow and C++ as the default for my new personal projects. Not a language war, but a decision about time, familiarity and how much I want to delegate to AI.

In my descriptions, I say I know some Python, but I have more fun with C.
It sounds like a throwaway line. Behind it, though, there’s a fairly concrete problem: when I sit down to work on a personal project, how much time do I spend building, and how much remembering how to write what I have in mind?
Because knowing what I want to do and actually doing it are two different things. And if I open Claude Code and let it handle everything in between, the app might reach the finish line.
But did I get there with it?
I said «some Python», not «mastery»
Let’s start here, before this becomes the usual argument about which language is better.
I’m not saying Python is unsuitable. I’m not saying Flask is a bad choice. And I’m definitely not saying C++ is the universal answer to every web project.
I’m talking about me.
I studied C for roughly 2 years across secondary school and university, and I’m continuing with it in my advanced course. That doesn’t automatically make me a C++ expert. C and C++ are not the same thing.
But C++ gives me a more familiar syntax. When I read something or try to write it, I have a foundation to lean on.
With Python, I sometimes stop even to recall basic operations and rules.
«But Python is simpler!»
Great. Meanwhile, I’ve stopped again.
That’s the point: I don’t have the same level of proficiency in both. If I ignore that difference, I’m making a choice as though I had skills I don’t currently have.
Time isn’t a footnote
I work from 8 a.m. to 5 p.m. I get home around 5:30.
Then I train, study for university, eat, shower and sleep. Yes, surprisingly, those things take time too.
Personal projects have to fit somewhere in between.
So when I assess a stack, I can’t pretend I have entire days available for comparisons, experiments and fresh starts.
Changing languages has a cost. Constantly wondering whether I should change has another one.
Python or C++? Flask or Crow? What if I discover something more suitable? What if I’m choosing badly?
Right. Meanwhile, the evening is over and the project is still sitting there.
I’m not trying to avoid studying. I want to stop reopening the same decision before I’ve given the previous one a real chance.
«Claude Code can do it anyway». Exactly.
When time is short, delegating becomes very tempting.
Can’t remember how to do something? Ask Claude Code.
Need to connect these pieces? Ask Claude Code.
Got an error? Paste it in and ask for a fix.
And so on.
This isn’t an anti-AI confession. It’s the risk I see in how I use it: getting a working app without really following and understanding how it was built.
Of course I care whether the app runs. But I also care whether I understand what I’m looking at when something goes wrong.
I don’t want to tell myself the opposite fairy tale either: «Starting tomorrow, no AI. I’ll write everything myself and finally become a real developer».
That’s not the point.
I want to use it for explanations, debugging and review. If a step isn’t clear, I want help understanding it, rather than simply asking for the next piece.
The distinction I’m after is between getting help to understand and being replaced while I keep pressing enter.
So, Crow and C++. Without reopening the case every time.
Here’s the decision: Crow and C++ become the default choice for my new personal projects.
I’m not saying I’ll rewrite everything that already exists. I’m not prescribing a stack for anyone else’s projects. And I’m not pledging eternal loyalty to a framework.
I’m choosing where to start, so I don’t have to make that decision again with every idea.
Why C++? Because its syntax feels more familiar, building on the C I’ve studied.
Why settle on Crow too? To close the constant framework comparison, at least for these projects, and move on to building.
That doesn’t erase what I still need to learn. Studying C doesn’t mean I automatically know C++, and choosing a stack doesn’t mean I can already build and maintain an application with it.
It means focusing the necessary learning on a foundation that feels more familiar.
If a project has a concrete constraint that requires something else, I’ll assess something else. A concrete constraint, though. Not another doubt triggered by an online comparison.
I’ve chosen a foundation. I haven’t proved it works for me yet.
Let’s be clear: this article documents a decision, not a result.
I haven’t proved that Crow and C++ will help me finish projects sooner. I haven’t measured a productivity increase. And I haven’t magically solved my time problem.
I’ve identified a starting point that doesn’t require me to keep wondering whether I should be somewhere else.
What I want to test is whether I can build while genuinely following the steps, explain my decisions and modify the project without handing the reasoning over to Claude Code every time.
I might encounter difficulties I’m currently underestimating. I’ll write about them when I encounter them, not invent them now to complete a neat story.
For now, when I write «I know some Python, but I have more fun with C», this is what I mean: I don’t want to sell my Python knowledge as mastery, and my familiarity with C is a foundation I want to try building on.
I’m not trying to win an argument about programming languages.
I’m trying to finish a project knowing what I’ve done.