I want to make a fairly complicated mathematical library for a personal project and then have a visualization/GUI to go along with it to demonstrate the maths - nothing hardcore like topology but just show the outcome and have some small animations to demonstrate.
The library will involve matrix operations and I'd like it to be completely object-oriented. I was thinking of going with C++ or C# because of the operator overloading feature.
It will be great to just go:
C = A + B * (C + E); rather than
C = A.add(B.multiply(C.add(E))); That's what it would look like in Java. Are there any other consequences to operator overloading other than possibly being confusing?
It seems like it will be a hassle to integrate a nice GUI to a C++ library.
A.add(B).multiply(C).add(E), so it's not quite as bad as your post implies. I'm done now.((A + B) * C) + E, OP's method example doesA + (B * (C + E)).