Что такое программирование? Представьте, что вы подробно описываете надевание штанов: "взять штаны так, чтобы ширинка была спереди, а задний карман - сзади; нагнуться, опустить руки до уровня коленок..." и т. д. Это и есть программирование. Что такое программирование на языке ассемблер? Представьте, что вы описываете надевание штанов очень подробно, в виде: "сократить такую-то мышцу, растянуть такую-то..." Что такое тестирование программы? Протестировать программу - значит попробовать надеть штаны. Могу гарантировать, что с первого раза у вас ничего не получится: штаны вы наденете задом наперед или на голову. Чем отличаются эффективный и неэффективный алгоритмы? Если вы действуете по эффективному алгоритму надевания штанов, то надеваете их секунд за 20, в ином случае – будете надевать до вечера. Что такое ошибка в программе? Если, надев штаны по своему описанию, вы обнаружили, что ширинка застегнута у вас на затылке или что вы не можете ее застегнуть совсем (из-за стянутых штанами рук), значит, вами была допущена ошибка в программе. Что такое ошибка, приводящая к зависанию компьютера (мегаклоп)? Если, надев штаны, вы обнаружили, что задохнулись - значит, в описании вы допустили мегаклоп. Что такое оптимизация программы? Сначала вы читаете один из вариантов надевания штанов, а потом пытаетесь сделать его более эффективным. Например, меняете последовательность: "распороть штаны, приложить все куски куда нужно и затем сшить по старым швам" на любую другую, менее трудоемкую. Что такое переносимость? Это когда по вашему алгоритму можно надеть любые штаны на любого человека. Что такое крах системы? Исчезновение ваших штанов - как результат вашей деятельности.
|