Forgot your password?
typodupeerror
Microsoft

Microsoft Common Language Runtime To Be Cross-Platform 308

Posted by kdawson
from the .net-going-wide dept.
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."
This discussion has been archived. No new comments can be posted.

Microsoft Common Language Runtime To Be Cross-Platform

Comments Filter:
  • by AKAImBatman (238306) * <akaimbatman@[ ]il.com ['gma' in gap]> on Tuesday May 01, 2007 @04:34PM (#18946705) Homepage Journal

    The Core CLR shows up as part of the Silverlight SDK that Redmond is open sourcing.

    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. :-/
  • by LibertineR (591918) on Tuesday May 01, 2007 @04:34PM (#18946709)
    If a lot of you, previously unexposed to the CLR gain access to it, you will discover that it is not the crap that so many of you have read it to be.

    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)

    by Daishiman (698845) on Tuesday May 01, 2007 @04:55PM (#18947051)
    It's a trap!
  • by Iloinen Lohikrme (880747) on Tuesday May 01, 2007 @05:04PM (#18947215)
    Darling and others, as I am may day drunk, I just have to say this: all languages are all the same. I use and have used Java as my primary programming language for the last 5 to 6 years. Before that I used Pascal and some C to achieve what I wanted. In these years I have to confess, all these languages to me have seem to be all the same. Yes, Java is more object orientated and thanks to modern IDE's (hallelujah for Netbeans) developing has newer been as easy at it is. The story still remains the same, I could still do the same things that I do with Java almost as easy with any language.

    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 .NET platform are usable and secure in that day that Microsoft will open source them whole with any and all extensions that they have made to them, and they backing up and giving support options for deployments in Linux, AIX and Solaris environments... I'm sorry but giving up Java for .NET and C# with out real assurance and multi-platform support is for mad mans and MBA's only.
  • by rockmuelle (575982) on Tuesday May 01, 2007 @05:23PM (#18947485)
    Whoa there... just like 'Open' has other meanings that don't imply 'Open Source', cross-platform has many interpretations. The XNA claim to be cross-platform is definitely a valid one, particularly when you consider that the X-Box 360 is a PowerPC architecture and Windows XP and Vista are primarily run on x86 chips. If single development environment that can not only target three versions of an OS, but also target multiple processor architectures isn't cross platform, then I'm not sure what is.

    -Chris
  • Yeah -- nice try -- it's not a strawman -- The call out to unmanaged code and return each take over 1000 cycles. (And such callouts don't work at all in mono.) So something that should take about 500 cycles (3D perlin noise generation) now takes ~2500. Ouch -- just a bit slower than leaving it managed. (For image rendering with procedurally generated textures, the perlin noise generator is frequently a *huge* spike in the

    Sometimes you need nice fast math functions that can take a small handful of cycles.

    My beef is that .net advocates often claim it's just as fast as native code, when it is demonstrably not.

    My argument is that .net is not appropriate for performance sensitive computationally intensive programs. It's fine for UI driven stuff where that code never needs to run anywhere other than windows.

    Oh, and speaking of strawmen, where did I talk about hand optimized vector assembly? Or Bash? WTF?
  • by nanosquid (1074949) on Tuesday May 01, 2007 @05:43PM (#18947843)
    Probably not, since the Microsoft Permissive License 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.

    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 .NET code.
  • typical FUD (Score:5, Insightful)

    by nanosquid (1074949) on Tuesday May 01, 2007 @05:51PM (#18947969)
    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.
  • by Qwavel (733416) on Tuesday May 01, 2007 @05:59PM (#18948105)

    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?
  • by fitten (521191) on Tuesday May 01, 2007 @06:28PM (#18948489)
    So your only real beef was that it wasn't 'cross platform' enough for you? I've written both Java and C# and I can definitely tell you which one I think has better development tools and is easier to develop in (and it ain't Java), is pretty fast, etc. One complaint that I do have is that some of the underlying class libraries could have been implemented better... for example, iterating through a collection prevents you from modifying that collection. I can understand a very simple implementation prohibiting this but a reasonable implementation would let you, IMO. However, you can work around this without too much trouble.
  • by Mr2001 (90979) on Tuesday May 01, 2007 @08:11PM (#18949543) Homepage Journal

    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 field containing a function pointer (C++) or delegate (C#)? You have to know context to make sense of it. If you can't keep enough context in your head to understand the code you're writing, you can't hope to be much of a programmer anyway.

    Sure, that's a useful skill, but it's not helpful, it doesn't enhance productivity, and it's not innovative. Oh, and it saves a paltry number of keystrokes at best. Not enough to justify the increased crypticness.
    It saves you a paltry number of keystrokes. It saves me a ton, because I use an IDE that takes advantage of stuff like this to save me time. I can type "okb.te=ma();" and have it come out "okButton.Text = MakeCaption();"

    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).
  • by bheer (633842) <rbheer@nOSPaM.gmail.com> on Tuesday May 01, 2007 @09:57PM (#18950315)
    Dude, code that compiles and runs for two processor architectures is called "lowest common denominator" (unless you use #ifdefs, in which case it's clearly not the _same_ code), assuming even one of the processor architectures have _any_ unique features at all. We aren't yet at the point where processors are homogenous commodities differentiated only by price.

At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer.

Working...