На первый взгляд казалось, что никакой загадки вовсе не было. Ну - человек не понимал, ему объяснили, он наконец понял. Что тут особенного?
На самом деле странности здесь явно присутствовали. Да, количество иногда переходит в качество (на самом деле очень и очень часто). Но отнюдь не всегда переход бывает настолько резок.
А может быть, дело в другом? Может быть, Николай не очень хорошо понимает устные объяснения? Поэтому и пришлось объяснять ему несколько раз? А когда, наконец, понял - всё сразу и наладилось...
Дело в том, что сам Анатолий тоже не очень хорошо воспринимал информацию со слуха. Правда, это ему не очень мешало, так как он ещё с детства научился заниматься самостоятельно. Научился он этому случайно, так как в окружающей нас действительности серьёзное обучение методам самостоятельной учёбы как-то не предусмотрено.
Но если бы он не умел учиться по книжкам... Если бы для того, чтобы повысить свою квалификацию, ему каждый раз требовалось окончить какие-то курсы, или, на худой конец, выслушать чьи-то объяснения... Тогда бы его жизнь стала очень и очень непростой...
Анатолия аж передёрнуло, когда он представил такую ситуацию. А фантазия продолжала работать дальше. Если человек не умеет серьёзно заниматься по учебникам - это одно. А если он даже не догадывается, что такая возможность есть - это совсем-совсем другое.
Нет, конечно, и в этом случае он от кого-то слышал, что можно взять книжку и самостоятельно что-то выучить. Может быть, даже несколько раз сам попробовал. Но, поскольку этому сразу не научишься, в голову этого человека запало, что самообучение - это не для него.
"Интересно! - подумал Анатолий. - Может быть, у Николая как раз именно такие проблемы... Можно попробовать поработать в этом направлении..."
Судя по всему, такая возможность должна была очень скоро представиться...
* * *
Впрочем, с философией надо было кончать. Ведь надо было срочно заканчивать собственную работу Анатолия.
Что он и попробовал сделать. И - к сожалению - безрезультатно. Собственная работа совершенно не хотела двигаться вперёд. В общем, почти час времени он потратил впустую.
И чувствовал он себя при этом очень странно. В голове было пусто. Мысли разбегались. В общем, почти час времени был потерян бездарно.
А потом к его столу снова подошёл Николай.
* * *
Сначала Анатолий жутко расстроился: времени и так мало, а тут приходится его тратить на что-то бесполезное (точнее, полезное - но для кого-то другого).
А потом вдруг неожиданно испытал некое облегчение. Потому что появился хоть какой-то повод отвлечься от безрезультатных попыток продвинуть свою работу. Хоть на короткое время можно было заняться чем-то простым, хотя это простое и было чужим проектом.
В отличии от Анатолия, Николай зря времени не терял. Он реализовал все замечания Анатолия - и, как ни странно, в общем и целом правильно.
Правда, кое-какие шероховатости всё-таки были. Но такие незначительные, что о них не стоило и упоминать. Работе они в принципе не мешали, а вот запутывать автора программы, который наконец написал что-то приличное, лишний раз не стоило. У программистов и так работа беспокойная.
Одобрив всё, что сделал Николай, Анатолий уже решил вернуться на своё рабочее место. Но оказалось, что ошибки исправлены, а программа всё равно не работает. Что-то в ней всё-таки было не то.
И Николай, конечно, задал резонный вопрос: что ему делать дальше?
Что тут оставалось делать Анатолию? Пришлось опять разбираться...
Только вот оказалось, что "точечными" исправлениями здесь уже не обойтись...
* * *
- Понимаешь! - объяснял он Николаю, - всё необходимые исправления, касающиеся маленьких "кусочков" программы, ты уже сделал. Теперь, чтобы программа, наконец, заработала, надо менять её структуру.
И, увидев на лице Николая недоумение, решил объяснить свою мысль с помощью аналогии:
- Вот, представь себе, ты строишь дом. И возникли кое-какие проблемы. А ломать и строить заново - дорого. Вот ты и начинаешь подправлять на ходу. Входная дверь плохая - заменил. Стекло в окне треснуло - вставил новое. Пара кирпичей треснула - выбил их и вставил новые.
- А разве так можно? - удивился Николай.
- Ну, допустим, что можно. В конце концов мы не технологию строительства обсуждаем. Дом, это так, - для аналогии.
Николай скептически хмыкнул, но ничего не сказал. А Анатолий продолжал:
- Я к чему это говорю? Теперь изъянов в отдельных кусках программы нет - ты их только что устранил. Настало время переходить ко второму этапу - менять способ их соединения. Или, говоря точнее, архитектуру программы.
- А поконкретнее можно? - заинтересованно спросил Николай.
- Я опять постараюсь объяснить по аналогии со строящимся домом. Вот если бы вдруг выяснилось, что дверь и одно из окон находятся не там, где нужно, и их надо поменять местами - это и было бы изменением архитектуры.
- Странные вещи ты мне говоришь! - удивился Николай. - Твой архитектор, он что - в пьяном виде дом проектировал?
"Опять он говорит не о том!" - мысленно поморщился Анатолий. А Николай между тем продолжал:
- И, главное, как можно поменять в уже построенном здании окно и дверь? Ведь оно после такой попытки сразу же развалится!
Тут Николай подумал, что приведённая им аналогия не совсем удачна. Ну что ж - надо было как-то выкручиваться. И он торопливо сказал:
- Не забывай, что это-всё таки не больше, чем аналогия. А потом - иногда программы тоже разваливаются. Вот пишешь, пишешь - а потом выясняется, что дальше двигаться просто нельзя. И единственный выход - сделать всё заново.
Николай вздохнул. Чувствуется, такая неприятность случалась у него не раз.
Анатолий тоже вздохнул - только мысленно. Похоже, у него самого эта ситуация очень скоро возникнет. А времени совсем нет. Да ещё и на чужую работу зачем-то отвлёкся...
Но, как говорит известная пословица, "взявши за гуж не говори, что не дюж". И Анатолий, вздохнув, перевёл взляд на экран и тихо сказал:
- Ну ладно, всё, что я сказал, было вступлением. А теперь посмотрим, что конкретно можно сделать с твоей программой...