Куайн
Куайн (Quines) — это программы, которые при запуске выводят самих себя, то есть свой исходный код. Они названы в честь философа Уилларда Ван Ормана Квайна и получили популярность благодаря книге Дугласа Хофштадтера — Gödel, Escher, Bach.
Главные идеи о квайнах простыми словами:
— Квайны — это пример кода, который «знает» себя и копирует себя же при исполнении.
— Квайны отражают понятие фиксированной точки — значение, которое остаётся неизменным при применении функции (например, √1 = 1).
— Квайны показывают, что текст программы одновременно является командой и данными для обработки — пример самореференции. Такое же явление встречается в предложениях, которые говорят сами о себе.
— Эти программы иллюстрируют концепции, лежащие в основе теоремы Гёделя о неполноте и проблемы останова Тьюринга — показывают ограничения в математике и вычислениях.
— Подобно тому, как живые клетки воспроизводятся, квайны «размножаются» в цифровой среде, используя правила языка программирования. Некоторые квайны даже устойчивы к удалению символов, что похоже на избыточность и жизнеспособность ДНК.
Известный учёный Джон фон Нёйман интересовался идеей самовоспроизведения именно на стыке биологии и вычислительной техники, а квайны — это небольшой наглядный пример таких идей в программировании.
Главные идеи о квайнах простыми словами:
— Квайны — это пример кода, который «знает» себя и копирует себя же при исполнении.
— Квайны отражают понятие фиксированной точки — значение, которое остаётся неизменным при применении функции (например, √1 = 1).
— Квайны показывают, что текст программы одновременно является командой и данными для обработки — пример самореференции. Такое же явление встречается в предложениях, которые говорят сами о себе.
— Эти программы иллюстрируют концепции, лежащие в основе теоремы Гёделя о неполноте и проблемы останова Тьюринга — показывают ограничения в математике и вычислениях.
— Подобно тому, как живые клетки воспроизводятся, квайны «размножаются» в цифровой среде, используя правила языка программирования. Некоторые квайны даже устойчивы к удалению символов, что похоже на избыточность и жизнеспособность ДНК.
Известный учёный Джон фон Нёйман интересовался идеей самовоспроизведения именно на стыке биологии и вычислительной техники, а квайны — это небольшой наглядный пример таких идей в программировании.