There is an ongoing debate on the extent to which the writing of programs is an art, a craft or an engineering discipline.