Microsoft Common Language Runtime To Be Cross-Platform
axlrosen alerts us to a Microsoft sleeper announcement from Mix07: a version of its Common Language Runtime will be available cross-platform. The Core CLR shows up as part of the Silverlight SDK that Redmond is open sourcing. From the blog posting: "The biggest Mix '07 announcement made on opening day of this week's show was one that Microsoft didn't call out in any of its own press releases: Microsoft is making a version of its Common Language Runtime available cross-platform. The CLR is the heart of Microsoft's .Net Framework programming model. So, by association, the .Net Framework isn't just for Windows any more."
Now supporting XP and Vista!
Eviscerati.Org: All Hail the Eviscerati
That's great. Now if Microsoft would actually implement a few web standards (rather than spewing out more Microsoft "standards") I might actually trust them. As it happens, though, I don't. Internet Explorer has the absolute worst track record of all the modern web browsers. It's fairly straight forward to tune Javascript/DOM code to run in Mozilla, Opera, and Safari. But Internet Explorer? Meh. Let's just say that it adds another 30-50% to the project time.
Now Microsoft wants to broadcast their wonderful multimedia technology that will enhance the web, be cross-platform, show cool multimedia-type stuff that we can already do with SVG or Canvas. Woohoo. Whoopdedoo. Wow.
Not.
This smacks of yet another Microsoft embrace, extend, and extinguish stratgey. "Yeah, guys. Come on in. Here's the Silverlight plugin which works on Macs. We're going to be real buds with these Mac peoples! We're even porting a teeny bit of the CLR (ed: And you thought Java was browser bloat?) to make our XAML/Avalon/WPF technology work for you guys. Oh, did we mention that Macs are kind of slow? (ed: They are now!)"
Next version: "We haven't seen enough customers demand support for the Mac. So we're dropping the plugin for that platform and adding some amazing new features to the Windows version." *FWHHOOOSH* Extinguished.
If Microsoft really wanted to compete, they'd be the first to implement the OpenGL API for the Canvas tag that the WHATWG has been working on. Oh, but wait! That wouldn't be Window-y enough. It would have to be the DirectX API through Javascript, dontchaknow.
Javascript + Nintendo DSi = DSiCade
From denial, to grudging acceptance, to surprised admiration, is how the process works, and whether you hate Microsoft or not, a few months playing with C# usually results in the comment "Damm, why didnt they do this with Java?"
The Borg isnt dead, they have only been regenerating. Prepare to modulate shield frequencies, because they are coming.......
Yes, kinda, partially.
.NET Framework is, like System.Windows.Forms, and Microsoft.*.
My question is more like --
Will this aid Mono development? Is Mono still necessary? What about the Windows specific API's? A lot in
Beware: In C++, your friends can see your privates!
The summary got my hopes up. I like C# and .NET quite a lot, but I also like Mac OS and Linux. I've been trying out Mono and Monodevelop (as well as some Xcode plugins for C#/Mono), but they're really not a good match for VS2k5 yet. (I'm hoping that "yet" comes true and doesn't turn into "ever".)
Unfortunately, only the "Core CLR" will be ported, and only to the Mac OS (probably due in part to MS Office for Mac), not Linux, and not even older (PPC) Macs. I also seriously doubt there will be much in the way of developer tools for the(se) other platform(s).
Sad, really. Office and VS are the only two decent Microsoft products, and they refuse to port either of them to a decent platform (aside from the tiny fragment of Office that makes it to the Mac).
That's exactly what Microsoft did with ActiveX. They pushed ActiveX as cross-platform, delivering an ActiveX SDK for the Mac and supporting ActiveX components in IE.
Then after a while, they dropped ActiveX support, saying it was too much effort to make it work on OS X.
Then after a while longer, they dropped IE too.
Same with WMV. Seen Windows Media Player for the Mac? No? That's because they dropped it a while back, and killed all support for DRM-protected Windows Media on the Mac. (Instead they suggest that people use a third party QuickTime plugin that only handles unprotected WMV.)
Jeez, lots of Microsoft fanboys or astroturfers moderating today.
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
"We have both kinds of music here: Country *and* Western."
Excuse me, but please get off my Pennisetum Clandestinum, eh!
The Core is not really that much. It is just enough to say they are Cross Platform like Java, but really not enough to allow a dev to run .Net code compiled on Windows on a linux or Mac. Mono is actually alot further along, and actually WANTS the CLR to run Cross Platform.
Scott Carr
Silverlight 1.1 runs on Intercontinental Ballistic Missiles? Well, that is certainly worrisome.
Well, except Mono is a small project
Mono is a big project as far as such projects go.
that Microsoft would rather see die.
I don't know. Who cares?
It will disappear when they are ready to drop litigation bombs.
The legal situation surrounding Mono has been more carefully analyzed than any other open source project I can think of. Unless you can point to a specific legal problem with Mono, you're just spreading FUD.
What disturbs me more is how the term "open source" has been co-opted and soiled by Microsoft when the license terms which will only be FSF approved when microsoft owns the FSF.
The Microsoft Permissive License looks like a perfectly good open source license to me; it's basically like Apache. In particular, it includes patent grants. The FSF probably doesn't like the Ms-PL because it's BSD/Apache-like.
If you can identify a specific problem with the Ms-PL, please point it out. Otherwise, please stop spreading FUD about it.
You say this sarcastically, but this is what Microsoft really means when they say "cross-platform": it runs on all Windows platforms. (Vista, XP, Mobile, XBOX, etc.) I'm not joking. There should be (+1, Sad, Sad World) moderation.
Don't think of it as a flame---it's more like an argument that does 3d6 fire damage
Unfortunately neither of them actually knows what they are talking about.
For starters, a.k.a. why Chester K doesn't know what he's talking about, at MIX they showed JavaScript in the browser against C# in Silverlight v1.1 - not C# in JavaScript. The speed comparisons are correct.
why AKAIAmBatman is wrong is because this is absolutely not about the performance of rendering. The setup here is that you have one app, with whatever that infrastructure is running in, delegating to the player code. The player code being C#, JavaScript, or a human. This is how you typically do chess games and no surprise it's how they did it here. Therefore the JavaScript is doing no rendering of any kind. That is unless the game was implemented using JS, but even if it was it doesn't matter. The idea is to give each player 1 second to calculate and they give you the best move and how many calculations done. This is merely a measure of raw computational power: calls, either some array lookups, and simple math (potentially bitwise arithmetic, potentially not depending upon the implementation). Finally they used the same algorithm just implemented in the two different languages.
And because Chester K was misinformed this populates down into AKAIAmBatman's comments where things go wrong. The Tamarin engine has nothing on this. ActionScript has nothing on this. What we're talking about is approaching near native code speed in the browser. JavaScript, no matter what, just isn't going to get there and still be JavaScript. It's way too dynamic. Maybe you can do some whole program analysis but even that is going to be tough. It seems the goal for Tamarin is only a 10x improvement (http://simonwillison.net/2006/Nov/9/tamarin/) if you look at the source code. That means that C# will still be 1000 times faster than the improved Tamarin engine. It's just a fact - JavaScript sucks.