Выбранный на этой неделе мультфильм xkcd недели посвящен самой страшной концепции программирования — рекурсии. И, перефразируя хорошо известную цитату, если вы ее не боитесь, значит, вы ее не понимаете.
Хорошо, возможно, вы это понимаете, но в природе рекурсии иногда вводить в заблуждение и удивлять даже самого опытного программиста. Вам, вероятно, не нужно его бояться, но вам нужно уважать его за то, что это мощная конструкция.
В мультфильме игрок в игре начинает другую, аналогичную игру в игре, и это может привести к тому, что игроки в этой игре начнут другую игру и …
Больше мультяшного веселья в xkcd веб-комикс о романтике,сарказме, математике и языке
Конечно, есть игры, в которых вы действительно можете создавать объекты реального мира, и, возможно, наиболее рекурсивным является создание самого компьютера — теней Матрицы.
Рекурсия имеет много аспектов. На одном уровне это всего лишь четвертый поток управления — последовательный, условный, циклический и рекурсивный. На других уровнях это приводит к сложным парадоксам и, возможно, даже к переживанию сознания. Идея состоит в том, что мы сознательны, потому что мы наблюдаем за собой — конечный акт рекурсии.
Многие программисты и философы ссылаются на «странный цикл», который представляет собой идею о том, что самореферентный цикл имеет больше событий, чем кажется на первый взгляд. Если вы хотите узнать об этих идеях, прочитайте: Гедель, Эшер, Бах: Вечная золотая коса (см. боковую панель). Книга, которая больше сосредоточена на идее странного цикла, — это «Я-странный цикл» (см. Боковую панель).