Recently, Brian Kernighan gave a lecture at Princeton talking about “The Changing Face of Programming”.
At the end he references Fred Brooks and his 1986 article “No Silver Bullet”
“There is no single development, in either technology or management technique, which by itself promises even one order-of-magnitude improvement within a decade in productivity, in reliability, in simplicity.”
Brooks also states that he believes the hardest part of developing software is always going to be the design/conceptualizing stage. He says:
I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. We still make syntax errors, to be sure; but they are fuzz compared with the conceptual errors in most systems.
If this is true, building software will always be hard. There is inherently no silver bullet.