179192.fb2 Рассвет Сингулярности - читать онлайн бесплатно полную версию книги . Страница 36

Рассвет Сингулярности - читать онлайн бесплатно полную версию книги . Страница 36

Дон - И что она сделала?

Майкл - Она зависла

Дон – Вот зараза.

Майкл - Нет, предполагалось, что она зависнет. Она записывала дорожку на гибком диске. После каждого зависания я обычно просматривал её и добавлял кое-какие небольшие процедурки для предохранения её зависания точно таким же образом в будущем. Имя файла программы было XK с числом типа XK117 или XK1018. Всякий раз как она зависала, я вынужден был её модифицировать и увеличивал это число.

Дон – Так тогда она не зависла?

Майкл - Нет, она зависла. Она зависала тысячи раз.

Дон - Святая корова! Сколько ж времени ты угробил на это?

Майкл – Ну-с, я тогда ещё не был женат.

Дон – О, это всё меняет!

Майкл – Тем не менее, после того как я написал целую кучу этих небольших кусков кода для предотвращения повторных зависаний, я начал заменять их общими правилами, которые бы заменили сразу всю эту кучу и также предотвратили бы схожие зависания, которые ещё пока не происходили.

Дон - Круто.

Майкл - Хорошо, я заметил, когда написал парочку таких правил, что они приобретают вид описания компьютерной архитектуры и работы машины. После того как я это выяснил, стало легче. Каждое зависание будет давать мне информацию о том, как писать некоторое новое правило, которое будет предотвращать все аварии этой категории или оно сообщит мне как изменить существующее правило, чтобы сделать его более расширенным или специфичным. Тогда однажды она прекратила зависать.

Дон – Ба, тебе должны были достаться лавры создателя независающей программы. Ты мог бы это продать фирме Microsoft. Эй, подожди минутку. Что если она изменяла какое-то из правил, которые удерживали её от зависания?

Майкл – Одним из правил было правило 'Не изменяй правил'. Хотя я это и не доделал. Далее, я просто позволил ей выполняться до тех пор, пока она не заполняла оперативную память, RAM. Затем я обычно просматривал её, чтобы убедиться, что не случилось чего-нибудь интересного.

Дон - Это не генетическое программирование?

Майкл - Нет, ничего такого. Во-первых, там не было генерации поколений. А во вторых, у меня была только одна работающая программа, а не куча соревнующихся между собой программ. Кроме того, эта программа не запускалась в каком-то искусственном цифровом окружении. Она работала в реальной среде компьютерной архитектуры. Ты должен помнить, что это было ещё до дней защиты памяти и кода или распределения данных по разделам. Что касается компьютера, так вся его память представляла собой одну не дифференцируемую область.

Дон – О, да.

Майкл - Ну, она не выдавала ничего интересного, поэтому я добавил мета правила изменения в структуру верхней части правил изменения, которые удерживали её от зависания.

Дон - Понял.

Майкл: - Тогда она изменила мета правила и...

Дон - Подожди, ты же сказал, что она не могла изменять правила?

Майкл - Верно, она не могла изменять правила, но она могла изменять мета правила. Тогда на меня нашло прозрение.

Дон - Что, что?

Майкл - Ясное понимание того, что правила, которые удерживали её от зависания, были чем-то типа понимания среды её обитания, но она сама не понимала этого. Поэтому я начал писать мета-мета правило описания этого, но я не смог.

Дон - Почему?