“If you wish to make an apple pie from scratch, you must first invent the universe.”
― Carl Sagan, Cosmos
Hello dear reader and welcome to my mussing.
For Christmas a received a present of 'Effective C: An Introduction to Professional C Programming' by Robert Seacord. Now at first I smiled politely and thanked them for a wonderful gift while wondering how useful will it be.
Now I haven't done pure C programming for over 20 years and as I sat, flicking through the book, I started to think about just how much low-code programming I do and how much it doesn't excite me. By low-code I mean sticking blocks of pre-packaged code together, the Lego Technic of the programming world. I don't even do C++ these days, although I do try to keep an eye on what's going on with it.
I currently find myself with time on my hands and see this as the perfect opportunity to go back to my roots and reinvigorate my passion...back to C and, in due time, C++...back to resource constrained embedded systems...back to FUN.
May the best of the past be the worst of the future.
Heh that pic... and then the real world happens and you stumble into code that compiles with 100s of warnings, with undefined behavior that just so happens to work, and you question how anything at all works in the first place.
Man, just the other day I got some really nasty behavior that was only showing up in release And seemed to behave differently when the debugger was attached. I haven't taken a very close look yet, but I think I screwed up by linking with naked pointers movable stream objects that resided in containers, which obviously got invalidated every time the container reallocated itself. So dumb, but also so frustrating that the only way to resolve it is to move everything into shared pointers, making it impossible to allocate the objects directly on the stack.