Thursday, October 13, 2005

 

Microsoft Research

I had a troll through the microsoft research site today - there are some impressive people working there. I was actually looking for some notes on Computer Systems Research: Past and Future which I'd stumbled upon previously. The author of these notes is Butler Lampson - check out the work that he's done. Anyway, he makes the point that 'inventions' in computer science have typically ridden the free wave of Moore's Law. He makes the interesting point that the web was not invented by computer scientists, even though it is "the most important invention of the last decade". His lists of successes, failures, and unknowns comprise:
SuccessesFailuresUnknowns
Virtual memoryCapabilitiesParallelism
Address spacesFancy type systemsRISC
Packet netsFunctional programmingGarbage collection
Objects/subtypesFormal methodsInterfaces and specifications
RDB and SQLSoftware engineeringReuse
TransactionsRPC (except for web)
Bitmaps and GUIsDistributed computing
WebPersistent objects
AlgorithmsSecurity
[Crikey! The code for that table was ugly - it all had to be on one text line...] These are certainly interesting lists, and good for discussion. He then goes on to discuss why the web is "the failure of systems research" (because computer scientists didn't invent it!), and states that the web is too simple, and old idea (but never tried), wasteful (but fast enough), and flaky -- all of this sounds like good, solid engineering to me! The academic response is that the web doesn't scale, but it seems to have done pretty well so far. Lampsons lists of challenges is a bit weak, but in the 'information challenges' he mentions the 'Memex'... this topic is better discussed by Jim Gray in his lecture for the Turing award (What Next? A few remaining IT problems). Gray credits the Memex idea to Vannevar Bush, and goes into considerable detail (more than I can comprehend at 1am...). Finally, there is an interesting conversation between Roger Sessions and Terry Coatta in ACM Queue on the differences between objects, modules, and components. Before commenting I should really re-read the article - it was very good, and I could certainly learn some more from it. That's enough blogging for now. Good night!

Comments: Post a Comment



<< Home

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