|
|
|
Бобби Грант |
|
Глава
3 Итак,
многое Вы уже знаете, но ещё больше того, чего Вы не знаете. Люди используют
программирование господне по разному. Для одних это - извращение, приносящее
кайф. Им доставляет радость создавать безумный мир и смотреть, как он
захлёбывается в своих фекалиях из-за тех неустроенностей и внутренних
противоречий, которые зачастую заведомо введены создателем для потехи.
Авторы считают, что таких без- Другие сами желают
покинуть земной мир. Они фанатично программируют прекрасные новые миры,
ни на минуту не отрываясь от этого дела в течение нескольких месяцев или
даже лет. Затем они сами уходят туда (о том, как это можно сделать, рассказывает
справочник "Souls Transporting. Hardware Reference" издательства
Zip Book). Но непрофессионально созданный на основе патологических амбиций
мир ещё хуже профессионально созданного. Любой мир плох,если в нём есть
радость. Радость есть функция счастья. Видов счастья может быть столько,
сколько различных структур или переменных дано объекту для наслаждений.
Каждая переменная, хранящая текущую величину наслаждения, имеет ограничения,
навязанные ей её типом. Это правило программирования господнего (в оригинале-
That's the rule of the programming domain(прим.пер.)). Обойти его, к сожалению,
нельзя, ведь размер памяти, выделенной для данного экземпляра, ограничен.
Обойти его нельзя ни при программировании, ни в реальной жизни (ведь она
тоже создана аналогично). Если же функция счастья будет пытаться выйти
за границы К чему всё это? -
спросите Вы, - глава-то ведь называется "Доступ к Дьяволу".
Верно подмечено, но Вы, видно, не хотите напрягать свои куриные мозги.
Дьявол не есть индивидуум, также как и Бог. В исход ных текстах мироздания
видно, что это есть наборы функций и неких данных, причём, если большинство
функций Бога не были скрыты, то функции Дьявола наоборот, скрыты. Неизвестно
практически ничего о Программируя свой мир, не забывайте, что Вы живёте в этом мире (в оригинале- and don't forget, fucking ass, that You are living in this fucking world (прим.пер.)), и что созданные Вами обьекты функционируют на уровень ниже вашего мира. Таким образом, у них два Дьявола - первый есть Вы как человек, не до конца открывший устройство своего мира его жителям, второй же есть наш с Вами Дьявол. Не следует путать эти функции с недокументированными возможностями! Недокументированнные возможности - это вполне отлаженные и в меру надёжные функции мироздания, не открытые для людей, но работающие в нашем мире. Дьявольские функции - это подчас созданные на скорую руку или для конкретного случая структуры. Или же такие, пользоваться которыми людям просто нельзя по задумке наших создателей (но фактически можно, если знать как). Кое-что всё же было обнаружено и интуитивно отнесено к этим функциям. В течение веков люди, руководствуясь чувствами, обнаруживали это. Чёрная магия, белая магия, телекинез, телепатия и прочая лажа. Обычно это всё не работает и не действует, но ведь так и должно быть, если это использование дьявольских функций. Приведём надуманный пример. Реальных примеров мы не в праве приводить, иначе коллеги из God Labs нас укокошат (в оригинале- that fucking workfriends from "God Labs" will kill us (прим.пер.)). Итак, вы работаете
над созданием мира. Программа разрослась в тысячи строк. Ваши обьекты
уже могут жить, чувствовать, умирать. Придуманные Вами законы физики неизбежны
для них, законы этики не так жёстки (хотя Ваше право сделать всё наоборот),
но игра с ними тоже действует на их чувства, как и игра с законами физики.
Если Вы настоящий экспериментатор, то неизбежно у Вас будут возникать
вопросы А что, если на одно тело будет много разумов, каждый будет властвовать над телом поочерёдно, пока другие в небытии? Как они тогда будут жить? А что, если дать одному разуму два тела, с взаимным сексуальным влечением друг к другу? Что тогда будет? Что ж, и Вы всё это будете пробовать. Скопируете часть кода старых обьектов, что-то подправите, измените. Создадите новый тип - с одной под-структурой разума и двумя подструктурами тела, затем Вы добавите процедуры создания и обработки этих уродов. Затем скомпилируете программу и запустите её. Такие идеи обычно серьёзно не живут долго, и в зависимости от того, насколько долог был Ваш импульс и насколько тщательно Вы ввели новый код, всё полетит в тар-тарары. Вы позабавитесь несколько дней, меняя параметры, исходные данные, условия и законы, а затем эта идея Вам надоест и Вы начнёте убирать из программы всё, что относится к этим бедным созда ниям. Но ошибки неизбежны, и где-нибудь Вы забудете убрать описания подтипов, где-нибудь вызовы новых функций... Затем Вы примитесь дальше работать над своим миром, пока новая безумная идея не захватит Вас и Вы внось не начнёте лихорадочно добавлять новый код с одной только мыслью - "поскорее бы посмотреть, что получилось!". И эта чёртова карусель изо дня в день. В итоге Ваша программа будет напоминать общипанную курицу с разноцветными перьями. Ваши законы иногда не будут действовать нормально, то есть номинально, ведь то, что Вы забыли убрать из тысяч строк кода, иногда будет вызываться. Ваши обьекты будут иметь скрытые свойства, о которых Вы уже забыли... Ведь кто знает, чем были мы сами и наш мир до того, как была запуще на окончательная версия! Поэтому авторы считают, что паранормальные способности и есть те редкие случаи использования дьявольских функций. Мы говорили, что как
сотрудники God Labs мы не имеем права опубликовывать данные по использованию
дьявольских функций. Честно говоря, нам насрать на то, что бы Вы с ними
делали и для каких целей, но мы боимся, как бы нас не пришили. Единственное,
что мы можем Вам сказать и показать, это некоторые принципы самостоятельного
поиска дьявольских функций. Это мы делаем исключительно в рекламных целях,
чтобы повысить тираж нашей книги и чтобы побольше тупых придурков вроде
Вас покупало эту сраную книгу, прочитав в аннотации, что "несколько
глав посвящены связи с Дьяволом". Мы сами знаем, что всё то, что
было написано до этой главы и всё то, что будет после, Вы не будете читать,
а если и прочтёте в туалете, то применять полученные Вами знания не будете.
Все главы кроме этой есть дань нашей, то-есть И Вы правы. Единственное, что важно - это то, что мы хотим, но не можем, или можем, но сами не знаем, чего и как, зато знаем, что это будет круто и в кайф. Поэтому читайте дальше внимательно. Будет сказано про то, как использовать программирование господне не для дурацких игр в демиургов, а для настоящих задач. Важно не просто вызвать функцию дьявола, а засечь ситуацию вызова, подробности и детали. Подчас они важнее ритуального вызова. Ритуальный вызов - это явный вызов дьявола. Например, ритуальным вызовом будет являться Ваша попытка позвонить по номеру 666. Этим Вы конечно, ничего не достигнете. Это просто пример, придурок. Но ритуальный вызов нужен как стержень доступа. Таким стержнем может быть всё, что угодно, но всё будет бесполезно. Вы можете начертить на полу звезду Соломона, встать в её центр, шесть раз обернуться и крикнуть что-то типа "Крэг Щгэх А Иоу Ыцы" (в оригинале - "fuck! fuck! fuck! fuck! fuck! fuck! fuck!" (прим.пер.)). Единственное, чего Вы добьётесь - сосед пошлёт вас к черту. Ритуальными вызовами дьявола напичкана мистическая литература, но всё, что там сказано, бесполезно. Родилось большинство этих примеров в результате успешных вызовов, но повторные попытки связи были неуспешны, что и естественно, так как существует много важных деталей, не упомянутых в книгах и даже неизвестных магам (в оригинале- by that fucking wizards (прим.пер.)). Но компьютер предоставляет
нам новые, доселе невиданные возможности. Возражения типа "раньше
ведь не было компьютеров" не принимают ся. Вызовы дьявола возможны
в любой среде, в любой обстановке, какую только можно вообразить. Всё,
что есть, было и будет, и всё то, что мы можем вообразить, по сути есть
множества, над которыми и работают функции мироздания, в том числе и дьявольские,
поэтому компьютер как среда для вызова и общения (если повезёт) более
чем пригоден. Единственное, что надо соблюсти два пункта: Список параметров функции call_devil() разделим на два типа - перманентные, которые будут также частью ритуального вызова, и переменные, задающие ситуацию, меняющие условия вызова. Перманентные параметры
можно засунуть в запись Tpermanent: Затем, единожды их инициализировав, лучше их не менять. Это - ритуал вызова. На самом деле здесь мало параметров, но это просто пример. У нас в подвалах God Labs работают мощнейщие крио-компьютеры с количеством таких постоянных параметров около нескольких миллиардов. В них содержится практически вся известная (достоверная и недостоверная) информация о дьяволе, собранная нами со всех библиотек мира. Число переменных параметров на несколько порядков выше, они меняются каждую тысячную долю миллисекунды миллиардными косяками... И всё в поисках верной конфигурации вызова дьявола! О результатах поиска мы не имеем права говорить. Переменные параметры
можно задать в дугой записи: type Эти параметры будут меняться и каждый раз функция call_devil() будет вызываться заново с их новыми значениями. Эти параметры создают меняющуюся электронную среду, и чтобы уловить тот миг, когда состояние среды будет соответствовать норме вызова, необходимо проверять значение call_devil(). Заметим, что сама эта проверка успешности уже не является необходимой для вызова, она нужна лишь для того, чтобы нам узнать об этом. Ещё заметим, что фактически важно запомнить состояние всей электронной среды во время вызова call_devil() - вплоть до показаний системных часов и значений напряжения на каждом выводе плат. У нас в God Labs учитывается всё до мельчайших подробностей, Ваши же возможности ограничены Вашим положением и/или кошельком. Важное замечание: Как Вы, естественно, не заметили с вашими птичьими мозгами, мы нигде не описывали функцию call_devil(). Если бы Вы были серьёзным человеком, Вы бы сказали: "действия данной функции не определены". Но Вы - тупой осёл и поэтому должны поверить нам наслово. Мы же говорим, что действия данной функции не определены явно. На самом деле, вызывая функцию call_devil(), компьютер обращается к не определённому заранее адресу памяти. Если условия ритуального вызова (всеобщее состояние электронной среды компьютера) не удовлетворяют успешному "дозвону", то происходит ошибка выполнения (runtime error). Поэтому до вызова call_devil() следует отключать ошибки директивой $I-, а сразу же после вызова проверять значение функции IO-Result. Если IOResult<>0, то произошла ошибка, а это значит только одно - ритуальный вызов прошёл неудачно. Если же IOResult=0, это значит, что ошибок не было. Будь Вы программером, Вы бы сразу поняли, ЧТО это значит. Это значит то, что вызов неописанной функции прошёл успешно! Чем это можно объяснить? Лишь тем, что компьютер по неопределённому адресу вызова вышел в некие дьявольские сферы. Но не беспокойтесь и не напрягайте мозги, пример в конце главы всё покажет. И, наконец, самое последнее и самое, пожалуй, важное. Допустим, вызов дьявола прошёл успешно. Но что дальше? Как получить от него информацию, какой бы она ни была? Для этой цели нужно описать третий параметр функции - причём параметр модифицируемый (авторы позабыли, как он называется в традиционном программировании %-)). Это структура, в которой Дьявол возвратит Вам ту информацию, какую затребует данная структура. Да, да, именно то, что Вы затребуете. Но для этого нужно снабдить листинг описания обильными комментариями. Например, вот так:
И если вызов Дьявола пройдёт успешно, то в эта экземпляр этой структуры будет хранить бесценную информацию, сообщённую Вам самим Дьяволом. Теперь мы приведём полный листинг программы для вызова Дьявола. Помните, что программа эта несовершенна и только в Ваших силах улучшить её. Program DEVILLCALL; TYPE Tvariable = record
{переменные параметры} Devil_INFO = record
{дьявольская информация} VAR LABEL Procedure ShowDevilInfo;
{вывод на экран информации, переданной Дьяволом} BEGIN 666: ShowDevilInfo; Итак, запускайте эту программу, и в зависимости от быстродействия Вашего компьютера через несколько дней или месяцев Вы либо получите от Дьявола ответ (что очень маловероятно), либо обломитесь. Пожалуй, всё. |