Many thanks to Tristan Morris for creating a beautiful illustrated hardcover print edition of the site |
|||||||||||||
Один монах спросил учителя Кайму: “Каким должно быть идеальное поведение отмены?” Кайму ответил: “Оно должно отменять последнее значительное действие пользователя, затем действие до него, и так далее до начала времён”. Монах спросил: “Как насчёт изменения размера окна?” Кайму ответил: “В идеале, его должно быть можно отменить”. Монах спросил: “Сохранение файла?” Кайму ответил: “Тоже должно быть можно отменить”. Монах спросил: “Отправление письма по электронной почте?” Кайму ответил: “Тоже должно быть можно отменить”. Монах рассмеялся и сказал: “Абсурд! Как можно реализовать такое поведение?” Учитель запустил приложение на своём компьютере: “Вот редактор моей собственной разработки, который реализует Идеальную Отмену”. Монах набрал текст. Затем он удалил слово, изменил размер окна, сохранил файл и послал его по электронной почте. Когда письмо появилось у него на телефоне, он четырежды нажал кнопку Отмена в редакторе. Монах сказал: “Нет эффекта”. Кайму ответил: “Null. Время изменилось как только Вы набрали текст. В этот момент, когда не хватило памяти для предыдущей итерации, Вы удалили слово, изменили размер окна, сохранили файл и послали его по электронной почте”. Монах победно указал учителю: “Мой Null против Вашего! Ибо во второй якобы итерации я мог бы последовательно нажать Отмена четыре раза, как я это сделал в первой итерации... Создавая тем самым неизбежный цикл!” Кайму скрестил руки на груди и с удовлетворением ответил: “Действия второй итерации не были значимыми, так как они не могли не произойти в следствии изменения времени. Таким образом, они не являются кандидатами для Идеальной Отмены. Только Ваши четыре нажатия Отмена в первой итерации, которые инициировали вторую итерацию, были значимыми”. Монах спросил: “Так что же стало с этими четырьмя отменами?” Кайму ответил: “Благодаря четырём отменам во второй итерации... они были отменены”. Перевод Sergey Malenkov. Отрывок из The Codeless Code, созданная Qi (qi@thecodelesscode.com). При условии, в соответствии с условиями Creative Commons Attribution-NonCommercial 3.0 Unported License. |