This has been something I've experimented with my own baby langs, even banning precedence altogether and requiring explicit parens in any expression.
I find it annoying to have to remember precedence, even if it does lead to more concise code. I guess there's some elegance in something like `if (a == b = c + d << e & f)` but having to remember what this means overrides any benefit for me. And if you get it wrong you'll end up adding the parens anyway.
I haven't played with this version which seems like a reasonable compromise, but I always enjoy reading zig updates and how they really think through things that other languages assume away
1 comment
[ 0.71 ms ] story [ 21.0 ms ] threadI find it annoying to have to remember precedence, even if it does lead to more concise code. I guess there's some elegance in something like `if (a == b = c + d << e & f)` but having to remember what this means overrides any benefit for me. And if you get it wrong you'll end up adding the parens anyway.
I haven't played with this version which seems like a reasonable compromise, but I always enjoy reading zig updates and how they really think through things that other languages assume away