4 ms·
> after sufficient practice, I became good enough to start avoiding those pitfalls. You can only do that in code you control. You can not control the entire ca
by selfmodruntime 2y ago
> after sufficient practice, I became good enough to start avoiding those pitfalls.
You can only do that in code you control. You can not control the entire call stack of your functions in cooperative environments.
- WalterBright 2y ago> You can not control the entire call stack of your functions in cooperative environments. That's true. But I try by doing code reviews, and I try to lead the team by example and suggestion.
- selfmodruntime 2y agoExamples and suggestions don't transmit your years of experience of pitfall-avoidance. You say you "try" to do code reviews, which is honorable, but also proves that there is code in your codebase that you can not and do not control, and which likely features unsafeness. This is fair enough, we can't do all the work as maintainers after all. When I `git blame` segfaults in the D compiler repository, the aforementioned assumption -- that you can't control faults introduced by someone else -- seems to be largely true. We do use Go/Rust at work (albeit an easier flavor of it), because I don't trust my juniors.