Nathan’s laws of software


Way back in 1997, Nathan Myhrvold (CTO of Microsoft at the time) wrote a paper entitled “The Next Fifty Years of Software” (Subtitled “Software: The Crisis Continues!”)  which was presented at the ACM97 conference (focused on the next 50 years of computing).

I actually attended an internal presentation of this talk, it was absolutely riveting. Nathan’s a great public speaker, maybe even better than Michael Howard :).

But an email I received today reminded me of Nathan’s First Law of Software:  “Software is a Gas!”

Nathan’s basic premise is that as machines get bigger, the software that runs on those computers will continue to grow. It doesn’t matter what kind of software it is, or what development paradigm is applied to that software.  Software will expand to fit the capacity of the container.

Back in the 1980’s, computers were limited.  So software couldn’t do much.  Your spell checker didn’t run automatically, it needed to be invoked separately.  Nowadays, the spell checker runs concurrently with the word processor.

The “Bloatware” phenomenon is a direct consequence of Nathan’s First Law.

Nathan’s second law is also fascinating: “Software grows until it becomes limited by Moore’s Law”. 

The second law is interesting because we’re currently nearing the end of the cycle of CPU growth brought on by Moore’s law.  So in the future, the growth of software is going to become significantly constrained (until some new paradigm comes along).

His third law is “Software growth makes Moore’s Law possible”.  Essentially he’s saying that because software grows to hit the limits of Moore’s law, software regularly comes out that pushes the boundaries.  And that’s what drives hardware sales.  And the drive for ever increasing performance drives hardware manufacturers to make even faster and smaller machines, which in turn makes Moore’s Law a reality.

And I absolutely LOVE Nathan’s 4th law.  “Software is only limited by human ambition and expectation.”   This is so completely true.  Even back when the paper was written, the capabilities of computers today were mere pipe dreams.  Heck, in 1997, you physically couldn’t have a computer with a large music library – a big machine in 1997 had a 600M hard disk.

What’s also interesting is the efforts in fighting Nathan’s first law.  It’s a constant fight, waged by diligent performance people against the hoards of developers who want to add their new feature to the operating system.  All the developers want to expand their features.  And the perf people need to fight back to stop them (or at least make them justify what they’re doing).  The fight is ongoing, and unending.

Btw, check out the slides they’re worth reading.  Especially when he gets to the part where the stuff that makes you genetically unique fits on a 3 1/2″ floppy drive.

He goes on from that point – at one point in his presentation, he pointed out that the entire human sensory experience can be transmitted easily on a 100mB ethernet connection.

 

Btw, for those of you who would like, there’s a link to two different streaming versions of the talk here: http://research.microsoft.com/acm97/

 

Edit: Added link to video of talk.

 

Comments (16)

  1. Ryan says:

    "So in the future, the growth of software is going to become significantly constrained (until some new paradigm comes along)."

    I find my self wondering if we’re just not going to see a re-emergence (for lack of any better term) of a time when a small number of people could write software that took full advantage of a machine. In my limited experience it seems development has gotten much easier in the last 10 years or so. (The time period I was in college and my professional time.)

    With processing capability scaling out rather than up the (currently) there is a limited number of people who can write good code that runs in parallel threads. I’d be fall down shocked to find out there isn’t a bunch of research being done around analyzing today’s software to find out how to parallelize common tasks. The next step is pushing the outcome of that research into the dev tools, and then… Of course, that will prove the 4th law.

  2. Chris says:

    Who puts still pictures of themselves talking in a slide show like that? I can see one or two pictures, epsically if they are demonstrating something.

    Honestly, I really do *not* want to see that guys face every 3rd or 4th slide. Espically since it is just him talking!

    Interesting talk, and interesting post Larry.

  3. Anonymous says:

    There’s a touch of hyperbole there. I had a brand new computer in 1997 that was considered a standard desktop class machine (not loaded out) and it had a P2-233, 64MB of RAM, and a 6GB HD. 10GB was an expensive option. Not great shakes, but you could build a respectable MP3 library. (That was pre-WMA of course)

    Your point still stands though. My new PocketPC has almost as much capacity and performance as that system did.

  4. Chris, I think that there’s a version of that that has audio that goes with it – the pictures allow it to make more sense (I think).

    I’m not sure what’s up with that though.

  5. mgrier says:

    Moore’s law is still basically going and will probably continue for a good decade or more. Moore’s law is about the number of semiconductor devices that are in a packaged unit (chip).

    We’re out of ways to make single (x86-compatible) processors faster for the most part but we have 10-20 years of making caches larger and more effective (the storage hierarchy is more important than ever!) and exploiting multiple execution units on a given package (multicore CPUs). Maybe VLIW will finally pay off (or IA64!) and we can get a better IPC without having to go past 3-4ghz for internal CPU clocks. (And yes there’s interesting work on asynchronous logic etc. etc. that can pay off; it will be interesting to see if it may be effective enough to ever dislodge the ia32/x64 architectures given the existing investment there…)

    What’s most interesting is that it looks like the relative costs between the main memory and L1 cache in the storage hierarchy is probably close to an all time high right now; memory busses and available bandwidth are going to be improved during the next two decades also so while I’ve harboured a belief for quite a while that we need to start treating physical memory the way a database treats the physical disk drive it looks like that will not come to pass.

    But that will just highlight the problems between memory and secondary storage; there is certainly interesting work going on there to find a middle ground to the storage hierarchy but unless something really revolutionary happens (remember holographic storage?), rotating media has no replacement for very high volume storage.

    I’m sorry we don’t have Nathan around any more; I have heard plenty of good and bad things about him but the world around here was a more interesting place with people like him around.

  6. Jerry Pisk says:

    Ryan, I think the reason that so many people can "write" software these days is that the hardware is capable of running hugely inefficient code. For example garbage collectors make writing code simple to large number of people who would not be able to handle their own memory management – at the expense of using (wasting) a lot of hardware resources. There will always be applications that require so much processing power or resources that only a small number of people are capable of writing a code to handle it.

  7. vince says:

    I knew people with massively huge music collections… in 1993.

    The wonder of .mod files.

  8. Dan McCarty says:

    "Software is a Gas!"

    Not being familiar with the oldster lingo, is that a good thing or a bad thing? 😉

  9. Dan McCarty says:

    Oh, he actually meant "a gas," like, not a solid! Sorry, scratch that last comment.

    What a gas! (Whatever that means…)

  10. Dan, don’t think old people, think physics.

    Nathan’s a theoretical physicist, so…

  11. 机票 says:

    [[http://yxnet.s9.xrea.com/hot/index1.htm]]视频会议

    [[http://yxnet.s9.xrea.com/hot/index2.htm]]数码相机

    [[http://yxnet.s9.xrea.com/hot/index3.htm]]笔记本

    [[http://yxnet.s9.xrea.com/hot/index4.htm]]笔记本电脑

    [[http://yxnet.s9.xrea.com/hot/index5.htm]]鲜花

    [[http://yxnet.s9.xrea.com/hot/index6.htm]]礼品

    [[http://yxnet.s9.xrea.com/hot/index7.htm]]成人用品

    [[http://yxnet.s9.xrea.com/hot/index8.htm]]性用品

    [[http://yxnet.s9.xrea.com/hot/index9.htm]]二手房

    [[http://yxnet.s9.xrea.com/hot/index10.htm]]网站建设

    [[http://yxnet.s9.xrea.com/hot/index11.htm]]虚拟主机

    [[http://yxnet.s9.xrea.com/hot/index12.htm]]移民

    [[http://yxnet.s9.xrea.com/hot/index13.htm]]投资移民

    [[http://yxnet.s9.xrea.com/hot/index14.htm]]技术移民

    [[http://yxnet.s9.xrea.com/hot/index15.htm]]加拿大移民

    [[http://yxnet.s9.xrea.com/hot/index16.htm]]移民加拿大

    [[http://yxnet.s9.xrea.com/hot/index17.htm]]租房

    [[http://yxnet.s9.xrea.com/hot/index18.htm]]北京租房

    [[http://yxnet.s9.xrea.com/hot/index19.htm]]上海租房

    [[http://yxnet.s9.xrea.com/hot/index20.htm]]广州租房

    [[http://yxnet.s9.xrea.com/hot/index21.htm]]租车

    [[http://yxnet.s9.xrea.com/hot/index22.htm]]汽车租赁

    [[http://yxnet.s9.xrea.com/hot/index23.htm]]上海租车

    [[http://yxnet.s9.xrea.com/hot/index24.htm]]上海汽车租赁

    [[http://yxnet.s9.xrea.com/hot/index25.htm]]拓展

    [[http://yxnet.s9.xrea.com/hot/index26.htm]]拓展训练

    [[http://yxnet.s9.xrea.com/hot/index27.htm]]拓展培训

    [[http://yxnet.s9.xrea.com/hot/index28.htm]]数据恢复

    [[http://yxnet.s9.xrea.com/hot/index29.htm]]美容

    [[http://yxnet.s9.xrea.com/hot/index30.htm]]整形

    [[http://yxnet.s9.xrea.com/hot/index31.htm]]传奇私服

    [[http://yxnet.s9.xrea.com/hot/index32.htm]]免费电影

    [[http://yxnet.s9.xrea.com/hot/index33.htm]]招聘

    [[http://yxnet.s9.xrea.com/hot/index34.htm]]律师

    [[http://yxnet.s9.xrea.com/hot/index35.htm]]律师事务所

    [[http://yxnet.s9.xrea.com/hot/index36.htm]]足球

    [[http://yxnet.s9.xrea.com/hot/index37.htm]]减速机

    [[http://yxnet.s9.xrea.com/hot/index38.htm]]机票

    [[http://yxnet.s9.xrea.com/hot/index39.htm]]国际机票

    [[http://yxnet.s9.xrea.com/hot/index40.htm]]打折机票

    [[http://yxnet.s9.xrea.com/hot/index41.htm]]特价机票

    [[http://yxnet.s9.xrea.com/hot/index42.htm]]飞机票

    [[http://yxnet.s9.xrea.com/hot/index43.htm]]航班查询

    [[http://yxnet.s9.xrea.com/hot/index44.htm]]航班时刻表

    [[http://yxnet.s9.xrea.com/hot/index45.htm]]货架

    [[http://yxnet.s9.xrea.com/hot/index46.htm]]条码

    [[http://yxnet.s9.xrea.com/hot/index47.htm]]管理咨询

    [[http://llhx.nease.net/dnzx/index.htm]]美容

    [[http://llhx.nease.net/dnzx/index1.htm]]整形

    [[http://llhx.nease.net/dnzx/index2.htm]]整容

    [[http://llhx.nease.net/dnzx/index3.htm]]减肥

    [[http://llhx.nease.net/dnzx/index4.htm]]丰胸

    [[http://llhx.nease.net/dnzx/index6.htm]]疤痕

    [[http://llhx.nease.net/dnzx/index13.htm]]光子嫩肤

    [[http://llhx.nease.net/dnzx/index16.htm]]隆胸

    [[http://llhx.nease.net/dnzx/index20.htm]]瘦脸

    [[http://llhx.nease.net/dnzx/index21.htm]]瘦身

    [[http://llhx.nease.net/dnzx/index23.htm]]脱毛

    [[http://llhx.nease.net/dnzx/index36.htm]]整形美容

    [[http://llhx.nease.net/dnzx/index37.htm]]整形医院

    [[http://llhx.nease.net/dnzx/index38.htm]]美容医院

    [[http://app1.chinadaily.com.cn/static/cdyw/“>http://app1.chinadaily.com.cn/static/cdyw/]]翻译公司

    [[http://app1.chinadaily.com.cn/static/cdyw/“>http://app1.chinadaily.com.cn/static/cdyw/]]翻译

    [[http://www.farsight.com.cn/“>http://www.farsight.com.cn/]]嵌入式培训

    [[http://www.farsight.com.cn/“>http://www.farsight.com.cn/]]嵌入式

    [[http://www.maslink.com.cn/]]移民

    [[http://llhx.nease.net/gyz/]]肝移植

    [[http://www.kly88.cn/]]癫痫

    [[http://www.51jipiao.net/]]机票

    [[http://www.51jipiao.net/guoji.asp]]国际机票

    [[http://www.51jipiao.net/guonei.asp]]打折机票

    [[http://www.51jipiao.net/chanshi.html]]飞机票

    [[http://www.ocntrans.com/“>http://www.ocntrans.com/]]翻译公司

    [[http://www.ocntrans.com/“>http://www.ocntrans.com/]]翻译

    [[http://www.webcc.cn/]]虚拟主机

    [[http://www.18up.cn/indexsex.asp“>http://www.18up.cn/indexsex.asp]]成人用品

    [[http://www.18up.cn/indexsex.asp“>http://www.18up.cn/indexsex.asp]]性用品

    [[http://llhx.nease.net/tuozhan/index.htm]]拓展培训

    [[http://llhx.nease.net/tuozhan/index1.htm]]拓展训练

    [[http://llhx.nease.net/dhly/]]电话录音

    [[http://www.sh-dingyi.net/]]减速机

    [[http://www.sh-dejie.com/]]过滤材料

    [[http://hosting.vip.sina.com/dnwx/]]电脑维修

    [[http://hosting.vip.sina.com/yyjs/]]语音教室

    [[http://infoseek.vip.sina.com/dejie/]]过滤材料

    [[http://www.youanlivertx.com/]]肝移植

    [[http://www.shoes.hc360.com/]]鞋

    [[http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/]]java培训

    [[http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/]]软件工程师培训

    [[http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/]]测试工程师培训

    [[http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/“>http://www.topwise.cn/courses/dotnet.htm]].net培训

    [[http://www.hdkz.com.cn/]]印

    [[http://www.hdkz.com.cn/index1.htm]]北京印

    [[http://www.hdkz.com.cn/index1.htm]]刻

    [[http://www.hdkz.com.cn/index1.htm]]北京刻

    [[http://llhx.nease.net/hrly/]]怀柔旅游

    [[http://llhx.nease.net/zidianbing/index1.htm]]过敏性紫癜

    [[http://llhx.nease.net/zidianbing/index2.htm]]血小板减少

    [[http://llhx.nease.net/zidianbing/index3.htm]]复发性口腔溃疡

    [[http://www.hmkouqiang.com/]]口腔溃疡

    [[http://www.hmkouqiang.com/article/Article_Show.asp?ArticleID=25]]白塞氏

    [[http://www.hmkouqiang.com/article/Article_Show.asp?ArticleID=25]]白塞氏综合症

    [[http://www.hmkouqiang.com/article/Article_Class2.asp?ClassID=2]]白塞氏病

    [[http://www.zidianbing.com/]]紫癜

    [[http://www.hmkouqiang.com/article/Article_Class2.asp?ClassID=3]]口腔扁平苔藓

    [[http://www.hmkouqiang.com/article/Article_Class2.asp?ClassID=3]]扁平苔藓

    [[http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/]]服装批发

    [[http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/]]瑞丽服装批发

    [[http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/]]日韩服装批发

    [[http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/“>http://www.taobao168.com/]]珠宝首饰批发

    [[http://www.bjgelin.com/]]儿童摄影

    [[http://www.bjygmd.com/]]木雕

    [[http://www.lvsemayi.com/]]软水机

    [[http://www.olande.com/]]排队机

    [[http://llhx.nease.net/dnzx/index5.htm]]瘢痕

    [[http://llhx.nease.net/dnzx/index7.htm]]变形

    [[http://llhx.nease.net/dnzx/index8.htm]]抽脂

    [[http://llhx.nease.net/dnzx/index9.htm]]唇裂

    [[http://llhx.nease.net/dnzx/index10.htm]]处女膜修复

    [[http://llhx.nease.net/dnzx/index11.htm]]除皱

    [[http://llhx.nease.net/dnzx/index12.htm]]干细胞除皱

    [[http://llhx.nease.net/dnzx/index14.htm]]隆鼻

    [[http://llhx.nease.net/dnzx/index15.htm]]隆乳

    [[http://llhx.nease.net/dnzx/index17.htm]]毛发移植

    [[http://llhx.nease.net/dnzx/index18.htm]]去斑

    [[http://llhx.nease.net/dnzx/index19.htm]]雀斑

    [[http://llhx.nease.net/dnzx/index22.htm]]双眼皮

    [[http://llhx.nease.net/dnzx/index24.htm]]下颌角

    [[http://llhx.nease.net/dnzx/index25.htm]]吸脂

    [[http://llhx.nease.net/dnzx/index26.htm]]吸脂减肥

    [[http://llhx.nease.net/dnzx/index27.htm]]眼袋

    [[http://llhx.nease.net/dnzx/index28.htm]]腋臭

    [[http://llhx.nease.net/dnzx/index29.htm]]阴道紧缩

    [[http://llhx.nease.net/dnzx/index30.htm]]阴茎延长

    [[http://llhx.nease.net/dnzx/index31.htm]]注射丰胸

    [[http://llhx.nease.net/dnzx/index32.htm]]自体细胞除皱

    [[http://llhx.nease.net/dnzx/index33.htm]]整容价格

    [[http://llhx.nease.net/dnzx/index34.htm]]整容医院

    [[http://llhx.nease.net/dnzx/index35.htm]]整形价格

    [[http://llhx.nease.net/dnzx/index39.htm]]美容院

    [[http://llhx.nease.net/dnzx/index40.htm]]傲洛斯

    [[http://llhx.nease.net/dnzx/index41.htm]]欧菲斯

    [[http://llhx.nease.net/dnzx/index42.htm]]北京美容

    [[http://llhx.nease.net/dnzx/index43.htm]]北京美容医院

    [[http://llhx.nease.net/dnzx/index44.htm]]北京美容院

    [[http://llhx.nease.net/dnzx/index45.htm]]北京美容整形医院

    [[http://llhx.nease.net/dnzx/index46.htm]]北京整形

    [[http://llhx.nease.net/dnzx/index47.htm]]北京整形美容医院

    [[http://llhx.nease.net/dnzx/index48.htm]]北京整形医院

    [[http://llhx.nease.net/dnzx/index49.htm]]东南医院

    [[http://llhx.nease.net/dnzx/index50.htm]]东南整形

    [[http://llhx.nease.net/dnzx/index51.htm]]韩国整容

    [[http://llhx.nease.net/dnzx/index52.htm]]韩国整形

    [[http://yxnet.s9.xrea.com/chongqing/index.htm]]重庆机票

    [[http://yxnet.s9.xrea.com/chongqing/index2.htm]]重庆飞机票

    [[http://yxnet.s9.xrea.com/chongqing/index3.htm]]重庆打折机票

    [[http://yxnet.s9.xrea.com/chongqing/index4.htm]]重庆特价机票

    [[http://yxnet.s9.xrea.com/chongqing/index5.htm]]重庆国际机票

    [[http://yxnet.s9.xrea.com/chongqing/index6.htm]]重庆航班

    [[http://yxnet.s9.xrea.com/chongqing/index7.htm]]重庆航班时刻表

    [[http://yxnet.s9.xrea.com/chongqing/index8.htm]]重庆机票价格

    [[http://yxnet.s9.xrea.com/chongqing/index9.htm]]重庆机票查询

    [[http://yxnet.s9.xrea.com/chongqing/index10.htm]]重庆机票预订

    [[http://yxnet.s9.xrea.com/chongqing/index11.htm]]重庆飞机票价格

    [[http://yxnet.s9.xrea.com/chongqing/index12.htm]]重庆飞机票查询

    [[http://yxnet.s9.xrea.com/chongqing/index13.htm]]重庆飞机票预订

    [[http://yxnet.s9.xrea.com/chongqing/index14.htm]]重庆打折机票价格

    [[http://yxnet.s9.xrea.com/chongqing/index15.htm]]重庆打折机票查询

    [[http://yxnet.s9.xrea.com/chongqing/index16.htm]]重庆打折机票预订

    [[http://yxnet.s9.xrea.com/chongqing/index17.htm]]重庆国际机票价格

    [[http://yxnet.s9.xrea.com/chongqing/index18.htm]]重庆国际机票查询

    [[http://yxnet.s9.xrea.com/chongqing/index19.htm]]重庆国际机票预订

    [[http://yxnet.s9.xrea.com/chongqing/index20.htm]]重庆特价机票价格

    [[http://yxnet.s9.xrea.com/chongqing/index21.htm]]重庆特价机票查询

    [[http://yxnet.s9.xrea.com/chongqing/index22.htm]]重庆特价机票预订

    [[http://yxnet.s9.xrea.com/chongqing/index23.htm]]重庆国际航班

  12. This is the fourth part in my weekly series of entries in which I outline some of the reasons we decided…

  13. This is the fourth part in my eight-part series of entries in which I outline some of the reasons we…