Помню, както на Земле приглашали меня работать в одну программистскую контору (софт для аэропортов делает), вот там была секретность! Из комнаты в комнату и даже в отхожее место – с отметкой по пропускным карточкам и личным обыском, куча штрафов за всякие «нарушения режима» (на пять минут дольше на толчке посидел), фаерволы, естественно, и шпионские штучки на рабочих и домашних компьютерах сотрудников... Работать я там отказался. Ну а конторе секретность выходит только боком: ее владелец и спонсор до сих пор вынужден сторонним разработчикам огромное бабло отстегивать – собственные, хоть и горбатятся, но за долгие годы ни одной понастоящему полезной штуки так и не сделали. Оно и понятно – какой приличный профессионалпрограммист в подобную организацию пойдет?
Впрочем, может, зря я на гномиков бочку качу? Мне ведь так и не удалось найти ничего путного насчет земных элементалей в этих книжках. А инфато полезная наверняка есть. Стоп! Это я уже по второму кругу. Решил же оставить эту тему до получения материалов от Васы. Вернемся лучше к левитации.
Что интересно – демоны на своих выступлениях пользовались плетениями, воздействующими на гравитацию. Понастоящему летать трехглазые не летали, но высоко прыгали и лихо уворачивались от боевых плетений явно не без помощи левитации. Подмеченные на выступлениях Лиги магоформы очень помогли нам с Умником при анализе и оптимизации плетения полета. Всегда полезно иметь для сравнения несколько вариантов решения задачи.
Гдето чтото подкрутив, чтото добавив или убавив, мы сделали плетение в несколько раз эффективнее исходного образца. Увы, но прогнав результат на модели магии, я понял, что магоформа попрежнему жрет кучу энергии. Забитого под завязку магией кристалланакопителя хватает всего лишь на две минуты ее работы! Да, видимо, скептицизм гномов по поводу подобной штуки вполне обоснован. Летать высоко и далеко таким способом вряд ли получится. Сколько с собой не тащи в воздух накопителей, все равно надолго не хватит. Ничего, проведем парочку экспериментов. Вдруг в модели обнаружатся именно в нужных разделах какиенибудь неправильные коэффициенты? Да и полигон все равно нужно «принять в эксплуатацию». Между прочим, впервые за долгое время сооружение будет использоваться по прямому назначению.
Я выкопал в центре арены небольшую яму, установил в ней плетение с активацией по таймеру приблизительно через минуту, аккуратно положил туда булыжник весом в несколько килограммов, включил защитный купол и пошел на ближайшую трибуну. Находиться поблизости от летающего булыжника было стремно. Нда... очень правильно поступил! Мало того что каменюка мгновенно оказалась в воздухе, со скоростью пули взлетев вверх, но почемуто и грунт вдоль стенок ямы брызнул в стороны с такой силой, что я даже испугался, как бы не пробило защитный полог. Ямища образовалась... Нехилая там взорвалась «кучка толовых шашек»! Я снял купол. В воздухе распространилась жуткая пыль и вонь. Стало трудно дышать. Ну ничего, приятельэлементаль тут же развеял эту гадость свеженьким ветерком. Я посмотрел в яму. Нда... Переполненный накопитель разрядился мгновенно! «Не левитация, а граната. Не хотите ли покататься на пушечном ядре?» – подумал я. Нет, так дело не пойдет! А добавимка в плетение блок, регулирующий процесс передачи энергии (я подсмотрел его в памяти Лотколба). Успешно: результат в виде двухминутной работы плетения в точности соответствует смоделированной на компе ситуации с внесенными поправками. Но эффект – всегото парочка парящих над землей камней не более чем на двухметровой высоте! Нда, в точку фокуса таким образом явно не долетишь.
Засыпав яму и прибравшись на полигоне, расстроенный, я пошел отмокать в озерце. Погода была чудесная, вода приятная, на небе ни облачка. Я расслабился, успокоился и постарался более осмысленно взглянуть на результат. «А что, собственно, произошло? – пришла мысль. – Ну не получилось, пока, что поделаешь. И идей, к сожалению, никаких нет».
Программирование – профессия творческая. Почти для любой проблемы находится не менее дюжины способов решения. А иногда можно и нужно скорректировать исходную постановку задачи. Конечно, существует технология разработки и так называемые кодеры, которые пишут код, не отклоняясь от задания ни на миллиметр. Но мы не о них, бедных маленьких винтиках технического прогресса. Я имею в виду других работников клавиатуры, мышки и сканеров мысленных импульсов. Тех, кто, поняв реальные потребности заказчика, сам себе может поставить задачу, выбрать методу ее реализации, разработать интерфейсы и необходимые алгоритмы, построить архитектуру классов, типов, объектов, протоколов сообщений между модулями и реализовать все это добро в коде. Добиться не только того, чтобы оно заработало достаточно эффективно, но и было удобно в использовании людьми, не знакомыми с программированием. Вот нам часто приходится творить похлеще, чем какомунибудь живописцу. И в самом деле – каков инструментарий художника? Всего лишь холст, кисти, краски и собственное воображение. Инструмент известен в течение нескольких тысяч лет и за все это время не изменился. Рисовальщик оканчивает в юности какуюнибудь «Строгановку» и потом в меру дарования, отпущенного ему Господом, всю жизнь малюет холсты, добиваясь, чтобы его художественные способности соответствовали заявкам его воображения. Изучать ему ничего при этом не надо. Только лови моменты «божественного откровения» и воплощай в картинах. Житуха! А настоящий разработчик программного обеспечения живет постоянно в аморфном мире, где ежедневно меняется очень многое, да и он сам не стоит в стороне от прогресса. При этом часто приходится не только рисовать самому «морду» очередной программульки, но и подбирать инструменты (средства разработки, язык, библиотеки...) для создания, а также решать, которые из них следует доизготовить. Так кто больший творец? Универсальный программист или какойнибудь там художник?
И вот творец столкнулся с очередным серьезным затыком, и нет никаких идей по преодолению препятствия. Что делать? Нередкая ситуация. И тут можно поступить поразному.
Ктото «подстроит» исходные условия и поищет обходной путь. Ведь обычно нет требования сделать именно то, что указано. Как правило, нужно создать некий софт, решающий определенные проблемы заказчика. И заказчику важно, решает ли этот софт его задачу, а действует ли он самым оптимальным способом – дело десятое. Так что поле потенциальных решений очень широкое.
Другой принимается интенсивно копать теорию, ища в нужных книгах некое откровение, которое поможет идти дальше. И порой находит.
Третий начинает детально проверять уже проверенные идеи, ища какойлибо пропущенный полезный тоненький нюансик. И, кстати, довольно часто ему везет.
А помоему, нет лучшего способа найти решение сложной проблемы, чем немедленно сделать перерыв и постараться переключиться на другие, более легкие дела, по возможности лежащие в окрестностях решаемой задачи. Зачем? Фишка в том, что человеческий мозг – это вовсе не стандартная машина фон Неймана, которая дедуктивным методом последовательно вычисляет те или иные логические утверждения и на основе результатов делает выводы. И это не машина потока данных, прокачивающая спеллы через иерархическую сеть по мере их разрешения. И даже не нейронная сеть, хотя нейроны в мозгу, разумеется, есть (биологические нейроны и узлы математической нейронной сети – это совершенно разные штуковины, хотя и с похожим названием). Все и проще, и сложнее. Сложнее потому, что мозг умеет работать и в режиме машины потока данных, и в режиме нейронной сети (а уж о машине фон Неймана и говорить нечего), причем этих «машин» одновременно может работать довольно много. А проще потому, что на самом деле в этом биологическом компьютере существуют всего два главных процессора – сознание и подсознание, а остальное – обычные фокусы типа многозадачного запуска приложений. Сознание работает, когда мы думаем, оцениваем ситуацию, выбираем новые пути решения тех или иных задач, а подсознание размышлениями не занимается. Его работа – помочь индивидууму выжить в окружающем мире, сохранить его место в этом мире и отразить непосредственные угрозы данному существу. Подсознание – это рефлексы, инстинкты, интуиция. Однако мало кто понимает, что это – тоже процессор. Причем, что удивительно, процессор безошибочный. Если размышляя над той или иной проблемой, мы легко можем забыть какиенибудь граничные условия, один или несколько прошлых выводов, то подсознание (в рамках своей компетенции) не забывает ничего, просто не умеет. Его вывод всегда точен и однозначен. К сожалению, наше сознание не всегда удосуживается его «прочитать» и принять.
Интересно, что каждый из нас по своей воле может пользоваться возможностями процессораподсознания. Что же нужно сделать? Очень просто. Когда человек в течение длительного времени безрезультатно размышляет над некоей проблемой, мозг «перегревается» от бурления разных мыслей, а также «криков отчаяния», подавляемых волей. Подсознание постепенно начинает воспринимать все это как угрозу существования организма и включается в работу. Постепенно процессорподсознание полностью вовлекается в решение задачи и начинает его мусолить параллельно с сознанием, как бы в фоновом режиме. Этот момент наступает тем быстрее, чем сильнее индивидуум желает решить конкретную задачу. И как только вы поняли, что возникла именно такая ситуация, немедленно переключайтесь на другую тему, гораздо более приятную и обязательно требующую как можно меньше вычислительных усилий. Очень полезно пойти лечь спать или заняться настоящей медитацией. Во время медитации или во сне сознание засыпает, а подсознание продолжает неутомимо шевелить своими «шестеренками». Причем гораздо более эффективно, ибо сознание уже не отбирает лишние ресурсы мозга на всякие свои глупенькие идейки.
Взаимодействие сознания и подсознания можно и нужно тренировать. Как? Это тоже давно известно. К примеру, шахматисты уже в течение двухсот лет прекрасно знают, как развить «шахматное» зрение. Для этого необходимо глубоко изучать теорию, но при этом как можно чаще играть в блиц. То есть приучить себя полагаться на первое же решение позиции, которое придет в голову. Поначалу окажется сложно и будешь часто проигрывать. Но постепенно мозг приспособится, и «шахматное зрение» (система взаимодействия сознания с подсознанием) разовьется настолько, что играть, полагаясь на интуицию, станешь намного более эффективно, чем подолгу раздумывая над каждым новым ходом. То же самое относится и к любым другим видам интуитивного «зрения». Опытные программисты хорошо знают, что со временем им почти не приходится думать над тем или иным решением задачи, оно как бы появляется само собой, как некое откровение. Порой вы можете увидеть разработчика, азартно стучащего по клавиатуре компьютера, одновременно ведущего весьма информативную беседу с коллегами, параллельно прихлебывающего кофе из чашки на столе, закусывающего бутербродом и издающего ответные вопли на компостирование мозгов стоящим рядом начальством. А вообще запомните: чем больше решений по жизни вы принимаете на основе того, что первым приходит в голову, тем лучше работают ваши мозги вообще и тем более тонкой становится интуиция.