Platform or Plumbing

["]{.827355417-26052003}Here's a question I pose to blogspace: Is the .NET Framework a platform or just better plumbing for the underlying platform?["]{.827355417-26052003}[ via ]{.827355417-26052003}[Harry Pierson's DevHawk Weblog]

[Although I think it makes sense to refer to it as "a platform" in most situations, in the context of this question, I definitely think it's "just better plumbing." One of the major things that strikes one moving to .NET from Java is how ridiculous it seems (in retrospect) to discourage access to the underlying platform, where a great deal of interesting innovation happens. It's very, very easy to be dramatically wrong about the abstractions and evolution of a technology / algorithm in the early days: if, at the platform level, you sanctify an abstraction or specify a path for evolution too early, you may very well regret it someday. If you fret about never making such mistakes, you end up with bureaucratic nightmares like the JCP, where the slightest interesting innovation is stuck in committee for years. ]{.827355417-26052003}