Java 18 is UTF-8 by Default

  • I love how they are ready to change behavior of existing code and require opting into a compat mode. I wish this way of fixing things properly while having opt-in compat was more common. Too often we see aversion towards breaking changes for no obvious reason. If you don’t want things to break then don’t upgrade things.

  • I'm curious if the internal representation will stay UTF-16? Someone smarter than I probably could say there's an advantage to using a fixed-length charset for internal purposes.

  • Now your turn, Windows.

  • hopefully the POSIX libc's and compilers are next. runtime locale lookups are a nightmare and nobody uses them anymore.