On Wed, Apr 12, 2023 at 10:27 PM Roger Riggs <roger.ri...@oracle.com> wrote:

> Hi,
>
> The status quo takes a balance between trying do the right thing and
> creating a headache for lots of developers.
> Deprecating the existing methods would cause lots of warnings and
> provide little actual improvement.
>

It is a matter of fact that case conversion is a locale sensitive
operation. By not deprecating these methods, we can pretend it isn't so,
but that does not make the problem go away, it just hides it.

Except in a few locales, the output would be the same as today.
> If you're working in a locale where it matters, it has become habit to
> use Locale.root everywhere.
>

In a globalized world, the developer's locale and the user's locale are not
necessarily, probably usually, not the same.

Case in point, where a developer in Australia is bitten by this, having
customers in Turkey:

https://mattryall.net/blog/the-infamous-turkish-locale-bug

Bug descriptions and blogs like these are plentiful and easy to find.


> The most positive suggestion from the January thread [1] was to fix the
> uses in the JDK in small batches and carefully review each to make sure
> there are no unintended consequences.


The current draft PR suggests to deprecate and
add @SuppressWarnings("deprecated"), then handle the @SuppressWarnings in
follow-up PRs. This could of course be done in the opposite order.


> The topics of deprecation and a new API should be treated separately,
> they have different costs and benefits.
>

The draft PR now focuses on deprecation only:

https://github.com/openjdk/jdk/pull/13434

Reply via email to