Чтение онлайн

на главную - закладки

Жанры

Включите свою рабочую память на полную мощь
Шрифт:

Опираясь на отношения между фигурами, Сьюзен Полгар может применять один и тот же блок в самых разных игровых ситуациях, даже если расположение фигур на доске отличается от того, что встречалось ей ранее. Конечно, вилка – это достаточно простое положение фигур. В своих партиях Сьюзен использует гораздо более сложные выигрышные блоки, включающие в себя множество фигур и большое количество продуманных ходов. Но методика блоков, в основе которых лежат отношения между фигурами, будет полезна как для гроссмейстеров, так и для начинающих шахматистов.

Второй отличительной особенностью Сьюзен Полгар является то, что она начинает игру с конца, то есть с результата, которого хочет достичь. В шахматах целью игры является поставить противнику мат. От этого результата Сьюзен и отталкивается, учитывая текущее

расположение фигур на доске. Такой подход требует задействования рабочей памяти, но в то же время позволяет разгрузить дирижера рабочей памяти – ведь при движении с конца ему придется рассматривать меньшее количество ходов. Если начинать игру сначала, от положения фигур на доске, перед вами будет больше ходов и комбинаций, которые нужно рассмотреть и проанализировать. Но при планировании игры с конца многие ходы отпадут сами собой.

Блок, часть 2. Не усложняйте

Еще одним гением рабочей памяти, который пользуется для запоминания методом блоков, является Феррос Абухадиджех. На первый взгляд он ничем не отличается от обычного студента курса информатики при Стэнфордском университете, но известный журнал New York Magazine уже присвоил Ферросу титул суперпрограммиста и назвал его новым Стивом Джобсом и Марком Цукербергом будущего. Предметом гордости Ферроса Абухадиджеха можно считать поисковую систему YouTube Instant (ytinstant.com), которая позволяет быстро искать видеоролики и мгновенно проигрывать их. Феррос поспорил с соседом по комнате, что сможет создать поисковую систему для сервиса YouTube в реальном времени, и на это у него уйдет менее часа. Он проиграл спор, так как на создание системы ушло три часа (возможно, потому, что Феррос одновременно программировал и смотрел фильм).

Закончив работу, он разместил ссылку на новый сайт на своей странице в Facebook и лег спать. Когда он проснулся, его ждали четырнадцать пропущенных звонков и десять текстовых сообщений на телефоне, а также приглашение на интервью от газеты Washington Post. Не прошло и четырнадцати часов после размещения на Facebook ссылки на сайт ytinstant.com, как главный исполнительный директор YouTube, Чад Херли, предложил Ферросу Абухадиджеху работу, от ко торой молодой человек отказался. С тех пор сайт ytinstant.com посетили миллионы пользователей, а Феррос все так же остается студентом Стэнфорда и вежливо отклоняет приглашения на работу от ведущих компаний, за исключением одной – Facebook, в которой он в свое время проходил стажировку у Марка Цукерберга. Как признался нам Феррос, он хочет работать на себя и быть своим собственными директором.

Пример Ферроса Абухадиджеха свидетельствует о том, что иногда навыки специалистов в той или иной области могут быть полезными и другим людям. В детстве Феррос перепрограммировал режим защиты от детей в микроволновой печи так, что его мать не могла включить этот режим. В одиннадцать лет он создал свой первый сайт. Будучи школьником, Феррос купил книгу о разработке сайтов и без какой-либо специальной подготовки самостоятельно разобрался, как запустить сайт в интернете. В результате появился сайт freetheflash.com для обмена видеофайлами, который стал прототипом YouTube. Несмотря на погрешности в коде, сайт выполнял свои функции и очень быстро стал популярным. Сайт мог похвастаться хорошей статистикой: шестьсот тысяч посетителей и три миллиона просмотров. Как же этому молодому человеку удалось достичь таких головокружительных успехов? По его собственным словам, секрет прост: «Работа, работа и еще раз работа». Оттачивая мастерство программирования, Феррос научился работать с умом. Одним из основных и эффективных методов является программирование при помощи блоков.

Давайте рассмотрим процесс программирования, так сказать, изнутри. Все начинается с компьютерной программы, которая представляет

собой идею, воплощенную в жизнь с помощью фрагментов кода – своеобразных инструкций, с помощью которых человек отдает компьютеру команду для выполнения тех или иных функций. Существует огромное количество самых разных программ, но все они создаются путем объединения нескольких блоков кода в одно целое. Одни и те же блоки могут использоваться в различных программах. Для небольшой программы средней сложности, состоящей из нескольких блоков, может понадобиться несколько тысяч строк кода. А при создании более сложных программ количество строк кода может доходить до миллиона. Сохранить такое количество строк в долговременной памяти просто невозможно.

Как же тогда Абухадиджех пишет свои программы? Очень просто: вместо того чтобы запоминать программы целиком или по частям, он оперирует имеющимися блоками кода, составляя из них программу, подобно тому как шахматист двигает фигуру за фигурой, чтобы выиграть. Скажем, ему нужно написать программу, обеспечивающую доступ к электронной почте по паролю. Первый блок программы должен сверить введенный пароль с правильным, второй – обеспечить доступ к электронному почтовому ящику в случае введения правильного пароля, а третий – заблокировать доступ к почте, если пароль неверный. Вместе эти блоки образуют одну программу. Если собрать их неправильно, программа может вести себя непредсказуемо: заблокировать доступ при правильном пароле или, наоборот, впустить пользователя по неправильному паролю. Но если вы четко знаете, какие функции выполняет тот или иной блок, то гарантированно получите надежную программу доступа к электронной почте.

Более того, как и в случае с шахматными блоками Сьюзен Полгар, блоки программного кода можно разделить на более и менее эффективные. Феррос Абухадиджех смог создать сайт ytinstant.com так быстро потому, что не распылялся на мелкие детали, а держал в уме целостную картину. Как вы знаете, шахматные блоки, основанные на отношениях между фигурами, запоминаются гораздо легче, чем блоки, основанные на точном расположении фигур на шахматной доске. Точно так же Феррос считает, что блоки программного кода нужно стараться использовать с наибольшей эффективностью. Иными словами, необходимо стремиться к простоте везде, где только возможно.

Чтобы стало понятнее, Феррос объясняет, что существует два уровня программирования: высокий и низкий. Высокоуровневое программирование представляет собой читабельный текст с описанием основных функций программы. Специалист, составляющий такие тексты, называется техническим писателем. При их составлении не рекомендуется увлекаться техническими подробностями, чтобы не нарушить целостность текста. Для уточнения отдельных моментов существуют сноски, которые обычно располагаются в нижней части страницы или в конце статьи. Чтобы избежать чрезмерного усложнения высокоуровневого текста, опытные программисты, такие как Абухадиджех, широко используют низкоуровневые сноски. К примеру, чтобы описать возведение числа в квадрат в высокоуровневом тексте, не нужно подробно расписывать саму операцию (х2 = х x х). Достаточно просто написать sq (для обозначения возведения в квадрат) и дать определение операции sq в низкоуровневом тексте.

Как известно, чем больше объем информации, тем выше вероятность перегрузки дирижера рабочей памяти. При составлении программ Феррос использует простые блоки (к примеру, блок sq) и подробно расписывает их только после того, как готов набросок программы. Таким образом дирижер рабочей памяти контролирует процесс создания программы и помогает не упускать из виду конечную цель. Феррос Абухадиджех может определить качество работы программиста по тем блокам, которые он использует. Менее опытные программисты часто включают низкоуровневую информацию в высокоуровневый текст. Это свидетельствует о том, что специалист не способен в полной мере дифференцировать уровень сложности того или иного блока, а значит, существует опасность запутаться в деталях и упустить главное. Если бы Феррос расписывал каждую сноску при создании сайта ytinstant.com, он никогда не справился бы с заданием за три часа. Только благодаря упрощению его рабочая память смогла сосредоточиться на поиске оригинального решения.

Поделиться:
Популярные книги

Месть за измену

Кофф Натализа
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Месть за измену

Грозовой замок

Мазуров Дмитрий
7. Громовая поступь
Фантастика:
фэнтези
героическая фантастика
рпг
5.00
рейтинг книги
Грозовой замок

Барон Дубов 5

Карелин Сергей Витальевич
5. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 5

Кодекс Крови. Книга VI

Борзых М.
6. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VI

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Загадки Лисы

Началова Екатерина
3. Дочь Скорпиона
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Загадки Лисы

Чудовищная алхимия. Том 1

Тролль Борис Фёдорович
1. Мир в чужом кармане
Фантастика:
юмористическое фэнтези
попаданцы
фэнтези
5.00
рейтинг книги
Чудовищная алхимия. Том 1

Весь цикл «Десантник на престоле». Шесть книг

Ланцов Михаил Алексеевич
Десантник на престоле
Фантастика:
альтернативная история
8.38
рейтинг книги
Весь цикл «Десантник на престоле». Шесть книг

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Идеальный мир для Лекаря 6

Сапфир Олег
6. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 6

Страж Кодекса. Книга V

Романов Илья Николаевич
5. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга V

Неудержимый. Книга XXIV

Боярский Андрей
24. Неудержимый
Фантастика:
попаданцы
фэнтези
фантастика: прочее
5.00
рейтинг книги
Неудержимый. Книга XXIV

Последний наследник

Тарс Элиан
11. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний наследник