Живая обратная связь в программировании: как перестать гадать и начать видеть код насквозь

Разбираем технические аспекты мгновенной обратной связи в IDE — от REPL до hot reload, с юмором и без занудства.
Помните то чувство, когда вы пишете код, запускаете тесты и уходите пить чай, пока CI/CD думает? Знакомая боль, правда? Но есть и другая крайность — когда среда реагирует быстрее, чем вы успеваете моргнуть. Статья Джошуа Хоровица "Technical Dimensions of Live Feedback in Programming Systems" — это как раз про то, как сделать так, чтобы код отзывался мгновенно, а не как Wi-Fi у бабушки.
Автор раскладывает по полочкам, что такое "живая обратная связь" в программировании. Оказывается, это не просто "быстрый компилятор". Есть целая система координат: насколько быстро приходит ответ (задержка), насколько он полный (частичный или весь вывод), и как часто он обновляется (непрерывно или по запросу). Как будто вы настраиваете не IDE, а пульт управления реактивным двигателем — только вместо тяги у вас скорость итерации.
Особенно забавно, что автор выделяет "степень определенности" — насколько среда уверена в своем ответе. Вспомните те моменты, когда IDE подчеркивает ошибку, а вы точно знаете, что код рабочий, просто линтер перегрелся. Или наоборот: всё зелёное, а на проде — бадабум. Вот это и есть та самая неопределённость, о которой говорит Хоровиц.
Для разработчика эта статья — настоящий клад. Она помогает понять, почему одни инструменты (например, REPL в Python) дают кайф от работы, а другие (сборка Angular на 5 минут) вызывают желание переустановить Windows. И что важно: можно осознанно выбирать, какой тип обратной связи вам нужен в конкретный момент. Хотите быстро проверить гипотезу — берите REPL. Нужно убедиться, что всё работает в связке — запускайте интеграционные тесты, но с кофе.
Комментарий студии METABYTE: Мы тоже за то, чтобы код отзывался быстро, а не как заполнение налоговой декларации. Если ваш проект страдает от долгих циклов обратной связи — приходите, мы подкрутим гайки DevOps и CI/CD так, что вы забудете о лишних чаепитиях.