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