2.1: Why Programming Is Hard to Learn