No More Coding From Scratch? 323
Susan Elliott Sim asks: "In the science fiction novel, 'A Deepness in the Sky,' Vernor Vinge described a future where software is created by 'programmer archaeologists' who search archives for existing pieces of code, contextualize them, and combine them into new applications. So much complexity and automation has been built into code that it is simply infeasible to build from scratch. While this seems like the ultimate code reuse fantasy (or nightmare), we think it's starting to happen with the availability of Open Source software. We have observed a number of projects where software development is driven by the identification, selection, and combination of working software systems. More often than not, these constituent parts are Open Source software systems and typically not designed to be used as components. These parts are then made to interoperate through wrappers and glue code. We think this trend is a harbinger of things to come. What do you think? How prevalent is this approach to new software development? What do software developers think about their projects being used in such a way?"
It depends on the application (Score:3, Interesting)
OhGodPleaseNo (Score:3, Interesting)
To take a personal example, my delta compression code [daemonology.net], which I wrote for FreeBSD, is now being used by Apple and Mozilla to distribute updates; I've talked to their developers, and if I find a security flaw in this code (very unlikely, considering how simple it is), I'll be able to inform them and make sure they get the fix. On the other hand, I know developers from several Linux distributions have been looking at using my code, but I'm not sure if they're actually using it; and searching on Google reveals dozens of other people who are using (or at very least talking about using) this code.
Putting together software by scavenging code from all over the Internet is like eating out of a garbage dump: Some of what you get is good and some of what you get is bad; but when there's a nation-wide recall of contaminated spinach, you'll have no idea if what you're eating is going to kill you.
Re:High(er) level languages anyone? (Score:3, Interesting)
Re:Service Oriented Architecture (Score:3, Interesting)
Services change over time, new projects need extra bits of information, changes regulations mean that input that was allowed no longer is, etc. And you either end up with 300 different versions of each business service, so that older clients can still talk to their version of the service, or you have to update the clients whenever the server versions change.
They're still useful - we use them a lot where I work, but they aren't a silver bullet.