Why Adaptive Programs?