ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Article:
  What I Hate About Your Programming Language
Subject:   Operator overloading in Java
Date:   2003-05-17 19:41:31
From:   anonymous2
Response to: Operator overloading in Java

> The philosophy behind that may be that
> overloading is not necessarily
> intrinsically "bad", but has the potential
> to generate unintuitive code.


On the other hand, if you've ever tried to make a nice matrix Class, you realize why operator overloading is so useful. Having the option available means you are able to apply a more natural coding style when it applies. Further, I have seen far too many unintuitive method and variable names to accept this argument.


> The one supported instance of String
> concatenation is a natural and intuitive
> use of overloading.


To continue my point, having to write something like


u = v1.add(v2);


to add two vectors (as used in Physics, i.e. magnitude and direction) is much more awkward than


u = v1 + v2;


in this context, since this style of infix mathematical notation is the most natural for the problem domain of Physics.


> Also, to eliminate it just in principle for
> consistency would deprive Java programmers of
> an extremely useful timesaver.


I agree that I wouldn't be as happy programming Java without the String concatenation operator. However, my argument for consistency would be in support of a general operator overloading mechanism rather than elimination of String concatenation.



$0.02
-- Tahoma