3 ms·
In a data science context, the key operations are math, so overloading makes a lot of sense and is massively helpful in implementing algorithms and equations. I
by grayclhn 6y ago
In a data science context, the key operations are math, so overloading makes a lot of sense and is massively helpful in implementing algorithms and equations. I go back and forth on the wisdom of some of the other common uses — filtering, etc. In addition to the problems that have been mentioned, there are often hidden and infrequent but painful performance issues.
- marcus_holmes 6y agoI often think that maths could use the same slap around the chops. Less arcane operators and symbols, more explicit function names please!
- grayclhn 6y agoI consider it kind of important that the notation for expressions like “A²” doesn’t depend on whether A is an integer, real number, complex number, matrix, random variable, etc., (even if the results do) or what the specific domain is, but if you feel like it’s important to embed all of that context in the exponent operator... give it a try :) (And whether “2” is integer, real, rational, complex, etc)
- marcus_holmes 6y agoYeah, but operator overloading doesn't say any of that. You have no idea what the "^" operator does, depending on the operands
- FridgeSeal 6y agoEhhh, it would seem that way, but the compactness of the syntax functions to get out of the way and help you understand the overall structure. Having longer function names ends up getting in your way more often than not in my experience.