Slashdot Mirror


One Runtime To Bind Them All

Sowbug writes "Here's some interesting Saturday night reading: a critical examination of many of the advertised benefits of .NET's CLR (Common Language Runtime) and the other technologies (MSIL, CLS, CTS) that make it possible. It's written from the perspective of a Java advocate, Osvaldo Pinali Doederlein. "

11 of 400 comments (clear)

  1. Topic beat to death already... by heavy · · Score: 3, Interesting

    ...under the this thread...

  2. Well, m$ has to do something. by autopr0n · · Score: 4, Interesting

    I'm personally a java fan myself, and I use JSPs for autopr0n.com. But as much as I would like to see that technology succeed, I don't really think there's anything 'wrong' with .net.

    Java itself is not any kind of 'true' general standard, sun can do whatever they want to with it. There's no real reason that Microsoft should bind itself to sun's implementation. So .net is pretty much just a ripoff of java, there are some 'evolutionary' enhancements like XML serialization and that sort of thing.

    This won't kill java anymore then java would have killed windows. Microsoft's CLR will provide a better way to write windows-only programs. I don't see why everyone needs to be up in arms about it.

    --
    autopr0n is like, down and stuff.
    1. Re:Well, m$ has to do something. by Anonymous Coward · · Score: 3, Interesting

      Java doesn't provide a true cross-platform, high quality application development environment?

      Could have fooled me. I develop Java apps on a Linux machine that are deployed not only to other operating systems but to PDAs and other connection limited devices such as java capable cell phones. All with a true cross platform, high quality development environment that is very productive.

      Geez, some people's kids.

    2. Re:Well, m$ has to do something. by abigor · · Score: 3, Interesting

      OK, first I'm sorry about the crankiness...I'm just so sick of people thinking it's all about the desktop.

      Sure, .NET may succeed on the desktop, who knows. But it's really not the main focus of the overall architecture. The Common Language stuff will work as an application framework, but really, you're basically talking Win32 -- there isn't a compelling reason to switch from the ATL or MFC or whatever. The .NET strategy is server-based. MS knows as well as anyone else that web-based interactions with a remote server (whether it's serving up your word processor or a car-rental/airlane booking service) are where the future is at. I don't deny that the .NET framework will count for something on the desktop, but MS already own that. They want to own the server side as well.

      If you still don't believe me, you'll (kindly) notice that MS marketing literature is mainly directed at J2EE. MS even went so far as to re-implement the Java Pet Store server in .NET to compare benchmarks. Remember, MS is about increasing revenue -- it's not happening on the desktop. Once (if) web services explode, MS wants .NET to be the implementation framework of choice.

  3. Re:Unbiased Articles? by joto · · Score: 5, Interesting
    I believe this article is actually quite unbiased, considering the source it came from. It admits that CLR is probably better than JVM for implementing other languages than C# or Java, but that it's far from the holy grail MS makes it sound like.

    Then it goes on to say that surely the JVM can be extended if this proves to be a selling point for .NET (which is probably true, but it kind of makes you wonder why sun haven't already done it).

  4. Re:Unbiased Articles? by harlows_monkeys · · Score: 3, Interesting

    Try this article by Bertrand Meyer.

  5. Very nice article. by DaveWood · · Score: 5, Interesting

    What a pleasure to see such a balanced, well-written and thorough analysis of the situation. I didn't see any great evidence of Java "advocacy" - this person appears extremely well-versed in langauge design and familiar with a good variety of languages, as well as more than willing to point out Java's flaws.

    The author is saying pretty much what I figured, which is that .NET is much better than what MS has been doing in the past, however it's still just a sugared-up clone of J2EE, whose "cross-langauge" benefits are ultimately dubious and primarily a marketing invention.

    I would also make the case that "unsafe" mode/pointer arithmetic is a flaw, but that's not the matter at hand. The high point of the article were these two paragraphs in the conclusion:

    "Playing with the .NET SDK, the cross-language support looks impressive, but the illusion holds true only until realizing that all languages in the mix are virtually identical. Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language. There is only One True Language that is C#, and "skins" offered by Microsoft and third parties. Just like in GUIs, these skins will alter the system's look and feel, add a few features, but never compete with a fully new toolkit."

    For those quick to make an ignorant response, he's not saying more radical structural departures are impossible, though many are - but more often that diverging "client languages" suffer in performance and, in many cases, have been "embraced and extended" in order to become compatible. He goes on:

    "There are, actually, many successful "common language runtimes", with names like Pentium, SPARC and others. Mainstream CPUs are equally fitted to very different languages as they only do the most fundamental, low-level operations, so they cannot be biased towards particular languages. There aren't many different ways to perform a conditional branch. However, there are radically different ways to support methods and functions, or most constructs found in high-level languages. The consequence is that every language needs different compilers and runtimes to implement their features, and different libraries to support their vision of software development."

  6. Comment removed by account_deleted · · Score: 3, Interesting

    Comment removed based on user account deletion

  7. should have been a comparison chart by scrytch · · Score: 4, Interesting

    "CLR lacks continuations" ... so does JVM
    "CLR requires static single inheritance" ... so does JVM
    "CLR lacks multiple dispatch" ... etc

    I certainly think that the CLR could stand the criticism and have its hype deflated, but I'm not finding a lot to recommend the JVM. Sun doesn't even acknowledge, much less support languages other than Java on the JVM, with the exception of GJ, which it would rather absorb than support.

    I might also note that there are languages very much not like C# available for .NET, including haskell and scheme.

    --
    I've finally had it: until slashdot gets article moderation, I am not coming back.
  8. Comment removed by account_deleted · · Score: 4, Interesting

    Comment removed based on user account deletion

  9. Re:apply the razor please by mestar · · Score: 3, Interesting
    C# is Java
    Except that it isn't mature,

    it is more mature than you think.


    it is not the language, it is the libraries that you code against. for example, Windows Forms could easily be called WFC 2.0, same for many other classes.


    ADO.NET is a successor to ADO, it is not 'imature' as you say. also, it is two generations ahead of anything that java has to offer to access databases.


    ASP.NET is again the next version of ASP, it improved od ASP, it is not a '1.0' version. again, much richer that JSP.


    take web services, and then look at sun's pathetic response (oh, yeah, we have web services too). i would call java web services api much more imature that microsofts.