TGViewer
AppFiles - Mobile Development AppFiles - Mobile Development @applib · 2.17K subscribers
Post #3791 545
Страна, которая сломала Kotlin

Статья посвящена одной из самых удивительных и трудноуловимых ошибок языка Kotlin. В 2016 году турецкий инженер заметил, что его сборка не проходит: компилятор выдаёт загадочную ошибку «Unknown compiler message tag: INFO». При этом причина оказалась не в коде, а в… настройки локали! Оказалось, что на турецкой локали метод строкового преобразования toLowerCase() превращает «INFO» в «ınfo» (с безточечной «i») — и словарь мапы не находит соответствия.

Дальше — ещё интереснее: спустя годы, с выходом корутин в Kotlin 1.3, ошибка проявилась снова при вызове функции boxInt() — но машиной она была сгенерирована как boxİnt() (заглавная «İ») на машинах с турецкой локалью.

И всё благодаря тому же проблемному capitalize() без указания локали. В финале автор показывает, как разработчики Kotlin заменили все такие вызовы на версии с явно заданной локалью (Locale.US или аналог) и отключили использование старых функций toLowerCase()/toUpperCase().

Основная мысль: даже языковые конструкции вроде преобразования регистра строк, считавшиеся банальными, могут таить в себе серьёзные баги в глобальной среде. Это напоминание: при разработке — не игнорируйте культурно-языковые аспекты и локали. И да — турецкая локаль почти сломала Kotlin.

Статья: https://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237
Платформа: Android/Kotlin
  • 👍 2
More from @applib
  1. Oct 16, 2026Как фронтенд‑команде сделать мобильное приложение без нативных разработчиков Нашей команде…
  2. Oct 16, 2026📺 Видео и подкасты за неделю • (iOS Ru) Анатомия LazyVStack. Проблемы, скрытые возможност…
  3. Oct 16, 2026Измеряя незримое: что и как измерять в мобильной разработке (часть 2) В прошлой статье мы…
  4. Oct 16, 2026Dari — инспектор взаимодействия WebView bridge для Android Dari — это библиотека-инспектор…
  5. Oct 15, 2026AsoBeast - self-hosted ASO-инструмент для отслеживания ключевых слов в App Store и Google…
  6. Oct 14, 2026Куда девается место на диске: Xcode, рабочие деревья и ИИ-агенты Несколько недель назад мо…
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 →