Slashdot Mirror


Public Standards: C# 2, Java 0

TheAncientHacker writes "While Java coders wait for SUN to be willing to accept any public standards for the Java language and runtime, Microsoft's C# and its underlying CLI, already standardized by ECMA, are about to get a second certification. This time by by the granddaddy of certification groups, the ISO."

16 of 459 comments (clear)

  1. What's up Sun??!! by ChaoticChaos · · Score: 5, Insightful

    I love Java and earn a living coding J2EE systems, but Sun's posture on not creating a public standard for Java is just ridiculous.

    It immediately creates the notion that Java is a proprietary language.

    Hard to believe that Microsoft's new language has two public standards and Sun's language has none. Is something wrong with this picture? Microsoft is starting to appear as a reasonable and responsible company and Sun appears as stumbling around in the dark.

    1. Re:What's up Sun??!! by Richard+W.M.+Jones · · Score: 3, Insightful

      It immediately creates the notion that Java is a proprietary language.

      Which it is, or might as well be. Until gcj came along (and it's not there yet) there were no free implementations of Java, and any development you did could at any time have been razed had Sun decided not to give their JVM away for free.

      Compare to C - multiple free, high-quality implementations. Compare to Perl - one extremely high-quality free implementation and it's a considerably better thought out and more powerful language to boot.

      Rich.

      Rich.

    2. Re:What's up Sun??!! by robbyjo · · Score: 5, Insightful

      Hard to believe that Microsoft's new language has two public standards and Sun's language has none. Is something wrong with this picture? Microsoft is starting to appear as a reasonable and responsible company and Sun appears as stumbling around in the dark.

      Well, it's all about control. Sun fears that once it place the language into standard bodies, it loses the control over the language. Whereas, as you may notice, there are lots of other language features need to be implemented. One of them is genericity / templates -- that is due out for Java 1.5. If Sun put Java into standard, it cannot make the modification easily.

      Moreover, Sun also fears of dominant groups (read: Microsoft) may overwhelm or sway the language away from their original intents.

      --

      --
      Error 500: Internal sig error
    3. Re:What's up Sun??!! by Jord · · Score: 4, Insightful
      There are multiple free implementations of Java. Have been for years. Sun could attempt to stop providing a JVM but that would not stop the community. In fact Sun's implementation of the JVM is one of the slower versions out there.

      Java may appear to be proprietary to the non-informed but the programmers know better.

    4. Re:What's up Sun??!! by be-fan · · Score: 5, Insightful

      Eh. Microsoft's new language is about as "standard" as C++ without the Standard Library. It's a castrated version of a real language. Further, C# _as_a_language_ isn't anything special. It's a cut-down version of C++ with native support for properties and delegation. The whole point of Java and .NET aren't the C# and Java languages, but the huge class libraries. Until those are standardized, ISO C# doesn't mean much.

      --
      A deep unwavering belief is a sure sign you're missing something...
    5. Re:What's up Sun??!! by sheldon · · Score: 3, Insightful

      Java is a proprietary language.

      The reason why Sun has not submitted Java to any public standards body is because they would no longer be in control of validating whether an implementation conforms to the standard.

      What's that mean? It means Microsoft could write a version of Java and run it through the standards body and have it stamped "Approved by ISO as Standard Java" or whatever.

      That's what Sun doesn't want to happen.

      "Microsoft is starting to appear as a reasonable and responsible company and Sun appears as stumbling around in the dark."

      Sun is stumbling around in the dark. Their marketing strategy has become... "Well we're not Microsoft." They've lost whatever technical leads they once had, and now try to appeal to emotions to get business.

      Emotions and business do not make strong partners over the long haul. McNealy needs to step down from Sun.

    6. Re:What's up Sun??!! by jedidiah · · Score: 3, Insightful

      It's really quite irrelevant if a compiler or VM is proprietary if it implements an open protocol. The fact that competing vendors implement the same specification is far more compelling than any number of standards certificates.

      It's the multiple compatable implementations that are meaningful/useful, not the publications of some committee.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    7. Re:What's up Sun??!! by ChannelX · · Score: 3, Insightful

      Compare to Perl - one extremely high-quality free implementation and it's a considerably better thought out and more powerful language to boot.This is a ridiculous statement. Both languages are powerful and each has its place. To say that Perl better thought-out is just plain ridiculous. Perl is a mess.

      --
      My blog: http://jkratz.dyndns.org/~jason/blog/
  2. Nice to say patented standards by Billly+Gates · · Score: 3, Insightful

    The Sco lawsuit agaisn't IBM is proof that anything that looks the original is subject to copyright claim. The main argument used is that SCO is the owner of SysV technology.

    C# is not only copyrighted but also patented.

    You can iso it and declare it as free as you want to but its still proprietary in my book for this reason. Likewise you can get a pig and put lipstick, makeup, eyeshadow, and a thong on it and call it Britney Spears but its still a pig.

  3. Platforms C# works on by AlgUSF · · Score: 4, Insightful

    Platforms for C#: 0 Windows .NET is still .NOT
    Platforms for Java: Windows, Solaris, Linux, AIX, Irix, Tru64, ........


    At my university:
    Classes tought with C#: 0
    Classes tought with Java: 6

    --


    I want my rights back. I was actually using them when our government stole them after 9/11.
  4. This is somewhat of a smoke screen.. by elemur · · Score: 5, Insightful

    My understanding is that MS is bringing some components to the standards orgs so they can say that, but that their environment will still heavily leverage internal and private APIs.

    So, you have to differentiate between a baseline CLR environment, and the actual programming APIs that would be used to build on top of this. .NET is not the CLR.. .NET is the CLR, APIs, Libraries, and so forth.. therefore only a small part of the environment is open.

    Who wants to bet that this is more for marketing than it is for getting cross platform capabilities? Without MS opening all libraries and APIs *AND* approving any patent use they have on those components to other systems, a public standard on CLR means nothing.

    Sun should bring Java to a standards org, but at the same time, its well documented, understood, and there are no hidden parts to the JVM/Runtime. You aren't going to see that with .NET.

    1. Re:This is somewhat of a smoke screen.. by elemur · · Score: 4, Insightful

      Just because they have a stronger commitment to XML doesn't make it any more open, when considered as an enterprise platform.

      Take a look at InfoNotes and some of the Office 2003 components. They *fully require* much of your enterprise to be deployed on Microsoft software. They actively spurned W3 standards such as XForms for their own form standard in this line as well.

      This sort of thing isn't new.. and the push to drag the enterprise architecture along by the client applications is dangerous. The DRM technologies being built in for document protection at a concept level are good.. but again, no openness and public standards there.

      My feel is there is a variety of token gestures to give people warm fuzzies, even as the noose tightens and the enterprise and client architecture looses the possiblity to be *anything but* their platform.

      Who cares about an XML file format if you can't decrypt it without Microsoft? What good is a CLR if you can't do anything without patented libraries whose distribution rights are limited to the Windows platform?

  5. So what... by jkauzlar · · Score: 3, Insightful
    I think its great that Microsoft is doing this and its what Sun should have done at the start, but it doesn't mean a thing. C# (on top of CLR) is still only available on one platform and the underlying virtual machine is still proprietary.

    Because of its bindings with other MS technologies, C# code will never be fully portable to other platforms and so the ISO standard is meaningless unless you are already a Windows-only programmer. If you ARE a windows-only programmer, then you can at least be assured MS won't deprecate the entire language with their next version of .NET.

  6. public versus bureaucratic by pohl · · Score: 3, Insightful
    The headline of this article is misleading. Java is a public standard: it is completely and unambiguously documented in public documents, and any member of the public has license to use those documents to create an independent and conformant implementation.

    What Java lacks is a bureaucratic standard: one where the document was given a stamp of approval by some committee that companies can buy a seat on. This latter kind of public standard actually makes it more difficult for me, a member of the public, to influence the content of the documents.

    But, you know what? I don't really care much about influencing the content of the documents. My priorities are
    • that the documents exist
    • that they are complete
    • that they are unambiguous
    • that I have license to create a conformant implemention.

    Beyond that, it's all marketing hype. Java is a public standard in the same sense that PDF is, and that's good enough for me.
    --

    The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...

  7. Re:If we're keeping score by rabidcow · · Score: 3, Insightful

    If you depend upon the IDE to determine what is a good language then please stay with MS. Real programmers dont need you.

    Ok, this is somewhat true, but a good IDE is like having power tools instead of having to use the manual versions. Yes, you can cut wood with a hand saw, you can drive screws with a manual screwdriver, you can install a roof without a nail gun, but why would you want to?

    A sufficiently better IDE can make language differences irrelevant. I'd be willing to drive 30 minutes out of my way, to an inferior location, to cut 100 boards with a chop saw instead of slaving away for weeks with a hand saw. Similarly, I'm willing to use a slightly inferior language if it has an excellent IDE.

  8. Just like POSIX compatibility for Windows NT by ink · · Score: 5, Insightful
    Microsoft did the same thing back in the early nineties. They added a "POSIX compatibility layer" to Windows NT and then went around getting gullable (ahem) reporters to praise their new Standards Compliant(tm) operating system. We all know the end result of that; Cygwin even had to go back to the drawing board to get any common POSIX application to compile for NT.

    Meanwhile, Linux isn't "officially" UNIX or even POSIX-certified; and yet it's still much more POSIXish than Windows NT is. The same is true for dotNet vs. Java/J2EE; the one has lip service from standards bodies while the other is more-or-less fully open.

    --
    The wheel is turning, but the hamster is dead.