> I work in embedded systems, so I'm generally writing C for resource-constrained systems. This sort of environment is rife with footguns, and I spend most of my time just trying to avoid those. A big part of that is keeping the things that my team controls as simple as possible, and while we are resource constrained, it's a balance.
Do you measure the balance?
I write software for drones. Power use is a very real concern and its performance must be balanced with real-world-clock performance. So I wrote some starter benchmarks and tasked the team to continue writing benchmarks against their code. When the team wants to simplify something, we also measure that against benchmarks.
We use C++ instead of C. You can still footgun yourself with C++ but it provides a lot more safety mechanisms than C.
Do you measure the balance?
I write software for drones. Power use is a very real concern and its performance must be balanced with real-world-clock performance. So I wrote some starter benchmarks and tasked the team to continue writing benchmarks against their code. When the team wants to simplify something, we also measure that against benchmarks.
We use C++ instead of C. You can still footgun yourself with C++ but it provides a lot more safety mechanisms than C.