Các vần đề được đề cập từ đầu đến nay cho phép chúng ta viết nhiều chương trình, Tuy nhiên, các chương trình đó có nhược điểm là bất cứ khi nào được chạy, chúng luôn thực hiện một chuỗi các thao tác giống nhau, theo cách thức giống nhau. Trongkhi đó, chúng ta chỉ thường xuyên chỉ cho phép thực hiện các thao tác nhất định nếu nó thỏa mãn điều kiện đưa ra