Moore’s law for software

There’s been a fair bit written about ‘Moore’s law for software’, usually complaining that there isn’t one. My guess is that’s nuts, but I’d love to see some rigorous analysis (I bet I’m just ignorant of it).

Interesting tidbit from San Jose Mercury-News article two weeks ago Penny-pinching entrepreneurs changing world of venture capital:

Ten years ago, six or seven programmers would have been needed to achieve the results of one programmer today, valley veterans say.

If true, that’s an annual increase in programmer productivity of about twenty percent. Let’s say it’s actually half that due to exaggeration or (adding headcount to a software project doesn’t scale well–though on second thought Brooks’ Law could magnify productivity increases, by allowing teams to get smaller). That would make for a doubling time of about seven years. Not nearly as impressive as Moore’s Law doubling of transistor density every two years, but still exponential. And my wild guess is that it has been fairly consistent over the history of programming.

For my five year old impressions on the matter, see this thread.

Addendum: Depending (in part) on how far back you consider the history of programming to go, of course a consistent doubling time for software (or hardware) doesn’t make sense, but rather . Doubtless Ray Kurzweil has many graphs attempting to demonstrate this for software in his books. I didn’t intend to go there in this post, but it is timely, as I’ll probably attend the Singularity Summit in a couple weekends.

2 Responses

  1. Eliezer Yudkowsky just asked a similar question on SL4 and extro-chat, and got a good answer with a quantifiable answer:

    which points to this:

  2. Neat, but one data point that looks extremely atypical to me.

    According to Wikipedia Pollard’s rho algorithm was invented in 1975 and Quadratic sieve in 1981, so all of the ~10 quadillion fold improvement occurred over six years. The 1977 vs 2007 hardware makes appreciating just how big that improvement was a bit more intuitive, but doesn’t tell much of anything else. More data points are needed.

    Speaking of which my statement “but still exponential” above is stupid. Again, more data points needed to say anything.

Leave a Reply