by Edsger W. Dijkstra In the world around us we encounter two radically different views of programming: View A: Programming in essence is very easy. View B: Programming is intrinsically very difficult. One can dismiss this discrepancy by concluding that, apparently, in the two views the same word “programming” is used in two quite different