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."

38 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 Coward+the+Anonymous · · Score: 2, Insightful

      Well, the ECMA (and soon ISO) standard is for the CLI also. This means that Type and all that good stuff will be there. But you won't have things like Windows.Forms or ADO or any of the really useful libraries.

      --
      -- Jason
    7. 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.
    8. 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/
    9. Re:What's up Sun??!! by tarvin · · Score: 2, Insightful
      <<It immediately creates the notion that Java is a proprietary language.
      <Which it is, or might as well be.

      Agree.

      Unfortunately, java is pretty much "run once - run nowhere". Of course, all Slashdotters have an up-to-date JRE, but the fact is that JREs are a rare sight. It's easy to blame Microsoft for not distributing java with Windows any more. But seriously: When even Linux distributions have trouble distributing a java runtime enviroment, then there is _probably_ something wrong with the licenses associated with java technologies.

      What's worse: Because Java is nowhere to be found, there is lack of consensus about where to put java libraries, how to handle classpaths, etc.

      When I think of the non-programming-related software I use regularly, _no_ Java-based software comes to mind. (Except for a few JSP-based web-pages if that counts as software.)

      I'm not very optimistic about Javas future, I'm afraid. Which is sad: It's a beautiful language (which will be even more beautiful when it get generics).

      Fortunately, there are other good technologies than Java. A combination of Python (when speed is not that important), C/C++ (when you need speed and control of every bit) and perhaps C# (in the future) is actually all I ask for.

  2. Standards? by DeadSea · · Score: 2, Insightful
    Number of times per release you expect companies to purposfully break standards to hurt competitors: Microsoft 2, Sun 0

    What good are open standards if your implementation is the only one? In addition to Sun, IBM has a Java implementation and there is an open source implementation and library set that is getting pretty good.

    Actually, I wouldn't put it past Sun to break their standards either, but what good is Slashdot if you can't bash Microsoft.

    1. Re:Standards? by Caoch93 · · Score: 2, Insightful
      Ever heard of Mono? Ever heard of Apache.Net? You need to do some more homework....MS only implemented .Net on their platform, but other groups are doing so on other platforms.

      A CIL interpreter does not a .NET environment make. It's the APIs that are considered "common" and are shipped with MS .NET that are also relevent. Mono doesn't support WinForms, for example. Does Apache.Net? Since WinForms is the de facto GUI kit for MS .NET programs, good luck trying to get it to run on Mono. Last I checked, Mono was refusing to implement WinForms. Thus, Mono is refusing to have seamless portability from MS .NET for all applications.

  3. 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.

  4. 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.
    1. Re:Platforms C# works on by Glock27 · · Score: 2, Insightful
      I've used C# on Linux and on a number of Windows platforms (including handhelds). While it's not on as many as Java, it's still > 0.

      I'm sure you're referring to production quality compilers and runtimes...aren't you? ;-)

      --
      Galileo: "The Earth revolves around the Sun!"
      Score: -1 100% Flamebait
    2. Re:Platforms C# works on by aggieben · · Score: 2, Insightful

      Hmm.... Actually, there are several platforms that .NET can exist happily on: Linux, FreeBSD (leading to ports for other BSD's), Win32. The only _major_ platform that isn't in that list is Sun, and there will be a .NET on Sun platforms, just like there is a Java platform on Win32. Also, if you want to get into a "my university does..." battle, try this: Bjarne Stroustrup is a professor at my university and uses C# in the graduate class.

      --
      Don't become a regular here, you will become retarded. -- Yoda the Retard
    3. Re:Platforms C# works on by Anonymous Coward · · Score: 1, Insightful

      Mono is almost up to being production quality :-)

      They have EnterpriseServices, ADO.NET, ASP.NET, Remoting RPC servers.

      And it runs quite nicely.

  5. 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 seosamh · · Score: 2, Insightful

      I'm not an apologist for MS, but they will do what they think they have to do to win in the market they believe they're in.

      The Office 11 beta is supposed to show a much stronger commitment to "openness" in the use of XML file formats than anything to come from MS before now. Working with standards bodies such as ECMA and ISO shows some level of commitment on the part of MS to cooperate with the other vendors and the customers in the market today. The recent drop off in "Linux is cancer" remarks show that MS has learned that policy won't fly.

      These are interesting times. Don't count MS out just becasue you don't like some of their past products or practices.

      I run Linux and OS/2 at home, but I like being able to afford feeding my kids and my cats, so I'm not going to ignore what one of the market's largest vendors does.

    2. 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?

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

      The DRM technologies that scare me are the ones that Intel wants to build in, not so much what MS wants. Without the hardware level support, things like "Palladium" will go nowhere.

      I have not seen any implementation of XForms from any vendor, so I don't know how much of a condemnation it is that MS does not support it now.

      There is no problem "decoding" the XML file formats used in the new Word, Excel, etc.

      I did not say that MS is open. I said that MS is moving toward openness, possibly as a result of market experience in the changed (i.e., not 1985) market. I still believe that.

      Whether the changes will be beneficial for the market as a whole or not remains to be seen. But MS is not stagnant, and they remain a powerful force in the market where I regularly seek gainful employ. Any MSCE who isn't learning the rudiments of Linux is playing with fire, and anyone who chooses to ignore MS's actions is doing the same.

      IMHO, of course.

  6. .NET trap by Anonymous Coward · · Score: 1, Insightful

    The way I understand it, MS is happy to make C# a public standard while retaining control of the only thing that makes C# interesting -- the .NET architecture.

    Still, I don't see why Sun would care if the Java language and it's JVM mechanism were public (as opposed to the spec for Java infrastructure components, corresponding to .NET)

  7. 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.

  8. Re:oh well by stratjakt · · Score: 2, Insightful

    >> seriously - why should we care? does the code allow me to do what I want? yes.

    Because J3EE could complete deprecate what you just wrote, and now you have to completely rewrite all of your applications to keep up.

    That's why business/government cares about standards. They dont give a rats ass about open sources or free as in unpaid software.

    They want to know that the x thousand manhours writing custom code for their outfit wont be 'obsolete' because some academic propellerhead decides its obsolete. Look how much COBOL, FORTRAN, and ADA is still in use.

    --
    I don't need no instructions to know how to rock!!!!
  9. release as GPL by Anonymous Coward · · Score: 1, Insightful

    if sun released java as GPL, they wouldn't have to worry that a competitor could appropriate it with proprietary modifications. any modifications would have to be available to sun and all other platform users.

    -rishab

  10. Reality Check by Brian+Blessed · · Score: 2, Insightful
    People here (like this comment) keep naively thinking that the supposed standardizations will lead to a wonderful cross platform programming nirvana.

    Microsoft *will* scupper these efforts because they have retained the power to do so and they want to ensure the continuation of their monopoly.

    It is easy to mentally sweep the problems under the carpet and focus too closely on the wonderful promises (which is why so many IT managers can't see alternatives to MS servers). With .NET the real showstoppers for me are:
    • Microsoft's CLI bugs will be the standard
    • The parts that aren't standardized will require serious kludges (like using Wine with Mono)

    - Brian
  11. Its the patents, stupid ... by Anonymous Coward · · Score: 1, Insightful
    So what if there is an "official" ISO standard of C# - what does that mean in any practical sense? That you gotta pay $$ to get a copy of the standards document?! Microsoft can always do to this ISO "standardized" C# what it tried to do with Java - add proprietary extensions to its heart's content while still claiming that standards are being implemented (All for the benefit of the customer of course).

    Recall Microsoft claiming that Windows NT implemented the POSIX standards - which it did in the strictest sense but not in any practical degree. Or how about the fact that Microsoft C++ has yet to fully implement the ISO C++ standard. Microsoft easily has the resourses to do this - but they'll continue to claim that there are other priorities (such as their non-standard extensions ...)

    What matters are the libraries which actually implement all of the functionality - and guess who determines what those APIs are? These are still tiightly in the control of Microsoft (compared to the JCP used to propose and codify new Java APIs). The Java Community Process, as flawed as it is, is a heck of a bigger step towards an truly open process than simply handing off an already finished language standard to a standards body.

    Then there is the touchy little issue regarding the patents that Microsoft has or is the process of filing that will directly impact on the use of C# (language, CLI, and libraries). Mono will never be widely adopted, especially on non-Microsoft platforms, until this cloud of ownership involving intellectual rights is fully lifted.

    Heck, I'm still waiting for an ISO version of Perl before I *even* think of allowing that language used in my company ...

  12. That is a stupid argument by LibertineR · · Score: 2, Insightful
    It's an argument made by those who are not paid much to code. There is nothing wrong with using an IDE, if that IDE makes you more productive.

    An IDE is not going to make a lowsy programmer better, but it will help a good programmer to write more code with less effort. On top of that, as IDE's go, show me a better one than VS.NET?

    REAL PROGRAMMERS take advantage of any and every tool that they can, that will help them get code written, compiled, debugged and SHIPPED.

    If you can do it faster in EMACS or Notepad, good for you, but dont knock other developers because they use tools.

    You sound like someone who tightens the lugnuts on their car with their thumbs, and screams "REAL MECHANICS dont NEED a lugwrench".

    Idiot.

  13. 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...

  14. 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.

  15. Amusing by The+Bungi · · Score: 2, Insightful
    It's so funny how most of the comments so far in this article are saying essentially that certification is useless and means squat, and that Sun is doing the right thing by keeping control of Java and most people have no use for Java certification anyway so what's the point and it just works and "M$" is evil.

    If Java had received some sort of certification and Microsoft wasn't bothering to do the same thing for C#, the comments would all read "see? that's proof that m$ is evil and Java is Superior!!1!! What are they afraid of? But nooooo, they NEVER play by the book or accepts standards! M$ is evil!!!1! .NET sucks!!"

    There would be dozens of insightful posts pointing out how certification is a Good Thing and how Java once again r0xx0rz because of it. Other posts would go into long tirades about how .NET is a failed effort because C# is not certified. And ad nauseaum.

    I think things like these speak volumes about how people approach their... ah... "dislike" of Microsoft. If they do [something], it's wrong and evil. If they don't do [something], they're wrong and evil for not doing it.

    But I suppose them's the dregs.

  16. 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.
  17. Meaningless standards by ikekrull · · Score: 2, Insightful

    The problem is that the published .NET standards don't actually provide a specification for a standard set of tools to engineer useful software. And if you can do some things with the standardized portions of .NET, they are just as easily, more portably and more efficiently achieved using existing (non .NET) tools.

    I would doubt very much whether it is possible to build .NET apps using MS's tools that do not depend on MS's proprietary implementation and extensions to it's published standards.

    This is just 'Plan B to kill Java' because Plan A, trying to deliberately break Sun's proprietary standards failed so badly. So now they try to give the appearance of being 'ultra-standards-compliant' with a new and wholly redundant platform.

    Having these pointless 'standards' is just a checklist item so MS product managers can construct more plausible falsehoods about .NETs supposed superiority to Java.

    MS shows its commitment to 'standards' with its compatibility-breaking implementation on Kerberos, with its release of specifications for SMB/CIFS that nobody can look at without giving up any rights to work on a free implementation, by providing MFC classes under a license that specifically prohibits their use in engineering a product that competes with MS.

    MS is about as interested in standards-compliance and platform neutrality as George Bush is in Solar energy and world peace.

    --
    I gots ta ding a ding dang my dang a long ling long
  18. MS Motivation by mugnyte · · Score: 2, Insightful


    Why wouldn't MS open the C# concepts as a standard? Even the framework libraries are replacable (given a ton of work, like any modern library these days). MS makes it money on server installations, not IDE sales. Build it and they will come. The "Standard" itself isn't worth anything anyway, as C++ programmers know.

    But MS doens't need people to switch to MS OS's just because they want to use C#... They would rather enjoy having the best-of-breed editor and compiler on their platform (and maybe, yes, others!), and let the tendrils of development in C# spider to other OSes.

    For instance, a C# project today on *nix boxes may have to jump through a few hoops (although I think these days MS would throw some support at it) to get bootstrapped, but think about the MONEY:

    MS is posing C#/.NET to be a marketing sell for cross-platform development and integration. "Build with MS today, and tie to everything already in the world...How? Write more and more with .NET assemblies everywhere. We're working on the details right now!"

    So, .NET ends up on a few of your shop boxes, putting smiles on bosess faces. MS then can start to leverage the "thing run better with us" mantra, and paint pretty pictures about porting. Is anyone still surprised MS is a BUSINESS out to make MONEY?

    They are selling based on exactly what Java does as a defacto concept: a single technology with many uses. If bosses see that Java or C# are going to morph anyway, they will make a decision not based on this news. BUT one can only hope.

    mug

  19. Cabletron as an example by Degrees · · Score: 2, Insightful
    Cabletron pretty much invented VLANs, but used a central server and a bunch of switch cpu horsepower to get the job done. SecureFast was a beautiful thing.

    Cisco knew their gear didn't have the horsepower to compete. So when it came time for the standards body to declare the 802.1q standard - guess which company threw everything into winning the battle?

    And of course, the Cisco marketing department promptly started making noise about Cabletron not having a "standards based" VLAN technology.

    We lost a lot of fine-grained control when we switched from SecureFast to 802.1q.

    What we need now is the control SecureFast gave us, with 802.1q as the transport technology. Then we would beat 'em on both fronts.

    --
    "The most sensible request of government we make is not, "Do something!" But "Quit it!"
  20. EULA, and laches by yerricde · · Score: 2, Insightful

    So where's your copy of a signed license agreement from Sun and Microsoft?

    Open the installer to see it. And if EULAs aren't binding, the big proprietary software publishers are screwed in other ways.

    If you do not have a signed document stating you may use the patent royalty free, then either one of them at a later date can tell you to pay up.

    Not always. If a patent holder delays an infringement lawsuit by over six years or otherwise harm me by delaying legal action, the doctrine of laches states that the patent holder may not be able to recover damages for infringements that occurred prior to filing the lawsuit.

    --
    Will I retire or break 10K?
  21. Re:Not exactly by wuice · · Score: 2, Insightful

    The real world consists of plenty of quality programs with greatly extended deadlines (because the "real" deadline was impossible), as well as horrible programs delivered on time. Plenty of examples of each.

    Impossible deadlines are, by definition, impossible.

  22. Comment removed by account_deleted · · Score: 2, Insightful

    Comment removed based on user account deletion