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."
"Cross platform" (Score:5, Funny)
Re:"Cross platform" (Score:5, Interesting)
When a browser became a platform I'm not sure, when they started handing out the Web 2.0 Kool-Aid I suppose. It doesn't mention Linux so I reckon they mean Firefox on Windows.
Re: (Score:3, Interesting)
Sure they can make a version of the CLR available on all platforms, just has to be crippled enough that people would rather use the one on windows. That way they can say "if you really really want to use it on any platform you can.. but we recommend that you use the version on windows because of X, Y and Z".. Also they will have some stupid excuse for not supporting X, Y and Z on the other platforms as if it was the fault of the other plat
Re: (Score:2)
Re: (Score:3, Informative)
The CLR shipped with silverlight runtime is supported in IE, Firefox and Safari on windows and mac. It contains all CLR 2.0 features, and has all of the silverlight libraries. It does however only contain a subset of the BCL (Base Class Libraries), but that is the same for all the users without
Re: (Score:3, Informative)
Re: (Score:2, Interesting)
Since the '90s when Netscape was touting its' server software and advertising "best viewed in Netscape X.x" on web sites.
Web as a platform is what scared MS into the so-called Browser Wars.
Re: (Score:2, Interesting)
Re:"Cross platform" (Score:5, Insightful)
-Chris
Re: (Score:2)
Re: (Score:2)
Regardless of other factors in the dialog, this deserves comment because the ability to compile source code has to do with compilers and libs. Your comment's parent's remark stands on its own here:
Re: (Score:3, Interesting)
As opposed to Sun? Only recently do we have a JRE for FreeBSD that's supported. Only recently does Adobe make a Flash client for Linux. Adobe still has yet to make a flash client for 64 bit windows.
Vendors do it all the time - dilute the meaning of cross platform. What they really mean is "cross platform where it suits us".
Famous Blues Brothers quote (Score:5, Funny)
Re: (Score:2)
Sadness. (Score:5, Funny)
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.
Cross-platform but x86 only (Score:2)
For a logistical standpoint, that doesn't seem very cross platform to me if they've already chopped off half of the other platform with the 1.1 release...
Yes, this is my current soapbox.
CPU Platform-specific? (Score:2)
Re:Cross-platform but x86 only (Score:4, Funny)
Mono? (Score:3, Informative)
Re:Mono? (Score:5, Interesting)
My question is more like --
Will this aid Mono development? Is Mono still necessary? What about the Windows specific API's? A lot in
Re: (Score:2)
Re:Mono? (Score:5, Interesting)
Re: (Score:2)
Probably not, since the Microsoft Permissive License [microsoft.com] has a GPL-like 'viral' clause, which means that if Mono used the code, Mono would probably have to be licensed under the Ms-PL.
Yes.
I doubt they'll open up those. The announcement relates only the the CLR, not the .NET Framework.
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
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Shared Source CLI Provides Source Code for a FreeBSD Implementation of
Re:Mono? (Score:4, Interesting)
Re: (Score:2)
Well, except Mono is a small project that Microsoft would rather see die. It will disappear when they are ready to drop litigation bombs.
Maybe you missed the news, but Microsoft and Novell (which sponsors Mono) entered into an agreement to prevent such "litigation bombs". Plus, both the C# language and the CLI are ECMA standards, and according to the Mono guys [mono-project.com], Microsoft has been very forthcoming in their help in implementing Mono.
Re: (Score:3, Funny)
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.
Re: (Score:3, Interesting)
No it hasn't, because the questions that need answered are conveniently side-stepped in the Mono FAQ. As an exercise, find yourself the extremely flimsy and amateurish patent grant on the ECMA's web site and ask yourself whether it really does give anyone implementing a CLR a full and transparent paten
Re: (Score:3, Interesting)
If MS had the choice of suing the mono proje
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.
Parent not trolling (Score:5, Informative)
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.
Re: (Score:3, Informative)
Im pretty sure that Windows Media Player for Mac never handled protected WMV files at all (I am prepared to stand correct though), so there was nothing lost with the move to Flip4Mac.
Re: (Score:2)
From Microsoft's website:
Microsoft will continue to offer Windows Media Player 9 as a free download for Macintosh users, but has no plans to provide future updates or product support for Windows Media Player for Mac.
As an alternative, Microsoft has teamed up with Telestream to make its popular Flip4Mac program available to Macintosh users. Flip4Mac provides Windows Media video and audio playback in the QuickTime Player for Mac OS X.
...
Note: Flip4Mac does not support content that is protected with Windows Media digital rights management (DRM).
Troll, eh? (Score:3, Informative)
From TFA:
Which is to say that it's being ported just for Silverlight. Silverlight depends on XAML [wikipedia.org]. (Originally expanded to Extensible Avalon Markup Language.) XAML is the serialized form of WPF [wikipedia.org] (Windows P
Re: (Score:2)
Re: (Score:3, Interesting)
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.
Actually, the reason they're bundling the CLR is because the browser's own Javascript/DOM systems (which are also supported by Silverli
Re:Me? Cynical? Never. (Score:5, Informative)
Microsoft pulled the wool over your eyes. They were showing you a DOM app that needed to modify the rendering tree in order to make a move. This is similar to a 3D Scene Graph, but without the hardware acceleration. When Microsoft showed you the Silverlight app, they were showing you a hardware-accelerated drawing program. The very purpose for which Canvas was created.
As for the AI speed (assuming that the performance issues weren't entirely being caused by the DOM manipulations), Silverlight still uses Javascript for scripting. If it can run so much faster in their CLR scripting why don't they use their new Javascript engine in Internet Explorer?
In case you think I'm joking, that is exactly what Mozilla is doing with their new Tamarin engine [slashdot.org]. The new engine is faster and more feature rich, ergo it's being integrated into the browser platform. To make matters even more interesting, Mozilla and Adobe are sharing the development of the engine, so that they can both use it. Mozilla in the browser, Adobe in Flash.
I'm sorry. Microsoft is pulling a fast one on you. There is no need for Silverlight other than to lock you into Microsoft technology.
MOD PARENT UP (Score:2)
Re:MOD PARENT UP (Score:5, Informative)
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.
Re: (Score:2)
Re: (Score:2)
Only a minor point to clarify, but the WHATWG hasn't been working on the OpenGL API, and the 2D canvas (which it has worked on, and which has been implemented) isn't designed to be hardware-accelerated. Some Firefox [mozilla.org] and Opera [annevankesteren.nl] developers have been experimenting with exposing OpenGL ES, and it seems likely that they will propose it in the WHATWG at some point to get standardisation, but that hasn't happened yet and it isn't much of a priori
Re: (Score:2)
Basically, it's been reserved and pointed to as a future point of development. Opera seems to be the most eager to develop this part of the spec, but so far they haven't released anything. As I was saying, if Microsoft wants to accelerate web development they'd look at helping the WHATWG by defining and implementing that part of the spec. Tha
Re: (Score:2)
Yep, but the spec saying "3D would be cool" is a long way off actually doing any work on it - there was a bit of discussion on the mailing list some years ago, but (as far as I'm aware) nothing else has been done within the WHATWG since then. (And all the work is done in the open, so it would be obvious if they had done any.)
In any case, Microsoft is staying out of the WHATWG because of the lack of a patent policy, but they're involved in the HTML WG [w3.org] and seem to be interested in pursuing the HTML5 work no
Re: (Score:2)
Please correct me if I'm wrong (and I'm sure you will), but wasn't C# released as an ECMA standard? I guess what I'm not clear on from your post is what exactly a "microsoft standard" entails. If open standards like ECMA-334 aren't good enough for you, what is?
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.......
Java JRE VS MS CLR (Score:2)
Re:Java JRE VS MS CLR (Score:4, Interesting)
Re:Be afraid, bitches.... (Score:5, Interesting)
After playing with C# for a few months, the answer I came up with is that C# happened after Java and (I would hope) improve upon Java in some ways. But I stopped using it because of a few reasons. The first of which was the cross platform problem. While Java wasn't open source at the time, it worked on a lot of different platforms. At best you could implement .NET with Mono but there was no guarantee that a change by MS would not negate the hard work of the Mono team. The second reasons is that MS has always been long on promises about technology and short on execution. I'm content to let some else be the guinea pig.
Re: (Score:2)
I did NOT want to create another C#-Java slugfest, trust me....
Re: (Score:2)
Re: (Score:2, Insightful)
FUD (Score:3, Informative)
Really? How so? What kind of change from MS would make Mono stop working? In the absolute worst possible case, I'm sure Microsoft could hamper future development of Mono, but that takes nothing away from any apps that are currently running just fine on Mono.
Speaking on ~4 years of experience,
Re: (Score:2)
Who actually claimed the CLR and C# is "crap". No one said that. Microsoft business is more of politics and the burden of supporting obsolete legacy architectures.
Re: (Score:2)
Regardless, I cut my teeth in the C++/ASM world and jumped into
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
In the end, it doesn't matter. Using the .NET framework both hurts Java marketshare and props up Microsoft's marketshare, and their monopoly. Do you really want to hand even more keys-to-the-kingdom to Microsoft? What if, a few years from now, .NET pushes Java out of the market, and Microsoft gains a monopoly in this space? Do you really think .NET would
Re: (Score:2)
It isn't, but it's still more complicated than it needs to be, and not general enough to be a true CLR. After almost 6 years of working on
It definitely improved over Java in VM-level generics, value types, and other smaller stuff,
Re:Be NOT afraid, bitches.... (Score:2)
And
Intel's C/C++ compiler rules -- It's *so* much bette
Re: (Score:2)
Re: (Score:3, Insightful)
Sometimes you need nice fast math functions that can take a small handful of cycles.
My
Re: (Score:3, Interesting)
http://www.mono-project.com/Interop_with_Native_L
The Borg isnt dead (Score:2)
Yup... dream on Balmer fan boy.
Re: (Score:2)
In some ways, C# is an improvement over Java, but not enough of an improvement to keep me from saying
"Python is what C# should have been".
Re: (Score:2)
Re: (Score:2, Interesting)
Delegates exist because of the need to map the existing function-call based Win32 event system into C#.
Runtime generic types and the restrictions they cause (either no variance or extremely slow variance) exist because of CLR's inability to execute code without full type information
Re: (Score:2)
You've never used C#, have you? (Score:2)
That's Foo.getAdapter() you moron. And yes, it's much better. At least you *know* what's happening. With Foo.Adapter, you can't know for sure if it's a freely accessible field or a property mapped to setter and getter functions. The only way to tell is to look at the implementation of Adapter.
First, who cares? The whole point of using properties is to make something that's conceptually a field but works a little differently under the hood, or (more commonly) simply to prevent a field from changing or limit the values the field can hold. Unless you screwed up when writing your setter/getter methods, the distinction between field and property should be unimportant to anyone using your class.
Second, if you're using a decent IDE, like the one most C# programmers use, then it'll tell you whether Ada
Re: (Score:2)
I care. I don't like surprises. Surprises and hidden behavior make for difficult debugging.
Re: (Score:3, Insightful)
I don't know a graceful way to say this: stuff your IDE. All IDEs are memory hungry, bloated, and have frustratingly tedious editors. I don't expect the whole world to use vi(m), but I do and I am very very efficient with it. I cannot be nearly as efficient with an IDE. I know some IDEs have vi-like plugin editors but I find them pale imitations. And did I mention the memory usage?
Memory usage? Visual Studio uses about as much memory as Firefox. We're talking about .NET and (most likely) Windows here, you know. You have to be a masochist to run those on a machine where memory is tight anyway.
Read: eventually you just learn to decipher the code and know that it is not what the syntax suggests it is.
That's true anywhere. If I write "x = 5", is that assigning a field or a local variable? If I write "foo.bar()", am I calling a virtual instance method I can override, a sealed instance method I can't override, or is "foo" a class name and I'm calling a static method? Or maybe "foo.bar" is a fi
Not the whole CLR... (Score:5, Interesting)
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).
Re:Not the whole CLR... (Score:4, Informative)
A subset of the CLR similar to the Compact Framework is included in Silverlight; with a much simpler security model. It's not a replacement for the full
As for developer tools, while it's not exactly developing on a Mac, per se, you can use Visual Studio to do remote debugging on CLR code running in a Silverlight app on a Mac client.
Re: (Score:2)
rotor? (Score:2)
Re: (Score:2)
So what does this mean for Mono? (Score:2)
Re: (Score:2)
Open Source or no, they are still Microsoft, they announce something big *then* go program it in a half-baked way, then hope to fix it with service packs and hot fixes.
Re: (Score:2)
Re: (Score:2)
I was in a developer conference last year. I was a speaker so I got to hang out in the speaker's lounge. Many of the other speakers were MSFT evangelists. They were joking it up quite a bit with typical geek bravado and camaraderie until the subject of mono was brought up. After that, it was pale faces, trembling, and hushed whispers.
Re: (Score:2)
Yes, I'm sure that's the case. I mean, I'm going to choose a CLR, compiler and toolset written on Novell's dime instead of the Microsoft one released for free that is fully supported and tested for the past six years. Just like everyone uses half-assed implementations [gnu.org] instead of J2EE when they go with Java. I'm sure that's what they're afraid of. After all, it's not like they didn't release an open source version of their own [microsoft.com] that also builds o
Still copying Java (Score:2)
So basically this is exactly like every other feature they ripped from Java and then pissed on.
Re: (Score:2)
0xDEADBEEF
Don't! (Score:3, Insightful)
Re: (Score:2)
It's not like OEMs are going to be as easily pushed around like they were when Microsoft forced their browser on them and essentially pushed Netscape Navigator off the pre-loads. Just competing isn't something Microsoft knows how to do so there must be some way they plan on forcing this on the public along with a way to harm Flash sites/users.
So how will they p
Poor Mono devs (Score:2)
Pitty.
Re: (Score:2)
Re: (Score:2)
Whoa.. MS Storm! (Score:2)
Balmer crys.. "I still matter!"
Re: (Score:2)
Stop the celebration (Score:5, Informative)
this could be nice (Score:2)
More generally, I think Microsoft has really shown signs of change with the CLR, IronPython, and related technologies. Maybe they are starting to "get" it at least a little.
(However, Ms-PL isn't OSI-approved yet; what's up with t
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: (Score:3, Interesting)
Also, the DLR is new.
Definition of 'Cross Platform' (Score:4, Interesting)
Being Cross-Platform means that Silverlight will be available on many different supported Operating Systems, and Silverlight represents THE most cross-platform product produced by Microsoft in its long and exciting history.
The wide range of operating systems targetted for production release of Silverlight include :
Vista Enterprise
Vista Ultimate
Vista Home Premium
Vista Business
Vista Home Basic (Limited support for some features)
The features and facilities of the free cross platform runtime binaries will understandably differ from platform to platform. For example, on Vista Home Basic, the silverlight runtime binary will only operate in full resolution no more than 3 times in any 24 hour period
Silverlight for Vista Enterprise and Vista Ultimate will be able to run for a whole 8 continuous hours in any 24 hours period before a noticable degradation in performance and visual resolution is apparent. Again, this is in response to demand from users for a safer and more secure experience when executing silverlight applications, and demonstrates Microsoft's committment to tailor its development to exactly suit the wishes of its valued users.
Silverlight makes use new synergistic paradigms in the field of computer science to provide the richest experience possible for the end user. Unfortunately, such highly advanced concepts as are seen in this new platform are not easily retrofitted to older legacy operating systems which are no longer vendor supported. Whilst Microsoft would dearly love to provide runtime binaries for systems such as Windows XP, our users have shown a clear preference for the more modern and powerful Vista range of operating systems, and so it is unlikely that a fully supported Silverlight runtime will be made available for Win XP. There may be some residual interest for Windows XP in the hobby niche market, however professional organisations overwhelmingly choose Vista.
Similarly, antique operating systems such as VMS, PrimeOS, MS-DOS and Linux either do not provide the necessary power to run Silverlight, or may in some instances have serious question marks regarding their legality, which unfortunately may impact our ability to support Silverlight in these environments. But again, the demand there is very low-impact, being part a dwindling hobby niche market of little mainstream interest.
In my best Don Adams... (Score:2)
And shouldn't we both be modded (-1, too obvious)?
Re: (Score:2)
The story said that they will supply plugins for Mozilla, IE, and Safari.
My guess is that it will work on OS/X and Windows but forget BSD and Linux.
Oh and it is not open source so even if they port it to X86 Linux it will not run on an Arm
I hope Canvas and the new Thedora tag catch on so we can drop Flash and this crap.