EnglishРусский Map

Длина свободного пробега языка

title
Длина свободного пробега языка
type
concept
summary
Сколько строк кода можно написать до расхождения ментальной модели с поведением программы - физическая метрика для оценки языков
tags
language-design, cognition
created
2026-04-30
updated
2026-04-30
lang
ru
source_updated
2026-04-30
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-medium

В физике вакуумных систем длина свободного пробега - это среднее расстояние, которое частица пролетает до столкновения с другой частицей; показатель качества вакуума. Автор pure-systems-blog заимствует этот термин как метрику для языков программирования: сколько строк кода вы можете написать, прежде чем ваше понимание работы программы разойдётся с тем, что она делает на самом деле. Каждое такое расхождение он называет сюрпризом.

Большая длина свободного пробега не означает, что язык компактный или простой - это значит, что его семантика достаточно предсказуема: вы сразу строите верную ментальную модель и не натыкаетесь на случаи, где она втихую ошибается. Языки с неявными приведениями типов, правилами диспетчеризации с нелокальным разрешением, скрытыми аллокациями памяти или "дальнодействием" (spooky action at a distance) обычно показывают плохие результаты. Философия Zig "no spooky action" - это прямая попытка максимизировать эту метрику.

Такой подход удобен для оценки компромиссов, которые обычно преподносят как эргономику. Неявную диспетчеризацию тайпклассов в Haskell писать быстрее, чем передавать словарь вручную, но она добавляет в ментальную модель нелокальное разрешение. Оправдан ли такой выигрыш, зависит от того, приемлема ли итоговая частота сюрпризов для вашей предметной области.

Связанное: type-systems-vocabulary делает похожий шаг в другой плоскости - подбирает точную терминологию, чтобы перестать путаться в том, что язык на самом деле гарантирует.