Блочная программа
Ангел-программист — ничего. Человек — время. То, которое он тратит на поиск ошибок. И то, которое идет на исправление этих ошибок.
Блочная программа позволяет относительно легко заменять куски программы — нам незачем писать программу слитно. Более того, если программа легко влезает в память, блоки стоит сразу кодировать с некоторым зазором — неровен час, придется исправлять блок и он удлинится.
Блочную программу очень удобно отлаживать. Прежде всего можно пройтись по Отавной собиралке, ставя стоп по адресу при возврате из очередного блока. Если программе суждено вылететь на Авост или зациклиться, мы сразу увидим, в каком блоке это случилось. Пусть нам не повезло, и этот плохой блок сам является сложным. Что ж, начнем сначала, поставив на сей раз стоп по адресу по входу в блок. А теперь перейдем к подчиненной блок-программе самого этого блока и пойдем по ней так же, как шли по главной собиралке. Переход к следующим рангам подчинения мы оставляем читателю в качестве упражнения.
Кроме облегчения поиска ошибок, блочная программа облегчает проверку. Благодаря четкому выделению блоков, нам легче составить контрольные задачи для проверки работы каждого из них.
И, наконец, блочная программа легче эволюционирует. А ангелы-заказчики, к сожалению, почти столь же редки, как и ангелы-программисты. От этого в реальной жизни программы приходится переделывать. Поскольку блоки более или менее развязаны, переделки эти происходят куда как легче и быстрее. Как и в биологии, побеждает вид, более склонный к эволюции. Точнее — выживает не сама программа, а ее модификация.
Блочная программа позволяет относительно легко заменять куски программы — нам незачем писать программу слитно. Более того, если программа легко влезает в память, блоки стоит сразу кодировать с некоторым зазором — неровен час, придется исправлять блок и он удлинится.
Блочную программу очень удобно отлаживать. Прежде всего можно пройтись по Отавной собиралке, ставя стоп по адресу при возврате из очередного блока. Если программе суждено вылететь на Авост или зациклиться, мы сразу увидим, в каком блоке это случилось. Пусть нам не повезло, и этот плохой блок сам является сложным. Что ж, начнем сначала, поставив на сей раз стоп по адресу по входу в блок. А теперь перейдем к подчиненной блок-программе самого этого блока и пойдем по ней так же, как шли по главной собиралке. Переход к следующим рангам подчинения мы оставляем читателю в качестве упражнения.
Кроме облегчения поиска ошибок, блочная программа облегчает проверку. Благодаря четкому выделению блоков, нам легче составить контрольные задачи для проверки работы каждого из них.
И, наконец, блочная программа легче эволюционирует. А ангелы-заказчики, к сожалению, почти столь же редки, как и ангелы-программисты. От этого в реальной жизни программы приходится переделывать. Поскольку блоки более или менее развязаны, переделки эти происходят куда как легче и быстрее. Как и в биологии, побеждает вид, более склонный к эволюции. Точнее — выживает не сама программа, а ее модификация.


