Re: @AndrueC - Standards
"A golden age of 'Download, install, run, win'. Now we seem to be re-entering the world of 'Download, faff around, download the right thing, install, faff around, download something else, faff around, run, get annoyed.'. Hopefully it's just another IT cycle and in ten years we'll be back to smooth sailing."
Cycle? Well, no. Get away from Windows to an OS with a proper package manager and this is simply not a problem. I've been in this "golden age" since I switched away from slackware well over 10 years ago. Ubuntu, I install whatever software I want off of synaptic, click "install". If I get a seperate .deb package, I click install. It takes care of installing any other junk I may need. On my couple gentoo boxes, when I tell them to emerge (i.e. install) a new program, the *computer* may faff about endlessly compiling, but *I* don't -- portage also figures out what additional software (if any) has to be installed and takes care of it for me.
That said... Windows (at the point of XP or so) was an absolutely hellish mess, someone did a dependency graph for one particular program on Linux, Windows, and OSX and Windows alone had all these circular depndencies and just looked like a big mass of spaghetti even in block-diagram form... with low-level libraries calling into top-level libs, some libraries bypassing a layer or two for some calls while not bypassing them for others, and so on. Up through XP, code in Windows just kind of accreted (it was based on Windows NT3.5/4/2000, but had shell code and a bunch of other stuff added in from the 1/2/3/3.1/95/98 branch (ME shall not be named)). I think some people at Microsoft realized this was completely untenable in the long term, Vista/7/8 have pulled whole subsystems out (and hopefully cleaned up some of the rest.)
As for the actual topic.... well, I've got no complaint about Microsoft doing this. I haven't looked at the language to judge it's merits.