Has Software Development Improved?
earnest_deyoung asks: "Twenty-five years ago Frederick Brooks laid out a vision of the future of software engineering in "No Silver Bullet." At the time he thought improvements in the process of software creation were most likely to come from object-oriented programming, of-the-shelf components, rapid prototyping, and cultivation of truly great designers. I've found postings on /. where people tout all sorts of design tools, from languages like Java, Perl, Python, Ruby, and Smalltalk to design aids and processes like UML and eXtreme Programming. I'm in a Computer Science degree program, and I keep wondering what "improvements" over the last quarter century have actually brought progress to the key issue: more quickly and more inexpensively developing software that's more reliable?"
from what I can tell programmers (or if you are self-important, Software Engineers) haven't improved at all, but management has. Languages like Java and stuff like UML and pure OO development aren't really aids to programming, they're aids to communicating your design to management. Management is thus more clueful and will allow the good shit to go and the slop to go back to the drawing board.
Actually I think programming has gotten *MUCH* worse with GUI based programming environments like Delphi, VB and even Visual Studio. These tools strongly encourage painting the program and responding to events rather then concentrating on abstractions, infrastructure and good design. In making things easier, they fail to allow programmers to understand what goes on under the hood and most younger programmers (who never really had to understand what goes on) are programming via wizards that assumes a certain architectures and approach. Outside in (GUI based) programming methodologies usually collapse after programs reach a certain size and complexity.
The difference between contracting out to an Indian IT farm and hiring a great programmer -- from any country -- is rather akin to the difference between employing 100 monkeys and hoping one of them will bang out Hamlet, and hiring William Shakespeare.
The truly brilliant programmers are few. And pretty expensive. But they're well worth it.
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!