Slashdot Mirror


Why Microsoft Will Never Make .NET Truly Portable

Michelle Meyers writes "Just days before Microsoft claimed to be making parts of the .NET CLR "available" to other platforms, NeoSmart Technologies had published an article bemoaning and blasting Microsoft's abuse of it's developers by pretending .NET was a true cross-platform framework when they're doing everything in their power to stop it from being just that. Of interest is NeoSmart's analysis of how Microsoft has no problem making certain portions of .NET available to Mac users — just so long as its distributed under an "open source" license that forbids any and all use of the code except for educational purposes — yet are terrified of the very thought of .NET being available to *nix users, even if that's to the benefit of .NET developers everywhere. Even more interesting is one of the comments on that article linking to legal documents in which Microsoft employees discuss the (im)possibility of creating a cross-platform code and UI framework, years before the .NET project even started!"

29 of 293 comments (clear)

  1. Does it matter? by brennanw · · Score: 4, Insightful

    There's no point in making a marketing sleight of hand portable to other platforms, is there?

    Maybe it's changed in the last few years, but when Microsoft first started talking about "dot net" the only thing I could figure was that they didn't really know what it was going to do -- and four years after it had been announced it didn't really seem as if that had changed.

    Maybe it's changed since then... it's been three years since the last time I paid any attention to it...

    --
    Eviscerati.Org: All Hail the Eviscerati
    1. Re:Does it matter? by eln · · Score: 5, Insightful

      I always figured the whole "cross-platform" marketspeak was just a ploy to take some of the wind out of Java's sails. MS wanted people to stop jumping on the Java bandwagon and start jumping on the .NET bandwagon, so they made it sound like .NET was (or would be in the future) more widely usable than it is.

    2. Re:Does it matter? by Anonymous Coward · · Score: 4, Interesting

      Er, I'm no fan of .NET, but the Help Desk webcomic isn't exactly the best source for objective and serious assessments of Microsoft products. Several programming languages have been built for .NET and programs that are built with these will generally require the .NET runtime to run. Although this is irrelevant to the well-definedness of the concept, most people tend to acknowledge that these languages, perhaps C# in particular, are far better than Microsoft's earlier offerings along these lines, although they may of course not be everyone's cup of tea for various reasons including but not limited to their being tied to a closed system and their being generally non-cross-platform.

      You may not like the framework, but there is no longer any confusion about what .NET is. You'll notice that the comic you linked to was from 2004.

    3. Re:Does it matter? by Anonymous Coward · · Score: 5, Funny

      What .net is now is completely different from the vast swarm of swirling spin and angry buzzing buzzwords that poured forth from Microsoft when that concept was spawned, half-formed from the bowels of that beast. It was going to revolutionize the world, one-up .mac on the personal services side while providing corporate services that scaled to millions of users and provide a synergistic end-to-end mashup of all business processes with qualitative and quantitative analysis of everything at once. dotnet was going to bring the ultimate in efficiency and productivity to every one of your workers, from the CEO all the way down to the guy who screws the plastic case together and puts it back on the conveyor belt. (Remember the cars on demand ad, with the robot painting the cars as people decide what color they want? .net made that possible!) There was going to be windows .net, office .net and so on, all of them designed to work with The Intarweb in new and wonderous ways that would blow the minds of every lesser being if so much as a hint of their power was whispered at them from across the room.

      Now it's just a runtime for a bytecode interpreted language. Whoopity-doo.

    4. Re:Does it matter? by Ucklak · · Score: 5, Insightful

      Cross platform for Microsoft means it will work on Windows, Xbox, and mobile devices that run Windows.

      It's just another word to ignore when Microsoft says it versus say Samsung when their printers are cross platform which means Linux/Mac/Windows.

      --
      if you steal from one source, that is plagiarism, if you steal from many, well, that's just research.
    5. Re:Does it matter? by Rob+Y. · · Score: 3, Interesting

      ...was just a ploy to take some of the wind out of Java's sails.

      Absolutely right. Microsoft was originally pushing .NET as a 'better Java', and in some ways, it actually was better. But in the way that really mattered to most Java developers, it was much worse. Its cross-platform nature was the main appeal of Java. Yes, the language may have been viewed as an improvement, and the 'managed code' approach to security is nice. But 'write once, run anywhere' was the main selling point of Java.

      So how did Microsoft 'compete'? First, by deliberately sabotaging the cross-platform nature of Java, and Second by implying that their Java clone was cross-platform as well.

      And the saddest part is that if Microsoft had been broken up by the Justice Dept when it should have been, .NET probably would have been made truly cross-platform. Then it could have competed honestly with Java.

      --
      Posted from my Android phone. Oh, I can change this? There, that's better...
  2. Terrified, they aint. by LibertineR · · Score: 4, Insightful
    Come on.

    Why is Microsoft the only company constantly expected to make decisions anti to their business model? Where is the clamor for Apple to adopt VB for the sake of 'developers'? Ok, bad example.

    But seriously; with 50Billion in the bank, I think throwing around words like 'terrified' serve no purpose but to feed the rabid-anti-Microsoft crowds.

    Hard to have a serious discussion, when the article is premised on hype and flaming rhetoric to start with.

    1. Re:Terrified, they aint. by LibertineR · · Score: 3, Insightful
      Just to follow up, how stupid is it for the same folks yelling "Microsoft sucks!" on a daily basis, to turn around and ask for access to some of that suckage for themselves?

      Do they suck or not, people? If so, why ask for their shit?

    2. Re:Terrified, they aint. by Trailer+Trash · · Score: 3, Insightful

      "Terrified" isn't really the word, but "paranoid" would probably do. Microsoft, as an organization, doesn't like to compete with other companies. So, their way of doing business is to rig the system so that they have such an overwhelming competitive advantage they don't have to compete. This is why they are paranoid about someone figuring out their file formats, certain network protocols. And they're paranoid about their army of developers being able to quickly and easily develop for other platforms. Look at their actions and you'll see that.

      Frankly, that paranoia got them the $50B in the bank, so it's hard to argue against.

      That said, they have as much interest in making cross-platform development tools as they have in supporting ODF, and basically for the same reason. The WWW is one of the only truly cross-platform development environments left; why do you think they want so badly to make a "flash-killer"? It's not about flash - it's about the web.

    3. Re:Terrified, they aint. by suv4x4 · · Score: 3, Insightful

      Indeed. If Microsoft has a fault, it's the fact their marketing does claim they'll be just as cross-platform and open, as Adobe Flash is, as a web platform (talking about Silverlight and the open-sources CLR here).

      Adobe open-sourced part of the platform as they feel the heat from Microsoft. Microsoft did the same as they feel the heat from Adobe (yes, having 50 billion in the bank doesn't mean they're immune to failure, so they DO react quickly to competition).

      It's stupid to expect they should spend years developing .NET and then give it all away randomly to make MS-bashers happy (which they will never ever be, anyway).

      Acknolwedge the amount of effort that went into .NET and accpet it as a great platform, that's more or less tied to Windows, and has limited deployment on other platforms. That's all you need to do: see through Microsoft marketing, and use technology where it's best fitted.

      I'm a Flash developer and would still see lots of uses for .NET/Silverlight, that in some cases even mix Silverlight and Flash in the same experience - why not? Why should I be a nazi and not just give it to Microsoft for having a great runtime, when they do.

      Screw bashers.

  3. Re:Non Free is Predictable. by Dionysus · · Score: 3, Insightful

    A software product/framework can be portable, cross platform without being Free. I don't know if Microsoft has ever claimed that .NET would be Free.

    --
    Je ne parle pas francais.
  4. .Net Framework Portability by Wharper · · Score: 3, Informative

    It does seem M$ is making some effort to take at least some portions of the .net framework to other systems:

    http://msdn2.microsoft.com/en-us/embedded/bb278106 .aspx

    It even looks as if some companies are making dev boards with it:

    http://www.embeddedfusion.com/default.aspx?id=76

    In talking with them (M$) it seems that you pay to port this framework to whatever platform you would like to take the framework to. This is with or without an operating system.

    Cheers,
        Bill

  5. Portability by Egonis · · Score: 3, Insightful

    It's pretty sad.

    On the other hand, there is always the Mono Project (www.mono-project.org)
    It even has a Visual Basic Compiler.

    Yes, it's not ready for primetime yet (imo), but it looks very promising.

    Microsoft's actions will just result in more 3rd party and OSS development.

  6. Mono Anyone? by N8F8 · · Score: 3, Insightful

    Stop griping and expend your efforts bringing Mono up to .Net 2.0 compatability.

    --
    "God fights on the side with the best artillery." - Napoleon, Marshal of France - speaking truth to power
  7. Java by mwvdlee · · Score: 4, Insightful

    .NET is basically Java without the portability.
    So why bother with .NET?

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Java by poindextrose · · Score: 5, Interesting

      I develop in both the Java and .NET frameworks. I like the Java language a lot more than C#. Unfortunately, users like Windows.Forms a lot more than Swing.

      --
      Karma: Raspberry Kiwi
    2. Re:Java by Jarnis · · Score: 4, Informative

      It may be preinstalled in Windows *Vista*, but it sure as hell is not preinstalled on XP.

      Instructing end users to install this and that .NET framework is a common problem. As is explaining the fact 'WTF why do I have to install .NET 1.1, I already have 2.0!' - most users don't understand that the two can (and in some cases should) coexist.

      MS has made .NET very end-user unfriendly in XP.

  8. .NET Is Only Really Useful on Windows Anyway by repruhsent · · Score: 4, Insightful

    Other implementations of .NET are kind of stupid anyway, and, like it or not, Mono really isn't very useful. Anyone who does development on Linux/Mac/anything that isn't Windows will just use native code, or Java - probably because writing a native app isn't nearly as difficult on other platforms, and Java actually is write once, run anywhere (well, closer than .NET, anyway).

    The only platform that benefits from .NET is Windows; have any of you written a native code Windows app (I'm sure many of you have)? The code is a nightmare and makes my eyes scream. With Windows, you really, truly need a system like .NET to make developing any non-trivial app even remotely possible, unless you want to spend 1,000 hours writing fucking COM shit (which I sure as fuck don't).

  9. It's in their interest Not to... by blueforce · · Score: 3, Insightful

    With the proliferation of Web Applications and SOA, and the diminishing relevance of desktop software, it's in Microsoft's best interest NOT to make it cross-platform.

    Let's say that a full implementation of the .Net framework was available for *nix or OS X - all of the framework libs, ASP, WinForms, etc. What incentive would I have to fill a Web server farm full of thousands of dollars of Windows Server licenses when I could run my ASP.Net apps on Apache? The only real costs to add machines to the farm are hardware-related. .Net already has providers for Oracle and MySQL. Suddenly, Microsoft's Operating systems and platforms become irrelevant to developers who have years of experience and time invested in learning .Net.

    --
    If you do what you always did, you get what you always got.
  10. STOP whinging silverlight is coming to Linux! by wwmedia · · Score: 3, Informative
  11. Duh! by phillymjs · · Score: 3, Insightful

    Nobody with any sense is going to believe any cross-platform claims made by Microsoft anymore. The Windows platform is their lifeblood, and they'll do whatever they have to to artificially bind people to it. That's why they're fighting and delaying all attempts to truly open up their connection protocols and file formats. On a level playing field, people would desert Windows in droves, and Microsoft knows it.

    Honestly, I don't see how this is even still open for debate in 2007-- Microsoft showed their true colors w/r/t portability after they added Windows-only extensions to Java. And that's if you ignore their prior attempt to balkanize the web and cause pain for anyone not running Windows IE.

    Their "Flash-killer" and their "PDF-killer" and any other allegedly-open standards they try to foist off on us should be ignored and allowed to die. If we allow them to get a foothold, we deserve everything we get.

    ~Philly

  12. Re:Snooze. by Opportunist · · Score: 4, Insightful

    So what you're saying is that what they said some years ago shouldn't be taken serious anymore? Why should I take anything said by MS now serious? Why should I believe that what's being spun today holds any meaning in the future if I am not supposed to believe what I was told earlier?

    Don't get me wrong, but when a company makes a statement or announcement, there are two ways to deal with it. Either believe it and expect it to happen or declare it bunk and handle it accordingly. And if the former is expected, the results should warrant it. Either MS follows its words with actions or it has to accept that people ignore their announcements, or, worse, read them for the same reason they read the Prawda: To know what will certainly NOT happen.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  13. Re:So C# is .Net? by digitig · · Score: 4, Informative

    No. As I see it (and there's more than one way to see it) .NET is essentially an API and virtual machine offering that API. C# happens to be a high level language that maps very closely onto the virtual machine language, but in theory any language can compile to that machine language (and many do -- C++, Java, VB, Python, Ada, Eiffel, and so on). I like it as an API (at least at version 2.x), the VM makes multi-language programming a cinch, its memory manager really does seem to eliminate a lot of classic memory bugs, and its deployment model moves away from huge, centralised registries. But it comes at the expense of bloat and the speed penalty of an extra layer between the code and the metal. IMHO that's a reasonable design choice to have to make. If you're developing for MS Windows I reckon .NET is a decent design choice as long as you're not particularly size or speed constrained. If you're developing for anything else -- well, try starting here: http://it.slashdot.org/article.pl?sid=07/05/02/133 6216&from=rss.

    --
    Quidnam Latine loqui modo coepi?
  14. Re: Why Microsoft Will Never Make .NET Truly Port by nametaken · · Score: 4, Informative

    I care. I maintain, and develop for, windows systems all day... then come home to all linux systems with the exception of an XP Pro VM I keep tucked away for emergencies. I'm not switching frameworks, and the business is not switching platforms. What's more, like most .net developers, I like the framework and the dev environment. They're the sort of things that MS actually got right.

    It seems to me that the popularity of .Net should be obvious to those who frequent slashdot.

  15. Whatever by Concern · · Score: 3, Interesting

    Even if Java wasn't about to be GPLd, was it really worth all the effort, plus daring the world's most notorious IP barratrers' fairly obvious patent/IP trap, so you can get...

    Operator overloading? Unsafe code in a VM? Not to say there aren't a few nice things. But too few. Mono is a dangerous waste of time.

    That C#/.NET hype is so damn tired. It's a dead-end platform, unless MS opens it up, or chooses to add some truly novel features to it in the future.

    --
    Tired of Political Trolls? Opt Out!
  16. Re:Snooze. by CmdrGravy · · Score: 3, Insightful

    Why yes, of course because we all know that Microsofts strategy today was largely determined yesterday afternoon. A large multinational company like Microsoft with product lead times measured in years would never have discussed the actions they're taking today 5 or 6 years ago would they. You muppet.

  17. Re:So C# is .Net? by shutdown+-p+now · · Score: 4, Informative

    I like it as an API (at least at version 2.x), the VM makes multi-language programming a cinch, its memory manager really does seem to eliminate a lot of classic memory bugs, and its deployment model moves away from huge, centralised registries. But it comes at the expense of bloat and the speed penalty of an extra layer between the code and the metal. IMHO that's a reasonable design choice to have to make.
    Actually, it's faster than many think. Remember that the bytecode was optimized to be JITed rather than interpreted from the very beginning. The easiest way to check on it is to run your .NET program from within Visual Studio, set a breakpoint, and then go into "Disassembly" mode. You'll see what the JIT compiler made out of your code. I've found that for math, pointer operations, and method calls, it's pretty much the same as the output of a C++ compiler, except that you can't avoid checks for null reference on method calls (though it does not check for that repeatedly if one check is enough). Well, there's still the penalty from GC, and that one is harder to account for - but still, there really isn't much reason to pick C++ over C# for speed, unless you really really need that 3-5% extra.
  18. Multiple implementations is not portable. by twitter · · Score: 3, Insightful

    A software product/framework can be portable, cross platform without being Free.

    It's not portable if you can't move it to a platform of YOUR choice. Something that's not free may have SDKs for more than one platform, but that does not really make it portable. Being "open" does not help either. They could publish their entire source code but it would not be free if it was patent and copyright restrictions that keep you from doing what you want with it.

    These days, that lack of freedom is a distinct disadvantage that will cost M$. It's always been a disadvantage to non free code, but the saving grace was a lack working alternative and someone might pay you for it. Because there are now entire free software systems, non free code has run out of saving graces. It won't even make money. Control is a loser.

    --

    Friends don't help friends install M$ junk.

  19. Re: Why Microsoft Will Never Make .NET Truly Port by deathy_epl+ccs · · Score: 4, Informative

    When you say dev environment is better, do you mean VS.net is better than Eclipse? Eclipse has come to a point that it is way better than many development IDE.

    I use both currently, and I can say that Eclipse may be way better than many IDEs, but Visual Studio.net isn't one of them.