Slashdot Mirror


Microsoft's CLR - Providing a Break from HW Vendors?

eyefish asks: "Is Microsoft's Common Language Runtime CLR (document in PDF form) really a way for Microsoft to slowly stop depending on hardware vendors like Intel to drive the Windows platform, and in the long run as a way to build a hardware-independent Windows platform to fight Java? I'd like to ask the Slashdot community what their thoughts are on this matter. Is there something preventing the CLR from being truly platform independent, now or in the future? How does it compare to the Java Virtual Machine?"

"It seems to me that once the CLR has matured enough, there won't be a need for Microsoft to wait for others to innovate on the hardware front and start offering its own hardware (and charge whatever it wants for it) to go with future versions of Windows.Net. Worst still, 99.99% of the population will not be able to say no to this strategy since they'll have no choice but continue using the Windows monopoly in order to run their favorite apps."

Jamie comments: I don't think it's about hardware innovation, or beating Java. It's about absolute control.

The big money over the next decade will be in transforming the computer into an entertainment device. AOL Time-Warner sees a computer as a revenue producer, with the unfortunate ability to copy digital works. They and the other five media giants want to put a stop to it; Microsoft and Intel will find it very profitable to help them.

One good step along the way is to give the computer a common interpreted language to run everything. We're there already. And when developers have to code to a virtual machine, not the actual bare iron, then whoever writes the virtual machine holds all the cards. And since the authors of the virtual machine will make a lot of money by enforcing intellectual property rights, the arms races are all over: copy protection is absolute, DeCSS won't compile, unauthorized MP3s won't play.

Of course developers rarely write on the bare metal anyway: we write to APIs, we write scripts, we write code that doesn't (need to) run in the CPU's supervisor mode. We're used to surrendering the ultimate control over the machine to the operating system, or to be more precise, to the BIOS that decides how and which operating system to run.

If we surrender this control, though, we'll find ourselves with a monopoly operating system that makes it impossible freely to write code for. (And it's not hard to cut off Linux and every other rogue free OS at the knees. The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft is the day that Linux becomes a thing of the past.)

Naturally, to prevent you from firing up GCC and doing a rogue compilation of DeCSS or Lame or other unauthorized code, the operating system will have to stop you from running anything that isn't written in its language for its virtual machine. Requiring code to be signed by a central authority will make its first appearance as virus-prevention but its real purpose too will be control. Universities will be able to buy special licensed exemptions, at least until corporations decide universities are hotbeds of piracy and theft. At which point your alma mater begins teaching Computer Science 101 (and 201, and 301, and 401) in C#.

My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.

50 of 514 comments (clear)

  1. Paranoia by easter1916 · · Score: 4, Insightful
    The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft is the day that Linux becomes a thing of the past.
    Please, spare me the paranoia. That's like saying, the day author X murders all other authors is the day we all start reading author X. It could happen, but is it likely?
    1. Re:Paranoia by Supa+Mentat · · Score: 3, Interesting

      I disagree with the reason you dismiss what he said. It isn't _too_ paranoid to suggest that MS could run all the other current companies that do business in the computer industry into bankruptcy or make them unimportant. So yeah, author X could possibly kill all the other authors (no I don't really think it's going to happen). The reason it wouldn't matter if author X killed the other authors is because that would also be the day that new authors were born. Maybe not in the form of new companies but perhaps in the form of open source coders. I can't see _everyone_ taking a monopoly of that magnitude in stride. The day author MS kills all the other author Suns, IBMs, Intels, and so forth, could be open source's greatest day.

      --
      "A witty saying proves nothing." - Voltaire
    2. Re:Paranoia by Linux_ho · · Score: 4, Insightful
      For all you paranoids, I would like you to introduce something known as the FREE MARKET.
      The day that every motherboard's BIOS uses strong crypto to demand the master boot record be signed with a secret key known only to Microsoft
      Come ON. Microsoft will not start artificially limiting what hardware it's product will run on. Why would they? That would be like throwing away customers!

      And why would hardware manufacturers start doing this otherwise? Customer pressure? If anything, limiting their BIOS in this way would dramatically LOWER the value of their BIOS! Think about it, if 75% of motherboards had this restriction, would you pay extra for one of the 25% that didn't? Sure! Would my company's CIO pay a little extra for the hundreds of machines she buys? Yes, she wouldn't buy machines that are limited to only running Windows. Would Joe blow care? Probably not, but it would matter to enough people to drive the value of these crypto-limited BIOSes down, and hardware companies wouldn't risk that.

      So what other possible paranoid ranting could one come up with that could make this scenario possible... Hmm... How about if Microsoft bought themselves the US Congress and made it a law? That's it! The government that sued them for antitrust violations is going to turn around and heavy-handedly enforce a complete, 100% monopoly! Yeah!

      Jeez, where do people get the idea that Slashdot is a haven for unthinking anti-microsoft zealots?
      --
      include $sig;
      1;
    3. Re:Paranoia by ftobin · · Score: 4, Insightful

      Please, spare me the paranoia. That's like saying, the day author X murders all other authors is the day we all start reading author X. It could happen, but is it likely?

      Time warp back 10 years

      Please, spare me the paranoia. That's like saying, the day the maker of wordprocessor X murders all other wordprocessor makers is the day we all start using wordprocssor X. It could happen, but is it likely?

      Fill in the blanks: X=, X.maker=

    4. Re:Paranoia by spongman · · Score: 4, Informative

      The funny thing is that Microsoft has already patented exactly this

    5. Re:Paranoia by dpilot · · Score: 3, Interesting

      >Come ON. Microsoft will not start artificially limiting what hardware it's product will run on. Why would they?
      >That would be like throwing away customers!

      Because Microsoft always takes the long view, and are willing to throw away money in the short term. Look at their products - they are pretty much always the best short-term decision to make.

      >And why would hardware manufacturers start doing this otherwise? Customer pressure? If anything, limiting their BIOS in this way would dramatically LOWER the value of their
      >BIOS! Think about it, if 75% of motherboards

      Not so. The purpose of BIOS is to get you far enough to start Windows. (in most peoples' view) If a crippled BIOS somehow made the system cheaper to support or manufacture, they'd do it in a heartbeat.

      That's why widescale Linux preloads are not going to happen - it increases manufacturing cost by introducing another process flow. Even dual-boot introduces another process step - and increases cost. This is worse than a basic chicken-and-egg problem, because there's no room anywhere for the baby chick.

      One possible way out of this Catch-22 would be to enable Linux as a better manufacturing platform than Windows. Enable it as a diagnostic program, essentially. Then it becomes a valuable part of the manufacturing flow, and Windows becomes simply something you stick on for the customer, instead of an integral part of the build.

      --
      The living have better things to do than to continue hating the dead.
    6. Re:Paranoia by skotte · · Score: 4, Interesting

      What is happening is the a great bastardization of computing as a hobbie

      this is true. but i believe that is becoming a thing of the anyway. the newer machines just arent as interesting (speed aside). they come prepacked with anything you could want, if you didnt get it, it's either on a suse disc, or a warez site somewhere. (you know, whimsically speaking)

      plus i just dont think theres that many 12 year olds who are coming along and saying "hey! i want to build an OS!" it's ... just a thing of the past.

      (which is a shame, yes, cos inovators are what this world thrives on. more to you if you are doing something really ambitious!)

    7. Re:Paranoia by dublin · · Score: 4, Interesting

      Come ON. Microsoft will not start artificially limiting what hardware it's product will run on. Why would they? That would be like throwing away customers!

      If that's true, they've been doing it for years. God od your homework before you post: Microsoft already has almost total control over the way that PCs work, right down to specifying in their hardware standards what the behavior of the power switch should be.

      They've used the PC9x (I don't know what they're calling them now) stndards to bludgeon all the major computer makers into building hardware the Microsoft way, and guess what? Pretty much all the clones and motherboards then follow suit, so that they're capable of running Windows with some degree of stability, too.

      If you don't think Microsoft has what amounts to 100% control of low-level PC hardware, just take the time to go to their WinHEC conference and notice that nearly every BIOS designer and many of the hardware engineering staff of all the computer and motherboard makers are there, dutifully taking pages of notes on what amounts to their orders for the year.

      Not only is this not far fetched, you don't even realize they've been doing it for years now. And there's a simple reason why it's about 100% effective: Comply or die - if those companies want to avoid paying several times more for the OS on the machines they sell (which obliterates the margin on a modern PC and puts them upside down), they must comply withthe Windows hardware standards as part of their OS purchase contract with MS. If you don't believe this strategy works, take a look around and try to find an AST computer these days - they tried to stand up to MS a few years back, refusing to let MS design their hardware, and MS nearly bankrupted them: I've been told that it was cheaper for them to go into a store and buy the OS than accept the terms MS offered them under "non-compliance".

      If you care at all about the future of the PC, go to WinHEC (they are starting to have to listen somewhat to the backlash) to find out understand what they're trying to do, and learn what you and others can do about it. Knowledge is power here - so far, only trivial numbers of us have refused to buy poisoned hardware. (The last time I checked they were trying to *eliminate* the BIOS, replacing it with a simpler set of lookup tables for resources, which of course would have to be "secured" at some point in the future, but I've been out of this for a couple of years now...)

      --
      "The future's good and the present is nothing to sneeze at." - Roblimo's last ./ post
  2. In the big scheme of things... by pokeyburro · · Score: 5, Insightful

    While I absolutely despise the approach Microsoft takes toward software development, I can safely say they won't ever get "absolute control" over it. Yeah, they're big, they're rich, they're formidable, but they're also bumbling and very error-prone, as we all know from leaked e-mails, virus reports, etc.

    The worst thing I see happening is a sort of class society, with Microsoft developing code for its circle of businesses, and everybody else in a sort of underground. Black market code, if you will. I very seriously doubt that things will come to, say, Microsoft getting the USGovt to pass a law forbidding software development by unlicensed, uncertified developers, and then fixing the game so only Microsoft developers can be easily certified.

    --
    Lately democracy seems to be based on the skybox, the Happy Meal box, the X-box, and the idiot box.
  3. Good for the gander.... by jtotheh · · Score: 4, Insightful

    Why is control of the only layer that makes a difference evil when done by M$oft but innovative when done by Sun and Netscape?
    (Java, the browser as a platform (see Judge Jackson's findings of fact) I have to admit that M$ is not being so obvious of their intentions, if that is what they are.

    1. Re:Good for the gander.... by DrSkwid · · Score: 3, Insightful

      I can't wait until I can't watch all that crap

      I'm not sure my life would end should I not be able to see AOLTW content.

      It might actually enable people to turn producer than consumer and then they might remember that creativity is more fun than being a passive observer.

      Actually, I think it's happening already. The real internet apps are email, chatrooms & weblogs, places where people contribute.

      The advertising crowd have had a rude awakening to the fact that Content is not King

      but don't take my word for it

      html
      pdf

      --
      There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  4. Ok... I have several issues with this. by Dilly+Bar · · Score: 3, Insightful

    1. Who spends more money? Businesses or consumers? Businesses. Why the hell would MS want to transform a device for doing work into an entertainment machine? It just doesn't make sense. Think of it this way: Businesses buy pens, not crayons. I bet you see a lot more pens sold.

    2. The CLR is just a collection of library code that developers can use or choose not to use. Think STL for many different languages. Already the CLR has support for many languages.

    3. An evil empire built by Microsoft does not really benefit them in the long run. Microsoft is in the business of making money, not taking over the world.

    I would expect to see a story with FUD like this in the Weekly World News next to Bat Boy's latest adventure, not in a respectable technical publication.

  5. What about interoperability? by TheNecromancer · · Score: 4, Insightful

    Why does everyone have to see the evil in whatever MS does?? True, they have done some evil things in the past, but can't people see that the CLR is part of an effort to accelerate interoperability of software that we developers will be creating in the future, regardless of what language it's written in?

    I'm tired of reading about how everything M$ does is evil...they are a corporation, and they have their best interests in mind, just like other corporations(i.e. Sun). Let's stop focusing on the negatives and start focusing on the positives, like the fact that MS and Sun have done alot to work together to further the standardizion of the SOAP protocol!

    --
    Attention all planets of the Solar Federation! We have assumed control! - Neil Peart
    1. Re:What about interoperability? by Russ+Steffen · · Score: 3, Funny
      Why does everyone have to see the evil in whatever MS does??

      So, we're supposed to ignore the evil in everything Microsoft does? At least you admit that everything they do has evil in it, that's an important first step.

    2. Re:What about interoperability? by alext · · Score: 5, Informative

      Putting aside the interesting philosophical question of whether a corporation can be evil for a moment, the following can be asserted with a degree of confidence:

      1. The interoperability aspect the article is concerned with is that between platforms, not between languages. The latter is interesting, if overstated, but irrelevant here.

      2. CLR may be specified, but other APIs and services are not, therefore it is trivially easy to lock in developers, just as was attempted with the proprietary GUI API MS provided for J++.

      3. For some reason, it is not yet widely appreciated that the public SOAP specification already has a proprietary MS extension called .NET Remote. While SOAP cannot pass object references around, or serialize objects like RMI, .NET Remote removes both of these restrictions, making it much more attractive than straight SOAP, which doesn't even provide object-level access in its standard form.

  6. J++ v2.0? by alexhmit01 · · Score: 5, Insightful

    When I was in high school, we were spec'ing out Alphas for the school file servers. The problem with the Alphas? No software. You could only buy them as File and Print servers.

    J++ looked like it was going to change things. If you wrote Java code, it would in theory, run anywhere. If you wrote J++ code, it would run on any Windows. Given the Windows Everywhere initiatives (the separate NT, Windows, and WinCE lines), J++ would have given Microsoft that platform independance.

    MS wanted to split from Intel years ago. Everyone thought that Intel was dead after the Pentium. RISC processors were blowing them away, and Intel's CISC ISA was holding them back.

    Well, Intel figured out how to build a RISC processor with a hardware decoder, Windows NT took off faster than expected, the 64-bit Alpha version never shipped, and now MS/Intel split a HUGE monopoly.

    This gives their Windows Everywhere initiative some teeth. They are pushing Win32 APIs everywhere, but you need to code differently for the Xbox, Win32, or WinCE. Sure the APIs are the same, but not the compiled version.

    The CLR means that Windows is Windows, and Windows code will run there.

    Look at UNIX, there has been decent source compatibility, but no binary compatibility (until the recent Linux emulation everywhere). Outside of software distributed in source form, nobody supports every Unix, just the 1-3 that are profitable for them.

    Source compatibility helps, but isn't enough. The CLR gives a form of binary compatibility.

    Sun could have had this market with Java, but they fucked up. We'll see what happens.

    1. Re:J++ v2.0? by BitwizeGHC · · Score: 3, Informative

      http://www.cygnus.com/~bothner/kawa.htm

      So does Java. Java provides sufficient introspection into the structure of its own classes, such that any language wishing to integrate on the object level with Java would have no trouble doing so using standard APIs. It's pretty much a matter of how well you code the environment for the target language. It's not like Perl and Python integrate instantly with CLR out-of-the-box, the language implementations had to be rewritten with CLR in mind. Java is no different.

      For a good Java implementation of Scheme with the ability to integrate with classes and objects written in Java, check out: http://www.cygnus.com/~bothner/kawa.htm

      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
  7. Paranoid ravings by Have+Blue · · Score: 3, Insightful

    MS won't be able to do that without a major compatibility break, and they've just barely thrown off (or started to throw off) DOS. Their grip on the upgrade cycle has already started to loosen with Windows XP. You're acting as if MS will break into your house and force you, at gunpoint, to install XP 3.0. Don't be stupid.

    And you can always get a Mac or something.

  8. Definitely by ericsink · · Score: 4, Insightful

    Eventually the CLR will replace Microsoft's platform revenue stream.

    Right now they get a nice chunk of money every time somebody buys a PC. Windows is one of the most expensive components of a desktop computer.

    If you look far enough down the road, Linux on the desktop is a reality. So they know that the OS monopoly is coming to an end. It is time to start getting a new monopoly ready to take its place.

    They will ride this gravy train as long as they can, and then they will concede the OS market and start charging the same per-computer tax for the CLR. They won't care what OS is running underneath it. The OS will become a low-margin commodity, and they may even just starting giving Windows away for free. The profit margins will simply be relocated upward to a higher layer of this new and thicker notion of a platform.

    BTW, don't even think about suggesting that Java will win because it was here first. Java is to the CLR as Lotus-1-2-3 was to Excel. Some people innovate. Other people specialize in refinement and broad market penetration.

    --
    Eric Sink
    Software Craftsman
  9. Frustrating, stupid comments. by JMZero · · Score: 4, Insightful

    People are always assuming MS is going to pull some crazy crap using its monopoly power.

    It does of course, but nothing like what Jamie is thinking. Whenever it does try something bizarre, like making MSN only work with IE, people call them on it. And they stop.

    And if they pulled something like this, they'd have to. The DOJ isn't going to sign off its case without some sort of oversight.

    And I think the oversight committee might have a problem with

    "Proposal 1A: Drop support for any PC that's capable of booting a non-MS OS."

    These stupid ideas only serve to make the real ones look silly.

    Why should Jamie get to post moderation free, Katzian garbage like this? Put it in a comment like everyone else.

    .

    --
    Let's not stir that bag of worms...
    1. Re:Frustrating, stupid comments. by Linux_ho · · Score: 3, Insightful

      Why should Jamie get to post moderation free, Katzian garbage like this? Put it in a comment like everyone else.

      I agree. This kind of lame paranoid rant gives the Slashdot community a bad name. It's bad enough in the comments, but there at least moderators can control the quality to some extent. I already have Katz on the block-list. I'm putting Jamie there too, but even that wouldn't have blocked this crap since it was posted by Cliff and just *adulterated* by Jamie.

      --
      include $sig;
      1;
    2. Re:Frustrating, stupid comments. by CaseyB · · Score: 4, Insightful
      Why should Jamie get to post moderation free, Katzian garbage like this? Put it in a comment like everyone else.

      I made *exactly* the same observation about a particularly stupid CmdrTaco editorial attached to a story. I was lucky enough to get a direct reply to my comment in which he proudly said, thought not in so many words: "Fuck you, it's my site, I can write what I want".

      Slashdot makes NO pretense at journalistic integrity. It's just a blog.

  10. Re:Is CLR in fact interpreted? Why??? by MenTaLguY · · Score: 4, Informative

    Normally CLI is compiled to native machine code rather than interpreted. CLI bytecode also carries a lot more useful information for optimization than JVM bytecode does (as well as placing some restrictions on code generation that make it easier than JVM to compile efficiently).

    --

    DNA just wants to be free...
  11. What about Mono? by Ondo · · Score: 3, Interesting

    Does this mean that Mono is now a force for good, protecting us from the Powers of Darkness getting absolute control, or are the still vile traitors helping the Beast conquer the world?

  12. Re:Ok... I have several issues with this. by ImaLamer · · Score: 3, Insightful
    2. The CLR is just a collection of library code that developers can use or choose not to use. Think STL for many different languages. Already the CLR has support for many languages.


    Choose? M$ doesn't give you a choice.

    3. An evil empire built by Microsoft does not really benefit them in the long run. Microsoft is in the business of making money, not taking over the world.


    No, they don't want to 'take over the world' they want to take over the OS, computer, consumer device, media and content, media and content delivery, media protection, and Internet business[es]. Bill Gates' dream is to have you buying everything from them except groceries.

    See the above point I made. They are in the business of making money by taking your choices away.

  13. well, of course by markj02 · · Score: 4, Insightful
    Microsoft has faced the problem of platform-dependence for years: NT on Alpha, NT on PPC, CE on various handhelds, Word on Mac and Windows, etc. And should they optimize for 386, 486, Pentium, AMD? Another problem is that batch-compiled binaries (in particular for RISC machines) are much bigger and load more slowly.

    Java would have been godsend for Microsoft, addressing all these problems, but they didn't control it and it would have given people not only hardware independence but also Microsoft independence.

    Technically, there are no significant differences between the CLR and the JVM. The CLR isn't any more or less powerful than the JVM, it won't run much faster or slower, and it won't be any easier or harder to implement. You already have Java compilers for the CLR, and you will see C# compilers for the JVM soon. But Microsoft controls the evolution of the CLR, and that is what matters to them. While Microsoft will probably implement the ECMA standard, they will extend the CLR and libraries in numerous proprietary ways, and that will give them exactly the control they want.

  14. Electrons are electrons by jrockway · · Score: 4, Insightful
    Naturally, to prevent you from firing up GCC and doing a rogue compilation of DeCSS or Lame or other unauthorized code, the operating system will have to stop you from running anything that isn't written in its language for its virtual machine.


    This is just wrong. Hardware is hardware and has no idea what seqences of instructions do. They execute an instruction, then another, then another. You put your code in memory and feed the CPU the address of the code. You can always go under the operating system (stick in a boot disk that loads the OS on top of something else). There's no way a machine could block "illegal code".

    Now, maybe a chip that only executes signed bytecode could do something like this. But then development would be essentially impossible and there would be no programs for that achitecture (and if you give developers the private key, it will be public in seconds; hell I'd do it!!).
    --
    My other car is first.
  15. Someone should tell AOL/TW that by jonabbey · · Score: 3

    Their browser team has gone all native on them, then. As long as the Mozilla browser is open source and free for anyone to take and adopt, it doesn't matter diddly/squat what AOL tries to enforce in the Netscape browser suite.

    AOL is another matter, and they certainly do have a tighter rein on things in their walled garden, but they have done nothing to prevent the rest of us from living happily on the outside yet.

  16. MS plays fewer games than you'd think... by alexhmit01 · · Score: 4, Insightful

    I'm a disgrunted MCSE that didn't like the early retirement of the NT 4.0 certification. We were under the impression that it would last until the NT 6.0 certification process, but that didn't happen. I don't like Microsoft.

    HOWEVER.

    They do play games (Windows isn't done until 1-2-3 won't run, the DR-DOS Win3.1 beta fake error, etc.), but less often then you think. Half the games that they play stem from the fact that their employees don't look outside the Microsoft bubble.

    Though I can't find it now, on MSN's Canadian Xbox page, they claimed that it was the first console to support 4 players. This is a company that is SO huge that adventuring to the rest of the tech world involves looking at other divisions. When they break standards, half the time I doubt they realize it. When they do things based upon their bastardized standard in another program, they may not realize it.

    It's a large company, they can't act as a single mind despite what Slashdot thinks.

    Alex

  17. CLR solves some common and obvious problems by Ars-Fartsica · · Score: 3, Informative
    The CLR allows Microsoft to promote garbage-collected languages in toto. This includes C++, which now has MS extensions to allow garbage collection. You can reserve your own counsel on the topic of extensions to a language, but it works, I'll say that for it.

    The CLR also incorporates some other innovative features - the ability link packages based on the signature of that package, not the package name, allowing side by side execution.

    Also, the CLR is closely tied to the .Net framework, which is far ahead of the Java class library as you may mix and match classes across various languages. Note this does not mean you can just compile different languages to the CLR, but reuse code at runtime from code written in other languages.

    Frankly the rest of the comments here are rants, I don't think many readers here understand the .Net platform.

    1. Re:CLR solves some common and obvious problems by MillionthMonkey · · Score: 4, Interesting

      The CLR allows Microsoft to promote garbage-collected languages in toto. This includes C++, which now has MS extensions to allow garbage collection. You can reserve your own counsel on the topic of extensions to a language, but it works, I'll say that for it.

      I think you should have stopped after the first seven words of your post. :)

      Note this does not mean you can just compile different languages to the CLR, but reuse code at runtime from code written in other languages.

      Could you explain to me the difference between these two statements? What prevents you from doing either one with a JVM?

      .NET would make a good David Spade joke. "I liked .NET better the first time I saw it... when it was called Java."

    2. Re:CLR solves some common and obvious problems by miniver · · Score: 3, Informative
      I can write a Perl program that defines a CLR compliant .Net framework class (blessed package). I can then inherit that class in a C# class. Or vice versa. You cannot do that with Java.

      Well, you might not be able to do that with Perl and Java today, but you can do it with Python and Java today -- check out Jython, the JVM implementation of Python.

      Microsoft spent the effort (money) to implement Perl on CRL; anytime that someone wants to do the work to implement Perl on top of the JVM, you'll be able to do what you want. Given that Parrot development continues, you may yet get Perl for JVM courtesy of Jython and Python and Parrot.

      --
      We call it art because we have names for the things we understand.
  18. Re:Ok... I have several issues with this. by _typo · · Score: 3, Funny
    I would expect to see a story with FUD like this in the Weekly World News next to Bat Boy's latest adventure, not in a respectable technical publication.

    Huh? No, this is Slashdot...

    --

    Pedro Côrte-Real.

  19. Reply to AC: Frustrating, stupid comments. by JMZero · · Score: 5, Informative
    Right, like how their word processor has a standard file format that is backwards compatible. Oh, wait...


    What does their lack of backwards compatibility have to do with anything?

    Is it a ploy to make money? Of course it is.

    Does it really matter? No, you can set Word to save to Word 95 format and you won't lose anything important. You can even download a free 2000 viewer if you want, and cut and paste into Word 95.

    Would MS provide these things if they were a crazy, unrestricted monopoly that would do anything to grab cash? No, they'd encrypt .xls files to ensure noone could read without paying. And they'd charge $900 for Windows.

    MS is like some inkblot where everyone can project their own little "gotta stand up to the man", "slippery slope" fantasy world view.

    Want to fight MS? Help make Linux good. Quit whining.

    .
    --
    Let's not stir that bag of worms...
  20. My view. by heech · · Score: 3, Insightful

    I think a lot of folks here have been focused on the Linux/desktop issue for so long that they're not understanding what really drives Microsoft: $$$$. (Well, I assume everyone *knows* that... but not sure how many understand it.)

    The CLR has two implications.

    The first many have commented on... hardware abstraction. Applications compiled for the CLR will be able to run on a wide-variety of different (but similar) platforms... but is this really of long-term value? Are there a lot of applications begging to run unmodified on your enterprise server AND your Palm? Doubtful. Hardware abstraction makes good engineering sense in the sense that it saves future development, but I don't see it as much of a market-stealing development.

    Will Microsoft have an advantage over Intel? The ability to move away in the future? Newsflash, it already has that advantage. x86 is, for all intents and purposes, an open standard implemented by a variety of hardware manufacturers (down to AMD and Intel at the top-end.. for now). How will CLR give it more of a death-grip? As someone else said, this aspect of the CLR is equivalent to the HAL.

    No, I believe it's the second implication that Microsoft really cares about: multiple language interoperability.

    The market Microsoft is going after with CLR is really the enterprise computing market. There is an awful lot of existing business logic written in a wide range of language offerings, and the value in capturing that market is huge. Microsoft is making this move on the basis of a prediction on where enterprise software is headed over the next 5-10 years.

    Different pieces of logic (within different systems) are begging (so M$ believes) to interoperate within a single application server, within a single runtime. XML/SOAP/Web services is a basic solution for cross-process interoperability... but what's going to run on the *back* end? Within the same process, with shared rules for security/type-safety, object/thread pools, garbage collection, and shared state?

    Java threatened to be the default language to which business logic/applications/"Web services" were about to be built with... which obviously would represent a threat to Microsoft's position. Microsoft made a valiant effort to head this off with COM/COM+, but quickly realized that the fundamentally C++ nature of COM+ was making it not attractive enough for business developers.

    The introduction of CLR is trying to change that. Multiple languages, multiple types, multiple run-time semantics... standardized in to one run-time. C++ objects making calls on Java objects making calls on COBOL logic...

    .... that's the vision of CLR, and why the focus of the CLR paper is about the language features of the CLR, *not* the 'generalized hardware' nature of the hardware.

  21. Fantasy. by JMZero · · Score: 3, Insightful

    And this would happen without anyone batting an eyelash, I'm sure. DOJ would be happy with it.

    I don't think so. And even if the situation came to pass:

    A: It would be easy to remedy this situation, and it would be remedied via antitrust action (though perhaps some group would need to be formed to validate and sign OS booters from open source vendors).
    B: The market would supply a vendor who produced equipment to run other OS's.

    This is the problem with the "slippery slope" style of arguing. You don't try to evaluate the problems with some projection, you just view it as some inevitable consequence of something reasonable. Everything gets bent into some crazy, hypothetical world where nothing is as it is now.

    Here's a projection: Linux will overcome MS by providing a better product for free. Seems a lot more likely than Jamie's scenario.

    Why can't this be the topic of our anti-MS conversation: What can we do to make Linux better?

    ...

    --
    Let's not stir that bag of worms...
  22. Editorial Slant? by Howie · · Score: 5, Insightful

    The poster's original question seems to be a reasonable, thought-out question about the implications of VMs in software development.

    Too bad it's followed by 4 paras of paranoid rant, which is what people are replying to, by and large. Why doesn't Jamie just post in the forum, like the rest of us proles? Even if I'd blocked him from my view of Slashdot (which I haven't, although looking back over the stories...), this would slip through as a rider on Cliff's story.

    [anyway, what is the benefit to BIOS makers and motherboard manufacturers of limiting their market? The degree of support for overclocking in existing mobos and BIOSes shows that they don't care what their large partners think (Intel, AMD)]

    --
    "don't fall into the fallacy of believing that Perl can solve social problems. Maybe Perl 6 can, but that's a ways off"
  23. Java is a fine C++ replacement, for the most part by Glock27 · · Score: 5, Interesting
    (Java is a replacement for C/C++, and doesn't have an equivalent to iostream.h?! No local file access?! WTF!)

    WTF indeed! Java applications have both! Ever hear of the java.io package?

    Would you really want Java applets, downloaded from an arbitrary Internet site, to have access to your hard drive by default? (Signed applets can do such things, by the way.)

    Java is infinitely preferable to C#+CLR, simply because there is no platform lockin, or vendor lockin (you can get great JVMs from IBM, for instance).

    I'll start seriously considering C#+CLR when the Mono runtime exceeds the performance of Linux JVMs on the same box. I expect that to happen...never. ;-)

    299,792,458 m/s...not just a good idea, its the law!

    --
    Galileo: "The Earth revolves around the Sun!"
    Score: -1 100% Flamebait
  24. Game Boy? BAD example. Too open. by yerricde · · Score: 5, Informative

    My prediction is that, unless antitrust legislation in the U.S. gets some teeth between now and then, the PC will become a Gameboy within fifteen years. Enjoy computers while they last.

    Game Boy is a bad example. The Game Boy Advance is an open system, fully documented to the point that anybody with GCC can write software and run it on the GBA without taking a vow of silence or paying the big N. The only things the GBA checks before running your code are 1. the very simple checksum on the header and 2. a bit pattern that produces the Nintendo logo but is legal to copy under the Sega v. Accolade precedent. So go get GCC for ARM and an MBV2 cable from lik-sang.com and get hacking.

    $article =~ s/become a Gameboy/become an XBox/; and it becomes more accurate.

    --
    Will I retire or break 10K?
  25. Re:Ok... I have several issues with this. by alexhmit01 · · Score: 3, Informative

    1. Consumers, that's a retarded question. 2/3s of the US economy is consumption. Capitalist economies typically devote more resources to consumer goods than capital goods. Business computers are capital goods.

    To grow a command economy, you push capital goods to excess. Hence the aggrarian Russia become a major superpower from the time of the Russian revolution (1917) to rival the western world by the end of WW II and remained competitive until its economic collapse in the early 90s. Despite the ability to keep up militarily (technically consumer goods, as weapons and munitions aren't used to produce other goods) and in factories, they had bread lines and 10 year waits for autos. Why? If the rest of the world wants to destroy you, you spend on military first, keeping up second, and goods for the people 3rd.

    Businesses spend money differently. Demand for capital goods is different from demand for consumer goods. Businesses will buy capital goods (like computers) at higher prices because they get a good ROI on them, and the opportunity cost of downtime and tech support is higher.

    Consumers are willing to spend differently. They are more likely to be willing to spend 1-2 hours on tech support then spend $100 to avoid those waits.

    Its about two things: market segmentation, money.

    If Microsoft can get themselves 1% of the consumer non-food, non-rent economy (essentially becoming a government and enacting a tax), they will become MUCH larger than now.

    If they can better split the business buyers from the consumers, they can maximize prices and therefore profits.

    Alex

  26. CLR and hardware independence by miguel · · Score: 4, Interesting

    The CLR is already being used to write applications that run on multiple platforms. For example the Compact .NET Framework runs on various of the cpus supported by Windows CE.NET. Now you can write an application for .NET and it will run in any system with a CLR.

    This solves a practical problem: now you will be able to "beam" programs from Windows CE machines running on different CPUs. Also, .NET is better than any other Win32 apis.

    The CLR also helps the move to 64 bit systems. There are three integer types on the CLR: int32, int64 and native int (which is 32 or 64 depending on the machine).

    The Mono project is building a free implementation of such a virtual machine (http://www.go-mono.com). We have a functional JIT engine, a C# compiler and many class libraries. So in the future you could even write applications on Windows and run them on Linux.

    Miguell

  27. It will boost PC sales by Earlybird · · Score: 3, Interesting
    Microsoft depend on sales from Office, Windows and other apps. They feel the slump in PC sales just like the hardware vendors do.

    Whether they acknowledge it or not, MS lives in close symbiosis with the vendors; every 2 years or so progress in hardware development produces faster PCs, and every 2 years or so MS produces a version of Windows, as well as applications, that serve to bring the speed of those PCs down to a sluggish sublevel of performance, the added bells and whistles effectively canceling out the performance gains. Users have been indoctrinated into accepting this cycle as natural, which is why users so often acknowledge the speed of Linux, BeOS and other OSes as wonderous, when in truth we shouldn't accept anything less.

    In short, Microsoft boosts the new generation of speedy hardware because users "need" it. And speedy hardware boosts the new generation of Microsoft stuff because users "need" it. At the moment, that cycle is slowing down as users feel applications are fast enough for their needs. The recent improvements in performance have been almost entirely for the sake of gaming performance and multimedia: AGP, 3D instructions, HW-accelerated DVD playback, HW-accelerated sound, cooling supplies, cool cases etc. -- precious little of that stuff is for business tasks.

    Everybody knows the upgrade cycle can't go on like this. And consciously or not, this game of leapfrog will be artificially boosted by .NET because this technology, by definition, will slow down your computer; similar to Java, it relies on bytecode that is compiled into native code on demand (Just-In-Time compilation). While some argue that this process can produce superior performance to traditional pre-compilation, in the short run it probably won't -- Java is a good case study here.

    The fact that .NET could run on other hardware platforms is another possible sales-booster: a hardware-independent Windows would promote new types of hardware, freeing the burden of innovation from being completely on Intel, spurring competition, thereby potentially spurring more sales, etc.

  28. Re:No, the CLR is demonstrably better by markj02 · · Score: 4, Informative
    This does not hold [for Java] - you may compile different languages to the JVM, but integrating them at the object level is not possible.

    I don't understand what you (or Microsoft) are talking about when making that claim.

    I regularly mix Python and Java objects. Python is a dynamically typed language with multiple inheritance and Java is a statically typed language with single inheritance. I can subclass Java objects in Python and use Java objects in Python and vice versa. If this is possible for languages as different as Java and Python, it would seem to be possible for many other languages as well (and many other languages implemented on top of the JVM claim to provide the same level of integration--I just haven't used them). The Java native code interfaces also allow for similar levels of integration with native code.

    The CLR does clean up some idiosyncracies and minor messes in the JVM and JVM spec. Mostly, those cleanups give a bit more handholding to less experienced language implementors to figure out what to do. But that doesn't seem to give the CLR significantly more functionality or performance overall.

    If you claim CLR is "demonstrably better", maybe you can be a little more concrete in your "demonstration"? Where specifically are these demonstrable advantages, and how specifically can you not achieve the same functionality in the JVM?

  29. Not guessing the post-x86 processor by iabervon · · Score: 3, Interesting

    I think the main reason for CLR is that the x86 architecture is clearly on the way out, but it has not yet become clear what its successor will be. There are several candidates, and MS doesn't want to build and keep separate versions of their code for all of them, nor does it want to risk choosing a loser. So it designs a VM layer so that the only code that needs to know what hardware you have is Windows, which you buy with the hardware anyway. In any case where you don't know what the user will be using, introduce a layer of abstraction and you don't invest much in your guess. Of course, they've got code in many languages, so all of the languages have to target this virtual machine.

  30. Do you know ANYTHING about the CLR? by ajp · · Score: 3, Insightful
    Microsoft has opened up C# and the CLR for standardization so that anyone can implement a version of it. This is something Sun has been quite hesistant to do with Java. In fact, Sun sued Microsoft for "polluting" Java.

    Microsoft is porting .NET to FreeBSD. How does that help them establish "Windows Everywhere"? They aren't suing or threatening Miguel for his Mono project: in fact, they seem to be encouraging it (or amused by it) judging by the interview with him on MSDN.

    C# is a nice, clean platform for Windows GUI development. And ASP.NET is cool enough to give IIS a feature edge (as opposed to a security edge) over Apache. Not that the Apache group couldn't create something like Tomcat to serve ASP.NET from Apache, mind you. .NET is, after all, an open standard.

    Microsoft needs .NET because Microsoft's customers want an easier way to develop. Period. Apple developers love coding for Apple. Linux developers love, well, anything anti-Microsoft. And Windows developers--God help them--should be able to enjoy Windows development. Having actually written an app or two using the CLR I assure you that it is much more enjoyable than MFC.

    IANAWT (I am not a Windows Troll). I am a BSD user looking forward to .NET on BSD. I am a Perl coder looking forward to Perl.NET. And yes, I use and code on Windows at work. And for these reasons, it's very cool to have .NET.

  31. This is a Migration Path to IA64! by Anonymous Coward · · Score: 3, Insightful

    I can't believe almost everyone missed this! Everyone thinks this is Microsoft's way of reducing Intel's influence. WRONG! This is the perfect way to MAINTAIN the Wintel hegemony!

    The scream you hear every morning is the Intel engineer realizing he/she has to spend another day working on the x86 architecture. Everytime he/she pushes a polygon around on a cad system, he/she curses the baroque design decisions that were made 20 years ago. Intel tried to kill the x86 on multiple occasions (80860, 80960, etc) and failed miserably every time. Their most recent attempt, IA64, shares the same departure in binary compatability.

    To wean the market away from x86, Intel has recruited Microsoft to create a language and development environment that generates architecture independent byte-codes. Intel rooted for Java in the early days, but now it is obviously a niche player. Microsoft thinks it gets a leg up on Intel but it is Intel with the most powerful compilers (check out icc) and the fastest hardware (Intel hired away all the Alpha engineers). Wintel lives on.

  32. .NET framework is key by metoc · · Score: 5, Insightful

    Microsoft has a multi-prong approach. It is similar to Sun's Java write once run everywhere strategy, but with the benefit of history and money on its side.

    MS has the CLR (Common Language Runtime) and MSIL (MS Intermediate Language). This is nothing new, with CLR = JVM, and MSIL being javacode. Additionally MS also has the .NET Framework (JFC/Swing) which will eventually replace the Win32 API. Once Microsoft ports the CLR to a new hardware platform or operating system, it is simple to also port the .NET framework. MS really doesn't need to port Windows unless it wants everything from the hardware up (as in JavaOS).

    So if this is nothing more than MS rehash of Sun's Java approach, what's the difference.
    .
    First MS has the advantage of learning from Sun's mistakes. For example C#, Visual Basic, & VC++ are not the only languages that can use CLR & MSIL. Any language can compile to MSIL, and MS encourages it, claiming over 20 languages from 3rd party vendors, including PERL and Java. Additionally MS supports both compiled and bytecode, with a built-in native code compiler as part of the framework. These were all possible with the JVM, but not advocated/pushed by Sun.

    Second, instant market. MS is including the .NET framework in it's upcoming Windows .NET Server (aka Windows XP Server), and will have it included as free upgrades for Windows 2000 and Windows XP before the end of the year. This means that MS could potentially have tens of millions of .NET ready systems on the street before the end of the year. On advantage MS has is that in its first incarnation the .NET Framework just hooks into the Win32 API, giving them time to rewrite the entire Windows codebase (supposedly due with the Blackcomb release).

    Third. Applications. Microsoft has Office. Lets face it. People don't buy Windows for IE and Solitaire. Java never had a killer app.

    Fourth. Inertia & Clout. Once MS ports Office to .NET Framework and eliminates Win32, their will be nothing stopping MS from porting Office to any hardware and/or OS platform on the market. 3rd party developers like Adobe, Macromedia, etc. can port their applications to .NET now with a tryed and true customer base, and once MS is ready, jump with them to other platforms/OS' with an almost minimal risk and expense. Instant application base. The first candidates are MAC OS X and Windows CE (.NET). Adobe for one will probably welcome having less codebases to maintain. Any port that makes economic sense to MS is a candidate, including Unix and Linux.

    Five. Future proofing. If the DOJ or anyone else causes problems, MS can easily port Office to Linux just by porting the .NET framework. As new hardware or OS' hit the market, port. Where as Sun could port Java to any enviroment easy enough, it doesn't have the same application base as MS.

  33. like ADA and the Nebula architecture? by at10u8 · · Score: 3, Insightful
    20 years ago (yes, that means that the references are mostly available only as dead trees) people were joking that compiler writers were going to have to develop new skills. This was because DOD had outlined a plan to move all defense-related coding to the ADA language as implemented on machines with the "Nebula architecture".

    It didn't happen then.

    I'm not worried now.

  34. If that happened... by J.C.B. · · Score: 3, Interesting
    ...the DOJ would have to intervene, and push for a breakup (and not settle for anything less). It would have a Standard Oil type monopoly on the computer business.

    Now Microsoft is smart, and I think they learned their lesson somewhat. They're not going to do anything blantantly monopolisitic like requireing all BIOSes to only be able to boot windows. They don't want to have to deal with another antitrust case, and they, and they surely don't want the DOJ to have killer arguments like, "Now, no new computer can run anything but Microsoft Windows," and, "All software on a Windows system must now be signed by Microsoft, thus giving Microsoft absolute control over the software industry." A case like this would make the current antitrust trial look insignifigant in comparison.


    Oh yeah, IANAL.

  35. The CLR will win... by ChaoticCoyote · · Score: 3, Insightful

    ...because it makes writing programs easy. Steve Ballmer's "developer, developers, developers" rant is right on the money; people buy computers for the applications, not idealistic concerns. If Microsoft provides a clear, simple, productive path for application developers, developers will write for it and people will buy it.

    It's all fine and dandy to be idealistic about freedom and the like, but a quick examination of society suggests that freedom means very little to your average consumer. What most people care about is convenience , the ease with which they can do their "thing." And Microsoft's CLR, while rough around the edges now, brings "convenience" to developer's lives.

    I've developed a lot of code in the last couple of decades, and I gravitated to Java because it was an easy way to write GUIs. Sure, most of my work is the heavy lifting "under the hood" -- but it's the GUI that attracts users who buy product. You and I may love command-line environments, but that isn't what most people want or need. As one of my co-workers puts it, the GUI guys get all the glory -- and the CLR is a superior tool for GUI development.

    Why use the CLR? Because unlike Java's Swing, GUI code written in the CLR is reasonably fast (through native widgets) and easy to use. The Visual Studio development environment takes most of the challenge out of GUI development -- and toys like NetBeans/Forte and KDevelop don't even come close to Visual Studio when it comes to easy development. The only advantage Java has now is portability...

    The CLR has little or no affect on my engine development; I still write my code as portable C++/Fortran/whatever, and wrap it in a component architecture that can be dropped into a GUI. Microsoft has not made traditional compiled code obsolete -- what they've done is make MFC, ATL, and COM obsolete. In other words, Microsoft is creating a user-interface toolkit that can be used to wrap code that does heavy lifting. They're making it easy and efficient to write GUIs for Windows -- and that, my friends, is what is going to hurt Java and Linux.

    The CLR isn't about getting rid of Intel, or platform independence; it's about attracting developers who write code that attracts user who sepnd money on Microsoft operating systems. The Linux developer community would be wise to spend more time on ease of use and less time tilting at windmills.