В 1965-м Тони Хоар работал над системой типов для ALGOL W: она должна была блокировать обращения к несуществующим данным. Реализацию хотелось упростить — и Хоар добавил null-ссылку, как сообщает Хабр. Сам он позже признал: «Я не смог устоять». Уступка обернулась дырой в гарантиях безопасности.

Механика проста и потому коварна. Переменная объявлена строкой, получает ничто — и программа падает. Компилятор молча пропускает такую конструкцию, а все проверки ложатся на инженера. Пустота становится невидимой ровно до момента, когда всё ломается.

Ошибка давно перестала быть курьёзом: она числится среди системных уязвимостей OWASP и исправно генерирует NullPointerException. Признание Хоара заставило индустрию пересмотреть валидацию типов и сделать обработку пустоты строгой обязанностью, а не доброй волей разработчика.

Источник: Telegram: Хабр

Понравился материал?
Подписывайтесь — так вы не пропустите новые.
RSS-лента

Комментарии

Будьте вежливы — это делает обсуждение лучше

Пока нет комментариев — будьте первым.