Тони Хоар — из тех редких людей, чьи идеи до сих пор сидят в проде почти везде: quicksort, CSP, логика Хоара. Но в его биографии есть одна деталь, которую индустрия оплачивает до сих пор.
В 1965-м Хоар добавил в язык null. Не как «ошибку», а как удобную инженерную абстракцию: показать отсутствие значения. Тогда это выглядело разумно. В реальности — открыло дверь классу багов, который потом десятилетиями размножался в компиляторах, рантаймах, ORM и API.
Проблема null не в самом пустом значении. Проблема в том, что язык делает его слишком дешёвым. Объект вроде есть, а потом внезапно нет. Проверка забыта, контракт размыт, stack trace уже горит 🔥
Я слышал эту мысль от архитекторов не раз: современные платформы платят за одну старую компромиссную конструкцию на всех слоях — от backend до data pipelines. Отсюда и вечные NullPointerException, и defensive coding везде, где можно было бы жить на типах и явных состояниях.
Хоар потом назвал это своей «ошибкой на миллиард долларов». Формулировка прижилась не потому, что она эффектная. А потому, что слишком точная.
IT Weekly Pro
@ITWeeklyPro
Тони Хоар — из тех редких людей, чьи идеи до сих пор сидят в проде почти везде: quicksort, CSP, логика Хоара.
Этот пост опубликован в Telegram-канале IT Weekly Pro. Подписаться можно по ссылке: @ITWeeklyPro.