Friday, September 22, 2006

What Limits Software Growth 

John Ousterhout
Unfortunately, everything in software leads to more complexity. There are various laws of physics people have discovered, and there are corresponding laws of software. The first law of software is that software systems tend towards increasing states of complexity. It's almost a perfect mirror of the First Law of Thermodynamics in physics

. . .

The techniques in extreme programming will allow us to do things that we've never done before, that we couldn't do in the past. And that makes even bigger, more complex projects feasible. What's immediately going to happen, as soon as people get the current stuff totally under control, easily manageable, [is that] their ambitions ... are going to go up dramatically. And they're going to build even bigger things. We will never go back to a simpler day, I'm afraid. We just find better ways to manage complex things.

What would be next, after that? Personally, I think there is a bottleneck around the development of Web-based applications. Web applications have a very different development style than traditional software [does]... It has something to do with the fact that there are so many different technologies that have to be mixed together to do Web application development. You end up using Java, JavaScript, and Perl, HTML, CSS, and on, and on. Each of those pieces is pretty good by itself, but when you try to combine all those together, projects become very difficult to manage. I think there is opportunity for someone to come up with a paradigm, or a toolkit, to make it dramatically simpler to develop really powerful applications over the Web. Over the next five or ten years, something is going to happen there. I can't tell you what it is.

Topics: Complexity | Architecture | Software

Links to this post:


Comments: Post a Comment

This page is powered by Blogger. Isn't yours?