Microsoft Common Language Runtime To Be Cross-Platform 308
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."
Me? Cynical? Never. (Score:5, Insightful)
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.
Be afraid, bitches.... (Score:5, Insightful)
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.......
Don't! (Score:3, Insightful)
Re:Be afraid, bitches.... (Score:3, Insightful)
For you language fanatics and others... I use Java not because it's nice pretty language... It's not... It's because Java has a history, it has a history in enterprise, it has history with Sun, IBM, Accenture (those bastards!) and others... with that history I can be sure that Java isn't going to go anywhere, it's going to stay. Yes C# could be as nice as Java, but hey, it doesn't have the same history, it doesn't have the same industry support as Java... and looking at Microsoft's history... well... embrace and extend... change as you go... well.. that doesn't suite to me... I need assurance that my code works and my environment where I'm developing works as well it's today still a decade in the future...
Oh yeah... C# and the whole
Re:"Cross platform" (Score:5, Insightful)
-Chris
Re:Be NOT afraid, bitches.... (Score:3, Insightful)
Sometimes you need nice fast math functions that can take a small handful of cycles.
My beef is that
My argument is that
Oh, and speaking of strawmen, where did I talk about hand optimized vector assembly? Or Bash? WTF?
I don't see a viral clause (Score:3, Insightful)
I don't see a "viral" clause in the Ms-PL. All the Ms-PL requires is that you include its copyright notice with your distribution and that the Ms-PL licensed code itself remains under the Ms-PL.
"Is Mono still necessary?" Yes.
Yes, but not because of the license. It's because Mono does a lot more than run CLR and
typical FUD (Score:5, Insightful)
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.
Didn't we already know this? (Score:3, Insightful)
MS had already said that they planned to support Apple (and WinCE) for their WPF/E (windows presentations everywhere) technology. They then renamed that to Silverlight, and lo-and-behold, it still supports Apple. Where's the news?
Not to mention that this was predicted all along. MS has been supporting the MacOS for years, and hinting at the cross-platform possibilities of their net platform. MS wants the Mac to replace Linux as the alternative to Windows, so this is a pretty straightforward decision for them. So why are people acting suprised?
Re:Be afraid, bitches.... (Score:2, Insightful)
Re:You've never used C#, have you? (Score:3, Insightful)
And finally, properties aren't cryptic in practice, because they can only be confused with public fields, which no one uses - public fields are deprecated, they don't produce the same metadata, and they're no more efficient when the JIT can inline property accessors. Private fields are typically distinguished by prefix or case, much like class names are distinguished from other identifiers (which is why I know "foo.bar()" probably isn't calling a static method).
Re:"Cross platform" (Score:2, Insightful)