Представьте, на дворе 1999 год: мне 8 лет, Гуглу — один, Яндексу — два. Джаве, кстати, уже четыре! И вот в ней находят «баг». В кавычках, потому что ошибкой тогда это не посчитали — авторы языка сказали, что всё работает правильно, по спефицикации 😏. Проблема же была в том, что строка из заглавных грческих букв типа «ΙΕΣΥΣ ΧΡΙΣΤΟΣ» неправильно приводилась к нижнему регистру — на конце слов получалась σ, а не ς. И то, и другое — греческие сигмы, но σ используется только в начале и середине слов, а ς — только на конце, так что ΧΡΙΣΤΟΣ становится χριστος, а в джаве становился χριστοσ. Ужас!
Но разумеется для подтверждения и исправления бага неважно, что считают носители греческого языка. Важно, что говорит спецификация джавы! А она в то время говорила, что строка приводится к нижнему регистру посимвольно, без учёта позиции буквы и контекста. Так что всё работает правильно, отстаньте, не мешайте нам работать.
Текст стандарта через год, конечно поменяли, но вот код... Код как выдавал неправильную сигму, так и продолжил это делать. Чтобы предупредить разработчиков, пишущих на джаве, такое поведение даже закрепили и продемонстрировали в документации джавы того времени на конкретном примере: ΙΧΘΥΣ превращается в ιχθυσ (а не в ιχθυς, как должно было бы). Мол, имейте в виду, мальчики и девочки, вот так оно у нас работает!
Долго ли коротко ли, но в конце концов, проблему, конечно, исправили. Через несколько лет джава стала использовать правильные сигмы. Для того времени это даже в целом было нормально — в юникод только-только добавили информацию о греческкой сигме, и
А знаете, что за эти 23 года забыли, не успели, не захотели или поленились исправить?.. Правильно, официальную документацию! Её копируют из версии в версию, и она всё ещё в качестве примера говорит, что ΙΧΘΥΣ превращается в ιχθυσ, хотя это уже давно не так. То есть буквально в документации показано четыре примера: два на турецком (там свои приколы с большой и маленькой буквой i), один на английском и один на греческом. И вот тот, что на греческом, — просто неправильный вот уже 23 года!
С другой стороны, переживать не о чем. Документации сейчас все равно никто не читает. Я проверил несколько современных LLM-ок — они молодцы, их документация не смущает, они правильно отвечают 😃
