Лететь легко. Часть первая. Глава вторая

Владимир Никитюк
Глава вторая. Что нам стоит дом перестроить?

На первый взгляд казалось, что никакой загадки вовсе не было. Ну – человек не понимал, ему объяснили, он наконец понял. Что тут особенного?

На самом деле странности здесь явно присутствовали. Да, количество иногда переходит в качество (на самом деле очень и очень часто). Но отнюдь не всегда переход бывает настолько резок.

А может быть, дело в другом? Может быть, Николай не очень хорошо понимает устные объяснения? Поэтому и пришлось объяснять ему несколько раз? А когда, наконец, понял – всё сразу и наладилось...

Дело в том, что сам Анатолий тоже не очень хорошо воспринимал информацию со слуха. Правда, это ему не очень мешало, так как он ещё с детства научился заниматься самостоятельно. Научился он этому случайно, так как в окружающей нас действительности серьёзное обучение методам самостоятельной учёбы как-то не предусмотрено.

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

Анатолия аж передёрнуло, когда он представил такую ситуацию. А фантазия  продолжала работать дальше. Если человек не умеет серьёзно заниматься по учебникам – это одно. А если он даже не догадывается, что такая возможность есть – это совсем-совсем другое.

Нет, конечно, и в этом случае он от кого-то слышал, что можно взять книжку и самостоятельно что-то выучить. Может быть, даже несколько раз сам попробовал. Но, поскольку этому сразу не научишься, в голову этого человека запало, что самообучение – это  не для него.

«Интересно! - подумал Анатолий. - Может быть, у Николая как раз именно такие проблемы... Можно попробовать поработать в этом направлении...»

Судя по всему, такая возможность должна была очень скоро представиться...      

* * *
               
Впрочем, с философией надо было кончать. Ведь надо было срочно заканчивать собственную работу Анатолия.

Что он и попробовал сделать. И – к сожалению – безрезультатно. Собственная работа совершенно не хотела двигаться вперёд. В общем, почти час времени он потратил впустую.

И чувствовал он себя при этом очень странно. В голове было пусто. Мысли разбегались. В общем, почти час времени был потерян бездарно.

А потом к его столу снова подошёл Николай.   
      
* * *
               
Сначала Анатолий жутко расстроился: времени и так мало, а тут приходится его тратить на что-то бесполезное (точнее, полезное – но для кого-то другого).

А потом вдруг неожиданно испытал некое облегчение. Потому что появился хоть какой-то повод отвлечься от безрезультатных попыток продвинуть свою работу. Хоть на короткое время можно было заняться чем-то простым, хотя это простое и было чужим проектом.

В отличии от Анатолия, Николай зря времени не терял. Он реализовал все замечания Анатолия – и, как ни странно, в общем и целом правильно.

Правда, кое-какие шероховатости всё-таки были. Но такие незначительные, что о них не стоило и упоминать. Работе они в принципе не мешали, а вот запутывать автора программы, который наконец написал что-то приличное, лишний раз не стоило. У программистов и так работа беспокойная.

Одобрив всё, что сделал Николай, Анатолий уже решил вернуться на своё рабочее место. Но оказалось, что ошибки исправлены, а программа всё равно не работает. Что-то в ней всё-таки было не то.

И Николай, конечно, задал резонный вопрос: что ему делать дальше? 

Что тут оставалось делать Анатолию? Пришлось опять разбираться...

Только вот оказалось, что «точечными» исправлениями здесь уже не обойтись...
      
* * *
- Понимаешь! - объяснял он Николаю, - всё необходимые исправления, касающиеся маленьких «кусочков» программы, ты уже сделал. Теперь, чтобы программа, наконец, заработала, надо менять её структуру.

И, увидев на лице Николая недоумение, решил объяснить свою мысль с помощью аналогии:

- Вот, представь себе, ты строишь дом. И возникли кое-какие проблемы. А ломать и строить заново – дорого. Вот ты и начинаешь подправлять на ходу. Входная дверь плохая – заменил. Стекло в окне треснуло – вставил новое. Пара кирпичей треснула – выбил их и вставил новые.

- А разве так можно? - удивился Николай.

- Ну, допустим, что можно. В конце концов мы не технологию строительства обсуждаем. Дом, это так, - для аналогии.

Николай скептически хмыкнул, но ничего не сказал. А Анатолий продолжал:

- Я к чему это говорю? Теперь изъянов в отдельных кусках программы нет – ты их только что устранил. Настало время переходить ко второму этапу – менять способ их соединения. Или, говоря точнее, архитектуру программы.

- А поконкретнее можно? - заинтересованно спросил Николай.

- Я опять постараюсь объяснить по аналогии со строящимся домом. Вот если бы вдруг выяснилось, что дверь и одно из окон находятся не там, где нужно, и их надо поменять местами – это и было бы изменением архитектуры.

- Странные вещи ты мне говоришь! - удивился Николай. - Твой архитектор, он что – в пьяном виде дом проектировал?

«Опять он говорит не о том!» - мысленно поморщился Анатолий. А Николай между тем продолжал:

- И, главное, как можно поменять в уже построенном здании окно и дверь? Ведь оно после такой попытки сразу же развалится!

Тут Николай подумал, что приведённая им аналогия не совсем удачна. Ну что ж – надо было как-то выкручиваться. И он торопливо сказал:

- Не забывай, что это-всё таки не больше, чем аналогия. А потом – иногда программы тоже разваливаются. Вот пишешь, пишешь – а потом выясняется, что дальше двигаться просто нельзя. И единственный выход – сделать всё заново.

Николай вздохнул. Чувствуется, такая неприятность случалась у него не раз.

Анатолий тоже вздохнул – только мысленно. Похоже, у него самого эта ситуация очень скоро возникнет. А времени совсем нет. Да ещё и на чужую работу зачем-то отвлёкся...

Но, как говорит известная пословица, «взявши за гуж не говори, что не дюж». И Анатолий, вздохнув, перевёл взляд на экран и тихо сказал:

- Ну ладно, всё, что я сказал, было вступлением. А теперь посмотрим, что конкретно можно сделать с твоей программой...