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);
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.