Paul D. Anderson wrote:
Sounds like someone needs a strong dose of D!!

http://java.dzone.com/articles/why-java-doesnt-need-operator

The comments bounce between "operator overloading is always bad because you can do idiotic 
things with it" and "operator overloading is essential because sometimes you really need 
it".

How about a language where operator overloading is available for the cases 
where you do really need it, but isn't available in general?

Hmmm...

Paul
He says he doesn't like it because:

The number of operators that you can overload is very small and each of them is attached to very specific semantics that makes little sense outside the realm of scalars and of a few other specialized mathematical concepts (e.g. matrices).

Bingo! That's what operator overloading is for. **Don't overload arithmetic operators unless you are doing arithmetic.** I think the main problem with operator overloading in C++ is that that point wasn't explained well at all. The D spec could probably do a better job of it, but at least the ~ operator removes the temptation for people to use + to mean concatenation.

Reply via email to