Concern for correctness as a guiding principle for program construction