The confinement has taken its toll on me. I’m dropping C++ in favor of C.
I wonder if the the virus got to my brain instead of my lungs?
A week ago I decided to port all my C++ code to C. I still like C++ it a lot, I’m using it all the time at work. But with my own code, I was feeling like I was always ending up with bloated structures. I was trying to follow OOP principles and somewhat it added complexity that I don’t need, especially being the only one to use that code.
I have been watching and reading some people talking about this (the famous Mike Action talk at CppCon, Jonathan Blow, the guys from Handmade Network), and I am now very interested in data-oriented design.
I took the radical decision of going pure C instead of writing C++ in a “C with classes” style. It sure would have been a smarter decision, I would not have had to rewrite everything, the MSVC compiler is better with C++, I am effectively pushing myself back weeks if not months… From a productive point of view it is a very silly decision.
But I feel good about this. C was the first language I properly learned how to use, that made me fall in love with programming in college. I want to get better at it and I really like programming things on my own.
A few observations after converting parts of my code:
- it is hard to detach myself from OOP principles, after years of programming that way, it will take me time to adjust
- some code is way more verbose, especially without constructors / destructors, copy operators, operator overloading, function overloading (those two I am really missing 😥 ), no templates, etc.
- a good deal of code is actually simplified, which comforts me in that choice
- I’m having a lot of fun!
I hope it won’t take me too long to port all features, so I can start adding new things. I am confident it will be slightly easier to avoid spaghetti code by changing my way of thinking.