|
|
|
|
|
by zzzcpan
3378 days ago
|
|
"they can't make any assumptions about what any particular line of code is doing, without complete understanding of a vast amount of code." Yes, this is a problem with many designs. More importantly they can't easily look up what does an operator do. But this problem can be easily avoided if a set of operators used in a particular scope had to be explicitly specified. For example, if you want "+" to mean a bigint addition from a set of bigint math operators, you would have to import that set into that scope, kind of like this: import_operators "bigint"
a := b + c
Now you still have overloading, but it is very clear where to look up an operator and a set of operators used in this scope."In go there's only two possibilities for what this code is doing..." There should be only one possibility, though. Dual-meaning operators don't provide any value to ever have them, apart from familiarity with design mistakes of the past. |
|