TGViewer
Мамкін Архітектор Мамкін Архітектор @mamkin_architect · 3.24K subscribers
Post #695 2.31K
Програма, яка друкує сама себе

Вчора подивився ролик, який починається з quine — програми, яка виводить власний текст. І згадав давній осадочек.

Про quine я дізнався ще в школі і, як трушний програміст, кілька разів сідав таку написати. Не вийшло. Взагалі.

Писав я тоді на Basic (не Visual, а звичайному, з номерами рядків і goto), потім на Pascal. На умовному Python чи JavaScript, де є eval, це робиться доволі просто. А в олдскульних мовах — нєа, ніяк. Завжди питання, як вивести той самий print() верхнього рівня.

Тому перше, шо я подумав після ролика: а чи зможе АІшка? Виявилось, може. І на Pascal, і на Basic. Не з першого разу, кілька ітерацій, але в результаті — текст, який друкує сам себе. Сюди його не вставлятиму, самі можете перевірити 🙂

Так що для мене цей гештальт закритий. Не так, як хотілось би. Сумно, звісно, шо я до цього не додумався сам, зате бездушна залізяка робить те, шо колись було справжнім челенджем.

Але я почав про відос. Там через самокопіювальні програми і віруси сюжет якось дійшов до Game of Life. Завдяки йому я дізнався, шо Life виросла з питання фон Неймана ще з 40-х: який мінімальний набір інструкцій потрібен машині, щоб зібрати робочу копію самої себе.

Фон Нейман придумав під це клітинний автомат на 29 станів і десь 200 тисяч клітин. А Конвей у 1970 поцікавився, наскільки простіші можуть бути правила. Так і вийшла Game of Life.

До речі, реалізувати Game of Life теж така собі історія. Спочатку проста: правила на скінченному полі пишуться за вечір. Проте якщо додати, шо поле нескінченне, а зум можна крутити як завгодно, стає трохи веселіше.

А саме це і треба, щоб зібрати Game of Life всередині Game of Life. В ролику це з 5:57 до 6:23, без слів, просто зум. Подивіться, воно того варте.

Розкажіть в коментах, чи пробували ви таке написати. І лайк, якщо у вас теж не вийшло (так, лайків хочу більше) 🙂
  • ❤ 12
  • 👍 9
  • 🔥 5
More from @mamkin_architect
  1. Oct 7, 2026Хтось не деплоїть по пʼятницях. Ми не деплоїмо, поки триває тривога. Ми різні
  2. Oct 6, 2026Оновив Portainer однією кнопкою Я вже не раз розповідав, як влаштований мій homelab: є сер…
  3. Oct 1, 2026Обіцяв технічні подробиці по Дронам на районі, тому ось вони. Стек частково вже називав: P…
  4. Sep 30, 2026‼️ увага ‼️ Я провтикав і випадково закрив коменти деяким підписникам пару днів назад. Зар…
  5. Sep 30, 2026В Києві останнім часом тривога триває постійно, з дуже короткими перервами. Раніше треба б…
  6. Sep 21, 2026Від умовного Скайнету чи Матриці нас рятувало те, що LLM-ки доволі повільні: довго відпові…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →