David Parnas has said that software engineering is, in fact, a form of engineering.[19][20] Steve McConnell has said that it is not, but that it should be.[21] Donald Knuth has said that programming is an art and a science.[22] Edsger W. Dijkstra claimed that the terms software engineering and software engineer have been misused[clarification needed] and should be considered harmful, particularly