Рассвет Сингулярности | страница 61
Дон – Так тогда она не зависла?
Майкл - Нет, она зависла. Она зависала тысячи раз.
Дон - Святая корова! Сколько ж времени ты угробил на это?
Майкл – Ну-с, я тогда ещё не был женат.
Дон – О, это всё меняет!
Майкл – Тем не менее, после того как я написал целую кучу этих небольших кусков кода для предотвращения повторных зависаний, я начал заменять их общими правилами, которые бы заменили сразу всю эту кучу и также предотвратили бы схожие зависания, которые ещё пока не происходили.
Дон - Круто.
Майкл - Хорошо, я заметил, когда написал парочку таких правил, что они приобретают вид описания компьютерной архитектуры и работы машины. После того как я это выяснил, стало легче. Каждое зависание будет давать мне информацию о том, как писать некоторое новое правило, которое будет предотвращать все аварии этой категории или оно сообщит мне как изменить существующее правило, чтобы сделать его более расширенным или специфичным. Тогда однажды она прекратила зависать.
Дон – Ба, тебе должны были достаться лавры создателя независающей программы. Ты мог бы это продать фирме Microsoft. Эй, подожди минутку. Что если она изменяла какое-то из правил, которые удерживали её от зависания?
Майкл – Одним из правил было правило 'Не изменяй правил'. Хотя я это и не доделал. Далее, я просто позволил ей выполняться до тех пор, пока она не заполняла оперативную память, RAM. Затем я обычно просматривал её, чтобы убедиться, что не случилось чего-нибудь интересного.
Дон - Это не генетическое программирование?
Майкл - Нет, ничего такого. Во-первых, там не было генерации поколений. А во вторых, у меня была только одна работающая программа, а не куча соревнующихся между собой программ. Кроме того, эта программа не запускалась в каком-то искусственном цифровом окружении. Она работала в реальной среде компьютерной архитектуры. Ты должен помнить, что это было ещё до дней защиты памяти и кода или распределения данных по разделам. Что касается компьютера, так вся его память представляла собой одну не дифференцируемую область.
Дон – О, да.
Майкл - Ну, она не выдавала ничего интересного, поэтому я добавил мета правила изменения в структуру верхней части правил изменения, которые удерживали её от зависания.
Дон - Понял.
Майкл: - Тогда она изменила мета правила и...
Дон - Подожди, ты же сказал, что она не могла изменять правила?
Майкл - Верно, она не могла изменять правила, но она могла изменять мета правила. Тогда на меня нашло прозрение.