1. Debugging multiprocessing. I know it's tricky to implement but I'd imagine there would be more tools today for that than your brain, logging and (single process) debugger.
2. Good explanation for build system. I don't know how many time I've ventured out to "aight let's learn cmake once and for all" to just give up and default to "Google when you get stuck, copy paste Stackoverflow solution" when I get some niche error. For programming I can almost always find and understand error, making my knowledge deeper. Build system, not so much
3. (in python) people using dict as config objects. Worst code (that work) I ever read was ML research code using json -> dict as experiment setup configuration. crux was that every object that read this dict ALSO modified to it, including adding function calls that modifies it. It was a horrible mess following it even with debugger. I'd love to have some advanced linter that tracks the dicts thrown around
2. Good explanation for build system. I don't know how many time I've ventured out to "aight let's learn cmake once and for all" to just give up and default to "Google when you get stuck, copy paste Stackoverflow solution" when I get some niche error. For programming I can almost always find and understand error, making my knowledge deeper. Build system, not so much
3. (in python) people using dict as config objects. Worst code (that work) I ever read was ML research code using json -> dict as experiment setup configuration. crux was that every object that read this dict ALSO modified to it, including adding function calls that modifies it. It was a horrible mess following it even with debugger. I'd love to have some advanced linter that tracks the dicts thrown around