And Microsoft has Won
You know, I don't really think they lost the api war after all. But I'll get to that in a moment.
Human Interest Back Story
Once upon a time, I was on holiday in Italy and I got trapped talking to a group of girls from New York. All they could talk about was New York, New York (the city so nice, they named it twice). One of them said something like this:
"The thing about New York is that you never really have to leave. New York has everything, already. I mean, Why go to Italy? We've already got 'Little Italy.' We've got our own China Town, we've got Spanish Harlem. We've got the best restaurants, the best cafes, all the attractions. New York just has everything already. It really does."
Now, about that war...
And that's how I'm starting to feel about .Net. Why would you ever leave this place?
Maybe you prefer python to C#? so use IronPython.
Maybe you're a command line junky, so stop wasting time with bash and use Powershell.
Maybe you're into functional programming -- so use F#. Oh, you prefer Lisp -- then use L#.
Ruby is hot yeah? So use Use Ruby Clr. Use Ruby.Net. Use Iron Ruby.
You're into 3d dimensional scalable graphics... so ditch flash, use expression, wpf and xaml.
Whatever your poison, we've got it right here.
The underlying .Net platform seems to be flexible enough that it's attracted language designers from all programming disciplines. It's a strange reversal of the 'Microsoft As Borg' meme.
Microsoft has long been compared with the borg. Now I am starting to see it for real:
We will add your language's distinctiveness to our own.
Only there's a twist.
The supposed irony about the borg (in star-trek, at least) is that from their vast collective of culture and technology, they create something so horrible, something less beautiful than any of the cultures they assimilate. So, rather than an increasingly wonderful whole, they achieve utter repugnancy.
By contrast, (and quite suprisingly) I think that the .Net framework has become more beautiful as it has grown. The addition of generics, for example, is a feat of incredible beauty. Anonymous methods are not just some stuck on frankenstein's nightmare: they seem to be the fulfillment of a long line of clever design decisions that carefully moved in the right direction, right from back before there was any 'there' there.
Hang on -- don't flame me yet. I know i've been sinking too much of the MS Kool Aid. I'll wake up tomorrow and the love for microsoft will have dwindled. At the moment i feel pretty lucky that without changing framework I can delve into python, F#, powershell... three very interesting technologies, and without any of that traditional microsoft feel.
About that downside...
On the downside there's been recent suggestions that programmers in the microsoft world just fundamentally don't understand open source development. And there remains the persistent fear that no matter how good your product is, you may turn out to have simply been doing 'market research' for microsoft.
less of the frightening, please
And the latest scary thing from microsoft is the licensing for their ui. Read Mike Gunderloy's rant about it -- but read other opinions too, as it's a tricky topic.
So the borg are kind of... attracting me, wooing me... but still frightening me fairly often. I hope the good things continue, and they learn to do less of the frightening.
Cheers.
Borg Sphere image courtesy of The Model Citizen
Next → ← PreviousMy book "Choose Your First Product" is available now.
It gives you 4 easy steps to find and validate a humble product idea.
Ross on December 08, 2006 06:46 sez:
Why go to Italy? We've already got 'Little Italy.'
Because no matter how good you think Little Italy is, if you have never seen the real thing (done properly) you have no idea how dis-similar the Little version really is and how much more 'complete' the real version is.
Unfortunately Little * is often too tinged with the added complexity of the local culture.
Why would you ever want to use anything but use Microsoft - maybe you want to try the real thing, without the added complexity of Microsoft's idea of 'done properly'.
Just my 0.02E
Offtopic on December 08, 2006 09:51 sez:
Hello,
Interesting Blog!
Somewhat related to this post and .NET madness in general:
Can .NET handle Bitfields as Types??
/*
example
*/
struct MyStruct
{
unsigned int Field1:3;
unsigned int Field2:7;
...
}
now i want to retreive this struct fields dynamical using something like reflection.
Waiting to be assimilated...
OldFashionC++Coder.
dmitry on December 08, 2006 10:17 sez:
Heh, I like your metaphor. Borg are pretty sweet. Technologically advanced, ruthlessly efficient and singleminded in persuit of their goal... Still, I wouldn't want to be one of them.
http:// on December 09, 2006 01:51 sez:
F# is nice. But I like Haskell a lot better than OCaml, and there is nothing similar to Haskell for .Net. And there can't be, since you can't get referential transparency in .Net.
Pitarou on December 09, 2006 06:02 sez:
I agree with you about Haskell vs. O'Caml. But when you say, "...you can't get referential transparency in .Net." you completely lose me. Please explain!
Judah on December 11, 2006 12:53 sez:
I'd like to hear more about this referential transparency as well.
Good blog by the way. Subscribed.
Bob on December 14, 2006 08:57 sez:
So, the obvious question that you should have asked the girls was...
"Why are you here, then?"