TGViewer
Заметки Андрея Заметки Андрея @andgein_notes · 877 subscribers
Post #195 1.43K
Кусочек айтишной истории

Представьте, на дворе 1999 год: мне 8 лет, Гуглу — один, Яндексу — два. Джаве, кстати, уже четыре! И вот в ней находят «баг». В кавычках, потому что ошибкой тогда это не посчитали — авторы языка сказали, что всё работает правильно, по спефицикации 😏. Проблема же была в том, что строка из заглавных грческих букв типа «ΙΕΣΥΣ ΧΡΙΣΤΟΣ» неправильно приводилась к нижнему регистру — на конце слов получалась σ, а не ς. И то, и другое — греческие сигмы, но σ используется только в начале и середине слов, а ς — только на конце, так что ΧΡΙΣΤΟΣ становится χριστος, а в джаве становился χριστοσ. Ужас!

Но разумеется для подтверждения и исправления бага неважно, что считают носители греческого языка. Важно, что говорит спецификация джавы! А она в то время говорила, что строка приводится к нижнему регистру посимвольно, без учёта позиции буквы и контекста. Так что всё работает правильно, отстаньте, не мешайте нам работать.

Текст стандарта через год, конечно поменяли, но вот код... Код как выдавал неправильную сигму, так и продолжил это делать. Чтобы предупредить разработчиков, пишущих на джаве, такое поведение даже закрепили и продемонстрировали в документации джавы того времени на конкретном примере: ΙΧΘΥΣ превращается в ιχθυσ (а не в ιχθυς, как должно было бы). Мол, имейте в виду, мальчики и девочки, вот так оно у нас работает!

Долго ли коротко ли, но в конце концов, проблему, конечно, исправили. Через несколько лет джава стала использовать правильные сигмы. Для того времени это даже в целом было нормально — в юникод только-только добавили информацию о греческкой сигме, и американские программисты ещё только-только учились работать с языками мира. Зато с тех пор в джаве всё работает правильно, с 2003 года никто на ошибочные сигмы не жаловался.

А знаете, что за эти 23 года забыли, не успели, не захотели или поленились исправить?.. Правильно, официальную документацию! Её копируют из версии в версию, и она всё ещё в качестве примера говорит, что ΙΧΘΥΣ превращается в ιχθυσ, хотя это уже давно не так. То есть буквально в документации показано четыре примера: два на турецком (там свои приколы с большой и маленькой буквой i), один на английском и один на греческом. И вот тот, что на греческом, — просто неправильный вот уже 23 года!

С другой стороны, переживать не о чем. Документации сейчас все равно никто не читает. Я проверил несколько современных LLM-ок — они молодцы, их документация не смущает, они правильно отвечают 😃
  • 🔥 31
  • 😁 7
  • ❤ 4
  • 😱 1
  • 😭 1
More from @andgein_notes
  1. Aug 13, 2026Пятнадцать лет назад у меня в универе был очень хороший лектор по теории вероятности и ста…
  2. Jul 7, 2026Моя любимое слово последних месяцев — бэклог. Что это говорит обо мне? А что-нибудь хороше…
  3. Dec 29, 2025Не придумали, чем займётесь первого января, но надеетесь на чудо? Хотите попробовать новые…
  4. Dec 11, 2025❄️ Новогодний контест от Андрея 2026! Почти год назад, 1 января, я провёл свой первый ново…
  5. Oct 25, 2025Я нашёл сокровище! И это — видео-записи лекций из MIT сорокалетней давности! Пока посмотре…
  6. Jul 19, 2025Вы наверняка знаете, что во многих странах западной Европы магазины не работают по воскрес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →