Stefan Reinalter
9.9K posts

Stefan Reinalter
@molecularmusing
Founder of Molecular Matters • C++ & low-level programming • Created Live++ (@liveplusplus) https://t.co/BmiRmrEyxK











I don't know if a lot of people have thought why this happened. To make Linux viable for the layman, Valve had to make Proton (derived from Wine) so that Win32 API became the first and only stable ABI on Linux. Why did Linux Distro devs not care about stable ABI historically?





Spent another hour on the I/O system I did recently. With C++ hot-reload, it's *amazing* how fast I can add new events and actions, and tie them up in the editor. I can go in, add a new event to a static array, trigger that in code, and almost instantly use it in the editor.

A fundamental division between schools of thought in programming is (a) the elimination through simplifying of cruft, boilerplate, and extra abstraction layers, and (b) the automation of maintaining cruft, boilerplate, and extra abstraction layers. One of the reasons I drifted away from C++ and newer languages with adjacent philosophies towards a subset of C is that I found myself in the first camp. Some problems were simply not as hard as I was making them. Memory management, threading, UI, and so on could be simplified such that not only the high level C code became simple, but the actual machine code also became simple. This is starkly different from modern C++ and Rust programming culture, where the philosophy is simply that dealing with the complicated lower level details is a matter of *automation*. The compiler needs to generate something extra, it needs to check extra things, and so on. “Agentic programming” falls into the latter camp, and this is also why I don’t employ it in my workflow (other than search engine usage and so on). I don’t need it to generate 10s of 1000s of lines of code. The requirement of 10s of 1000s of lines of code—for implementing something derived from the information content inside a tiny prompt—is an architectural red flag. Perhaps a substantial portion of that code simply shouldn’t exist. I find that my programs become much better when I do that simplification pass first. After that, there’s drastically less boilerplate, less maintenance, and less busywork to begin with.









