| > It lets a lot of innovation happen in other languages, then takes the successful parts for itself The only time I've ever had to use Java was for a computer science class, and I thought it was a solid language (pun intended), but I hated its half-assed attempt at operator overloading. I think it's a major feature that's long overdue to be fully implemented in Java, because it's already used for some of Java's built-in classes and it's proven useful in many other programming languages. Most of Java seems very well-thought-out to me, but for some reason they decided to add only some operator overloading, instead of planning ahead more. I remember hearing somewhere that they were planning on adding operator overloading, but last I checked it didn't look like it was going anywhere. |
Java was one of the first language specifications to be written by adults (maybe Common Lisp was the first, but it drives Common Lisp fans crazy to compare Common Lisp to Java, Python, etc.)
Python's operator overloading works remarkably well given that it has a very simple model (always look to the left hand side to decide how to interpret the operator.) C++ on the other hand ought to make anybody skeptical of the idea, but C++ would make anybody thoughtful and sensitive question the idea of computers entirely.