“The need to improve current industrial software engineering practice is widely felt. To mention only a few striking examples: too many software projects fail and are canceled before completion or are not delivered on time or exceed their budget the energy spent on testing code is ever increasing and tends to represent more than half of the entire development cost, the number of errors found in complex software is ofter rather high, there is almost no software warranty whatsoever, but again and again the world is surprised by Trojan horses and security holes, etc.”
— Abstract State Machines, Egon Börger and Robert Stärk, 1998
I feel that despite almost everyone knowing this, nobody has the balls to lead such a change because most of the time the given company would lose market share and money…Looking at it from the bright side, I guess this means we will have fun for years and years to come :-)
I’m not sure about the market share. Java for instance is a step in the good direction, and the weight of Google behind Groovy and Python is kind of reassuring. But in the foreseeable future, software is still going to suck badly ^^