Is there a possibility of the string equality operator (==) being fixed?

Ron Pressler ron.pressler at oracle.com
Sun Oct 22 18:01:06 UTC 2023



> On 22 Oct 2023, at 16:52, tzengshinfu <tzengshinfu at gmail.com> wrote:
> 
> Backward compatibility! We just keep piling new things on top of historical baggage

While I can’t comment on future changes in this specific area, I have to point out that backward compatibility isn’t just a nice thing to have, but one of the biggest and most important selling points for a language, and one of the main reasons Java has succeeded in supporting large and long-lasting software to a greater degree than all of the languages you mentioned with the possible exception of C++ (where string equality is also not so trivial) and C (which you don’t mention but where string comparison is also quirky).

Backward compatibility is not entirely binary and there are levels to breaking it — and sometimes we do. But the bar to breaking something substantial needs to be very high — you need to show that a change that breaks something significant has a truly extraordinary positive impact — because good backward compatibility is why Java is being chosen more than any other language today to write large, important, “serious” software. While an individual developer may not appreciate it, a CTO who has to pick a language for an important piece of software that is meant to last for a couple of decades cares a lot about not needing to do unnecessary work due to changes in the language. The last thing you want to do is so casually dismiss the great importance of that feature.

— Ron



More information about the amber-dev mailing list