Как-то в полусне я оделся и вышел на улицу. Под ногами мерзко визжал снег. Кругом все было серо и как-то тускло. Мне больше не нужен был ни комьютер, ни распечатки. Вся схема была во мне.. Или вне меня? Она помигивала разноцветными просвирками, имея форму причудливых и чем-то даже красивых трехмерных фигур или это какие-то ажурные конструкции?
Тоненько попискивали контрольные маркеры временных отметок висящие впритирку к этим кристаллам странных, каких-то завораживающих форм. И все это летело, куда-то перемещаясь и вращаясь, в каком то странно меняющем форму канале? Трубе? Оно проноситься вплотную ко всем его стенкам, как по команде невидимого штурмана, в нужный момент, разворачиваясь по непонятно какому наитию, чтобы выступающая грань не зацепилась за препятствие. Но каков его капитан или кто там? Штурман? Ведь не пройдет же! Там нельзя пройти! Hо нет! Чудесным образом все сооружение как-то грациозно изворачивается, ровно в нужное мгновенье и беззвучно проскакивает.. нет!
Величаво минует препятствие.. А впереди следующее.. И вдруг, край ажурного сооружения своим крохотным выступом цепляется. Визг и грохот! Лопаются и сминаются сверкающие нити, и все дробится на миллионы осколков..
По моему, это можно назвать "визуализацией" алгоритма. Человек представляет свою программу в виде "живого" 3D-объекта, который может двигаться, изменятся и т.д...
Задумался, а ведь иногда, и я "вижу" алгоритм. Не в виде строк кода, это некое другое "видение", когда можешь созерцать не объект, в процесс идущий в его структурах.
Сложно передать на словах, но все-же попробую. Программу "вижу" в виде большого количества полупрозрачных, разноцветных стеклянных кубиков. Рубиновых, изумрудных, золотых и т.д. Каждый кубик может представлять логическую единицу хранения информации: байт, структуру, переменную. Когда в кубик попадают данные, он вспыхивает светом и можно увидеть какое число внутри.
Отдельные кубики имеют разный размер и связь между собой, цвет зависит от типа хранения данных.
Например структура:
- Код: Выделить всё
Type VB_EXE_SECTION
Offset_SectionImage As Dword
Size_SectionImage As Word
Offset_NT_Header As Dword
Size_NT_Header As Word
End Type
Dim Var as Type VB_EXE_SECTION
Мне "видится" в таком образе:

А сама программа или совокупность связанных структур, может предстать в таком виде:

Это сложно передать словами, но иногда, такое видение накатывает подобно озарению, и ты как бы сразу видишь готовое решение. Это всегда происходит спонтанно, на уровне интуиции.
Вот к примеру, пару дней назад, решил реализовать алгоритм перестройки EXE файла. Перемешивание секций, отрезание импорта и т.д. Все, чтобы запутать отладчик кракера. И споткнулся на странной ошибке, после перестройки всех ссылок EXE файл падал при загрузке лоадером. Сев за отладку с 8 вечера, я просидел за компом всю ночь. Часов в 6 утра, совершенно отупевший от усталости, сотен прогонов программы под отладчиком и выпитого кофе, ошибку так и не обнаружил. И когда уже хотел идти спать, у меня на заднем плане сознания, вдруг возникло "видение" структуры экзешника. Сотни цветных кубиков, переливались огнями и вспыхивали от поступающих данных. Стараясь удержать картину в голове, я начал наблюдать за происходящим и мысленно начал перемещать секции, и когда в конце-концов "сдвинул" таблицу секций в конец файла, от нее осталось "пустое место", затем вся конструкция сдвинулась вверх заместив постоту. И тут меня как током ударило! Я забыл сделать поправку, равную размеру перемещенной таблицы секций, в результате чего один из указателей в заголовке указывал на "деревню дедушке". Сместив офсет на нужный размер, программа сразу запустилась!

Интересно, кто еще испытывает подобную "визуализацию алгоритма", поделитесь своим "ви`дением". Как вам видится программа, алгоритм?