Quote
Niklaus Wirth vs. Donald Knuth on Software Engineering
Thus has Niklaus Wirth expressed his opinion on Software Engineering:
After more than 30 years of programming we ought to know that the design of complex software is inherently difficult.
Edsger Dijkstra called Software Engineering “Programming in spite of the fact that you can’t.”
Indeed, the woes of Software Engineering are largely due to lack of sufficient technical competence.
A good designer must rely on experience, on precise, logic thinking; and on pedantic exactness.
No magic will do.
It is particularly sad that in many informatics curricula, programming in the large is badly neglected.
Design has become a non-topic.
As a result, Software Engineering has become the El Dorado for hackers:
The more chaotic a program looks, the smaller the danger that someone will take the trouble of inspecting and debunking it.
How did we arrive here, when we grew up in the light of Donald Knuth’s wise words?
My feeling is that when we prepare a program, the experience can be just like composing poetry or music; as Andrei Ershov has said, programming can give us both intellectual and emotional satisfaction, because it is a real achievement to master complexity and to establish a system of consistent rules.



