Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Microsoft Programming IT Technology

Public Standards: C# 2, Java 0 608

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."
This discussion has been archived. No new comments can be posted.

Public Standards: C# 2, Java 0

Comments Filter:
  • What's up Sun??!! (Score:5, Insightful)

    by ChaoticChaos ( 603248 ) <l3sr-v4cf@spame[ ]om ['x.c' in gap]> on Wednesday April 02, 2003 @01:56PM (#5645985)
    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.

    • 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

      • Re:What's up Sun??!! (Score:2, Informative)

        by elemur ( 7613 )
        Not true.. Kaffe has been around for a long time.. Blackdown has had their Java VM for a while too. Those are just two open source ones off the top of my head.

        Other VMs include IBM's.. very good quality and speed there. Its free, but not open source. Even Microsoft has their VM, though its not worth much anymore.

        How does Sun have the only JVM again?

        • Re:What's up Sun??!! (Score:5, Interesting)

          by Richard W.M. Jones ( 591125 ) <rich@@@annexia...org> on Wednesday April 02, 2003 @02:22PM (#5646248) Homepage

          You've obviously not tried to use Kaffe for any serious work.

          Blackdown is a port of Sun's JVM.

          You might have mentioned IBM's JVM, but that's just as proprietary as Sun's.

          Remember that the JVM includes libraries, and without a complete set of working, compatible, debugged libraries your Java development is basically fscked.

          Rich.

          • Re:What's up Sun??!! (Score:3, Informative)

            by elemur ( 7613 )
            True.. I agree in general with Kaffe, though I will say its better than it used to be.

            Blackdown is a port.. but managed in an open process and environment.

            IBM's is certainly proprietary.. but that wasn't the complaint. The issue was a non-SUN JVM.. and IBM gives that to you.

            Here is a google category

            http://directory.google.com/Top/Computers/Progr a mm ing/Languages/Java/Implementations/?il=1

            This lists many different JVM's available.. some open source.. some commercial. If you want a non-SUN JVM.. go t
          • by jedidiah ( 1196 )
            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.
      • by Jord ( 547813 ) on Wednesday April 02, 2003 @02:17PM (#5646197)
        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.

      • Re:What's up Sun??!! (Score:3, Informative)

        by Surak ( 18578 )
        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.

        Ummm...Blackdown [blackdown.org]?
      • by ChannelX ( 89676 ) on Wednesday April 02, 2003 @03:06PM (#5646700) Homepage
        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.
    • by elemur ( 7613 ) on Wednesday April 02, 2003 @02:08PM (#5646101)
      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.

      • 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 M
        • by elemur ( 7613 ) on Wednesday April 02, 2003 @02:22PM (#5646251)
          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?
      • by ink ( 4325 ) on Wednesday April 02, 2003 @02:54PM (#5646555) Homepage
        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.

        • by Billly Gates ( 198444 ) on Wednesday April 02, 2003 @03:53PM (#5647151) Journal
          Actually Microsoft did this not to run Unix apps but to get government contracts which require posix compliance. Microsoft made sure it was crippled in return so they would migrate to win32 after it became apparent that the posix layer was broken.

      • by Caoch93 ( 611965 ) on Wednesday April 02, 2003 @03:44PM (#5647062)
        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.

        Agreed. MS is hiding several parts of .NET, providing an open standard only for a handful of low level components. I have ECMA standard 335 (or is it 355), the standard for CLI and CLR, and it really doesn't cover much at all.

        It certainly doesn't cover WinForms, so good luck seeing portability for GUI applications written in VS.NET!

        Open standards are nice, but played the right way, are bullocks. In this case, Microsoft has decided to include all sorts of references and links to non-standard APIs and libraries, and they are under no obligation to release them. I have reason to suspect, too, that a third party who replicates the behavior of something like WinForms in their own .NET implementation (without MS permission) would find themselves on the business end of charges of reverse-engineering.

        Of course, this can make for a delicious "Tower of Babel" situation as other parties (Mono, etc) start creating their own APIs to fill in the gap between the ECMA standard and what's needed to get things done. The only difference is that the Mono libraries for their APIs will probably be available for a Windows port (if they're not 100% MSIL code already), whereas MS' APIs won't be.

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

      Makes you wonder why that Borg icon's there, duddn't it?
    • by robbyjo ( 315601 ) on Wednesday April 02, 2003 @02:16PM (#5646186) Homepage

      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.

      • 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 o

    • by be-fan ( 61476 ) on Wednesday April 02, 2003 @02:17PM (#5646200)
      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.
      • Re:What's up Sun??!! (Score:4, Interesting)

        by chrisseaton ( 573490 ) on Wednesday April 02, 2003 @02:27PM (#5646298) Homepage
        Your C++ program might not need the standard library, but your C# program will. Everything in C# is reflected and so on, so if you don't have the .NET framework with the Type object, for example, you can't have any types, which leaves you screwed. With no .NET framework you can't have objects, methods, or anything.
        • Re:What's up Sun??!! (Score:5, Informative)

          by miguel ( 7116 ) on Wednesday April 02, 2003 @05:05PM (#5647822) Homepage
          Those particular components that you mention (Type) are part of the ECMA and ISO standard efforts.

          So in fact the submission covers C#, a set of base class libraries and a potential execution environment (you can compile to native code if you choose instead)

          Miguel
    • Re:What's up Sun??!! (Score:5, Interesting)

      by Anonymous Coward on Wednesday April 02, 2003 @02:22PM (#5646252)
      Well the thing is, most of MS's "evil" is because they are big. Any small evil thing they do is blown up huge by the huge impact it has. And especially here by the just plain outright hatred that emasses here.

      In fact I find that Sun and Apple are frequently quite a bit MORE evil if you remove the entire market share from the equation and look at their actions more philosophically.

      Relentless pursuit of fans, maniacal leaders that spew verbal FUD at every oppourtunity, closing down the clone markets, faking JRE test software to make your 4x slower JRE seem as good as the competitions, selectively applying JRE compatibility rules to various friends/competitors and on and on.

      As far as Sun stumbling in the dark, that have done that for JAVA since day one. The early development tools were practically non-existant. And until recently, installing their JRE on Windows required the user to hand edit their environment to add a path to the JRE to it to make it work, even from the windows GUI. How much harder could they make it on themselves and their customers? I always thought that they blew it with their incredable poor dev. environment for JAVA. Compared to developing VB or VC++ on windows it was like using rocks and sticks. UNIX programmers were right at home with the sytem as it of course mimicked typical UNIX development (No suprise, they're SUN!)

      Though MS took advantage of JAVA in ways they probably shouldn't have, Windows developers people were starving for good JAVA tools on Windows and MS stepped up to the plate while Sun didn't. If Sun had provided a Visual Studio type dev environment from day one for all three platforms I believe a HUGE army of Windows developers would have jumped on it and Sun's JAVA would have taken off strong, instead it limped then and it still limps today.

      I am particularly perterbed by Sun's lack of support (or rather lack of EXTREME support) for Java as it is my daily duty at work to find usable cross platform tools for our software dev. needs and though we have actually used some JAVA with some success, it has been a lot more dissapointing as a dev. environment and as a platform than it should be.

    • by sheldon ( 2322 )
      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 ap
    • Re:What's up Sun??!! (Score:4, Informative)

      by Billly Gates ( 198444 ) on Wednesday April 02, 2003 @02:29PM (#5646311) Journal
      Have you heard the phrase by critics "Write once port everywhere"?

      Sun is afraid of vendor lock in creating incompatible libraries that would result in proving Microsoft and the critics right when stating that java isn't portable. Today java is dead on the client so this issue is not as important. If java took off on the internet for client apps and then each vendor had their own libraries the result would be catastrophic.

      The situation has improved recently and its mostly portable now but it has hurt sun. Sun is in an odd situation. They can release it and watch as vendors create proprietary extensions or keep it and hope more people use it.
    • www.jcp.org (Score:5, Informative)

      by SuperKendall ( 25149 ) on Wednesday April 02, 2003 @03:08PM (#5646723)
      The JCP (Java Community Process) is a totally public body, not controlled by sun. Anyone can join, even individuals - how is that not a public standard? Just because the standards it creates do not have an ISO number on them means nothing - the only thing I care about is that I could read a spec and build an implementation from scratch without worry of lawsuits, which you can do at JCP.org [jcp.org] (standard submissions there must be patent free).

      That's how Generics are going in Java - where is the place I can comment on generic support going into .Net?
    • Join the JCP. I did. Java is a public standard, which anyone can join. Even outside of the individual membership, the JCP also has companies like Apache Software Foundation, Apple, BEA Systems, Borland, Caldera Systems, Cisco Systems, Compaq, Ericsson, Fujitsu Limited, HP, IBM, Insignia Solutions, IONA Technologies, Macromedia, Matsushita Electric Industrial (Panasonic), Motorola, Nokia, Oracle, PalmSource, Inc., Philips, RIM, Siemens AG, Sony, Texas Instruments, and Zucotto Wireless....

      Taken from the F [jcp.org]

  • Nice to see Microsoft take C# to the ECMA/ISO. Surprised that Java is not yet. What I last heard, years ago, was that Sun was going to the ECMA then ISO, what happened?

    I'll now be putting my asbestos fire suit on to withstand the flames.
  • Java (Score:5, Funny)

    by athakur999 ( 44340 ) on Wednesday April 02, 2003 @01:59PM (#5646011) Journal
    Sun hasn't submitted Java to any standards groups because they they've haven't finalized their handling of the new evil bit yet.

    Oops, sorry, wrong day.

  • by japhar81 ( 640163 ) on Wednesday April 02, 2003 @02:01PM (#5646029)
    This is great news. At least the language will be standardized. Now if they'd just do the same for all the libraries, I'd be really happy.

    Imagine what we could do with an actual, standardized, GUI library system (and please dont bring up X*Shudder*, thats not a standard, its a beowulf cluster[fuck].
    • then they wouldn't be able to lock in the gullible who jumped in with both eyes closed when they heard about the ECMA and ISO standardization.

      They've no intention of submitting the libraries. Do you development and find out what it's worth without paying your tribute to Microsoft.

    • Imagine what we could do with an actual, standardized, GUI library system (...).

      You mean like Motif [opengroup.org] (defined in the IEEE 1295 specification) from the Open Group [opengroup.org].

    • by IamTheRealMike ( 537420 ) on Wednesday April 02, 2003 @02:31PM (#5646326)
      If you think System.Windows.Forms is in any way portable outside of Win32 then sorry but you haven't used them.

      SWF is so tightly tied to Windows that Mono is using Wine to implement it. For instance, it gives you access to the message queues and handles of the objects it represents. Also of course the Win32 widget set is rather primitive compared to for instance GTK or Qt - no containment based layout without extra layers?

  • hmmmm... (Score:4, Funny)

    by st0rmcold ( 614019 ) on Wednesday April 02, 2003 @02:01PM (#5646036) Homepage

    Grab a cup of c#???

    Not the same ring to it :)
  • Standards? (Score:2, Insightful)

    by DeadSea ( 69598 )
    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.

    • Re:Standards? (Score:5, Informative)

      by LanikMueller ( 649432 ) on Wednesday April 02, 2003 @02:07PM (#5646091)
      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.
    • What good are open standards if your implementation is the only one?

      True, plus now that ISO has accepted the base version of C#, I'm sure Microsoft will busily add some new keywords and other syntactic incompatibilities in order to lock people in to the MS implementation - all in the name of "innovation" and "customer convenience" of course... ;-)

  • only a subset of the .Net Framework that makes it possible to share data with applications on other operating systems. No software for defining a GUI, no database access. Pesky little things like that.
    • Not to mention people who use C# on Windows do it because of the .net runtime which makes all the languages integrate together. Also the built libraries are a big improvement from the awefull MFC and the win32 api.

      This is patented by Microsoft and also you do not get this benefit of this when using c# on other platforms because .net is not ported. There is no way to share objects like their is in the one Microsoft way.

      I think what this is, is marketware for PHBs who are concerned that c#.net might mean ex
  • by Billly Gates ( 198444 ) on Wednesday April 02, 2003 @02:02PM (#5646045) Journal
    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.

    • by Mendax Veritas ( 100454 ) on Wednesday April 02, 2003 @02:21PM (#5646243) Homepage
      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.
      That, however, is a distinction without a difference.
    • Regarding the patent of the ISO/ECMA documents, you might want to read what Jim Miller (one of the inventors listed in the patent said): here [unipi.it].

      I quote:


      Beppe,

      As one of the inventors on that patent as well as the person heading up
      the standardization efforts for the CLI, I'd like to explain why I've
      never felt the two are in conflict.

      The ECMA process requires that all patents held by member companies that
      are essential for implementing its standards are available under
      "reasonable and non-discriminatory

  • oh well (Score:5, Interesting)

    by AssFace ( 118098 ) <stenz77.gmail@com> on Wednesday April 02, 2003 @02:02PM (#5646046) Homepage Journal
    I guess I'll just stop coding in it.

    that's too bad really - I liked java.

    seriously - why should we care? does the code allow me to do what I want? yes.
    and done - I don't care about no stinking standards evaluation.
  • by Anonymous Coward on Wednesday April 02, 2003 @02:04PM (#5646063)
    How much development is still done in "regular" C and C++?

    Who actually owns copies of those standards? I know I don't - simply because they charge several hundred bucks a copy.

    As the artical says: The academic community benefits perhaps more from the published specifications to do computer science research than do companies.

    Academic research is fine, but when I'm looking for new programmers I would much rather have real-world experience. How many academic programs you wrote as an undergrad (or even a grad student) had to run for hours or even weeks and maybe with direct user interaction and not crash? Standards don't help you learn how to code that.

    • How many academic programs you wrote as an undergrad (or even a grad student) had to run for hours or even weeks and maybe with direct user interaction and not crash?

      As a grad student, I would say, pretty much daily. Some of the numerical integrations or monte carlo simulations that I have written have run for a week or more.

  • by AlgUSF ( 238240 ) on Wednesday April 02, 2003 @02:06PM (#5646077) Homepage
    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
    • Unfortunatly both MIT and Cornell are Microsoft shop Universities now. They explicitly use c#. Microsoft is paying many universities today to use their products so when students graduate they will pick Microsoft based solutions.

      Today we have so called brilliant Computer science graduates who know b-tree algorithms and recursive mathmatics but do not how to login to a unix terminal.

    • by stratjakt ( 596332 ) on Wednesday April 02, 2003 @02:13PM (#5646151) Journal
      Spoken like a MS hater who isn't familiar with the products.

      The .NET framework has been available for Win 2k and XP for some time, and VS.net has been advertised right here on slashdot forever. .NET server was renamed Windows 2003 because it was confusing people like you.

      A language is not an operating system. Saying .NET only works on Win 2003 is like saying Java only works on Solaris.

    • Huh?

      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.

      - Steve

      • 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? ;-)

    • by Arthur Dent ( 76567 ) on Wednesday April 02, 2003 @03:10PM (#5646739)
      At my university:
      Classes tought with C#: 0
      Classes tought with Java: 6

      Class taught in Spelling: Priceless.
      For all else, there's m-w [m-w.com]

  • Standards?? (Score:2, Funny)

    by stevenp ( 610846 )
    The good thing about standards is that there are so many to choose from.

    To be read: "I don't care if C# is standard if it is a crappy language"
  • While Java coders wait for SUN to be willing to accept any public standards

    I am not waiting for Java or Python to be accepted as a "public standard". I am confident in the trustees of these languages/platforms.

    Larry

  • So what... (Score:3, Insightful)

    by jkauzlar ( 596349 ) on Wednesday April 02, 2003 @02:11PM (#5646124) Homepage
    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.

  • by batkid ( 448363 ) on Wednesday April 02, 2003 @02:11PM (#5646127)
    It seems like Microsoft is trying to change their image from industry bully to industry team player. I have just been to an academic presentation of .NET and I must admit that MS studio .NET is very easy to learn and use, as well as being standards based.

    The problem that I see with Microsoft is their attitude of Windows being the only operating system. The entire .NET platform is built around Windows and the "Write in any language, run on windows" idea is not very attractive at least to me.

    You may argue that MS has already ported .NET to other OS (the rotor project). However, rotor is not meant to be used in production, which makes it rather useless in real life.

    If you look at the Java camp, however, things aren't that great either. The tools are generally not as well integrated and Sun is trying too hard to control Java.

    So, in conclusion, I'm not sure which is better. For now, I am staying with Java for my courses. But the battle is far from over :)

    • .net is not standard compliant. Only a fraction of c# is. Its a sneaky move by Microsoft to show that they are the good guys opening up a whole platform but really they are not. .NET is a huge improvment technically over mfc and the win32api but I will never use it. I like my freedom and refuse to pay Microsoft to run or write my own software. Microsoft is seriously looking into renting and with paladium mixed with .net the match has been made. Before you know it your own computer wont run anything unless i
  • by roca ( 43122 ) on Wednesday April 02, 2003 @02:12PM (#5646143) Homepage
    Just getting the ISO stamp on the documentation is of limited value. There are three real issues:

    Will Microsoft adhere strictly to the specification? In particular, if there is a bug in their code that causes them to violate the spec, will they fix the bug for spec conformance, or will they keep the bug for "compatibility"? If the latter, then the real spec is their source code and the ISO spec is irrelevant.

    Who has control over language development? It's pretty clearly Microsoft. If the ISO only gets to rubber-stamp Microsoft's decisions after the fact, then that's a lot less useful than Sun's Java Community Process.

    Will they be increasing the scope of what is specified so that most applications can run on a standardized platform? If everyone's using Windows.Forms and ASP.NET then standardizing the rest of the platform but not those components doesn't help anyone.

    With Microsoft and standards it pays to be suspicious. It's typical for them to trumpet standards loudly when they're behind in the marketplace and then suddenly forget about standards once they've achieved dominance. Of course it's not hard to see why they do this.
  • by Dr. Bent ( 533421 ) <ben AT int DOT com> on Wednesday April 02, 2003 @02:14PM (#5646157) Homepage
    3rd party certification does not offer any protection against abuse by Microsoft (or any other company, i.e. SUN)

    Q: What is Microsoft trying to do with .NET?
    A: Take Java's market share on the server side.

    Microsoft already owns the client side market...the goal of .NET is to try to crack into the server side market by offering a "cross-platform" solution. But how would a cross-platform solution benefit Microsoft? It wouldn't. Microsoft is just trying to gain credability and give the appearence of openness, and hide the fact that the real battle here is about implementations, not specifications.

    Here's their plan:
    1) Get CLI certified by the ECMA, the ISO, and anyone else who can stamp a label on it.
    2) Tell everyone that since it's a public standard, anyone can implement it.
    3) Implement the spec for the Windows platform, and add lots of platform specific functionality that was not included in the spec. Note that platform specific features are explicitly allowed in .NET, and actively discouraged in Java (for good reason!)
    4) Pay developers to write back-end applications using the Windows specific "enhancements", thereby preventing those applications from being able to run on any platform but Windows.
    5) Sell lots of copies of Windows 2003/.NET Server because that's the only "real" platform to run .NET apps

    By patenting their platform specific extensions, Microsoft can prevent anyone from implementing them on other platforms, all the while claiming that .NET apps are portable because of projects like Mono.

    Result: Microsoft owns the server side like they do the client-side.

    • by Jordy ( 440 ) <jordan@NOSPam.snocap.com> on Wednesday April 02, 2003 @06:11PM (#5648494) Homepage
      Here's their plan:
      1) Get CLI certified by the ECMA, the ISO, and anyone else who can stamp a label on it.


      While ECMA is a dinky little standards group that apparently only "standardized" JavaScript until recently, ISO is not.

      ISO doesn't "stamp" labels on things. ISO is a standards by technical committee organization that goes through a rigorous standardization process.

      First you go through your proposal phase where you hand your work to ANSI (the technical committee for Information Technology). They vote to see if they even want to accept the project. If they do, they assign a number of their permanent members to work on it and a project leader is appointed.

      Next, an expert working group headed by the project leader sits and works out a draft for the standard. They hash around for ages and ages and finally hand their draft to the working group's parent committee.

      The draft is then circulated to all permanent members assigned to work on the project for comments, voting, etc. 1000 drafts later, the draft is finally set for submission.

      Now here is where the fun part comes. The submitted draft is circulated to all ISO member bodies. Each one gets to comment and vote it for a period of about 5 months. If they vote it down, it is returned to the working group for revision.

      Finally once the draft has passed the enquiry stage, it is once again submitted to all ISO member bodies for a final yes/no vote. If it passes this stage, it goes to publication and becomes a standard.

      So as you can see. Microsoft loses a whole lot of control once it enters ISO. Its fate is controlled by people in many countries that may or may not have any affinity for Microsoft. It took *years* for C++ to become an ISO standard (over 6 I believe), so don't expect this to fly through ISO without anyone paying attention.

      By patenting their platform specific extensions, Microsoft can prevent anyone from implementing them on other platforms, all the while claiming that .NET apps are portable because of projects like Mono.


      ISO has RAND licensing. Anything submitted to ISO and anything developed while in ISO is subject to it. Besides, Microsoft has rarely used patents as anything but a defensive measure.

      Jordan
  • oh yeah... (Score:4, Insightful)

    by lfourrier ( 209630 ) on Wednesday April 02, 2003 @02:16PM (#5646188)
    and javascript was standardized as ECMA script. Great. Nice langage. But the DOM was not. So, completely useless in term of web standardization.
    With C#, it is the same. the langage is standardized.
    The necessary surrounding is not.
    So MS can say they respect standard on one part, and provide extensions to make those standard useful. Very good and convincing discourse for the suits. But the detail is that the surrounding is not standardized (by somebody else than MS).
    So you cannot use it freely in mono or something else with the same results than in windows. and the devil is the details...

    Another note: C# is a langage, java is a platform.
    They are not in the same league.
    If you want standard java, ask for standard .net, not standard c#.

  • ISO certification on a microsoft language isn't worth anything more than the marketing-speak that will eventually come of it.

    if any of you have programmed C++ with Visual Studio and any other compiler, you know how broken MS's ISO/ANSI implementations actually are. do you think this is by accident? because they can't figure the standards out?

    no, they're broken because the less people can port code from one system to another, the less control they have. MS will get the standards, and NOT FOLLOW THEM in
  • Are they going to standardize pattented parts as well ?

    Openness is a lot more important than standardization, and in this respect Sun is doing much better with Java.

  • Java standard (Score:3, Interesting)

    by stevenp ( 610846 ) on Wednesday April 02, 2003 @02:20PM (#5646237)
    AFAIK the Java platform(language, JVM and standard libraries) were submitted for ECMA standardization not long ago. Some time later, however, SUN took an suprising action and notified it is stopping the process, because some of the big boys were trying to destroy the standard by pushing it in the wrong direction. The Microsoft name was mentioned several times, together with their J++ Java implementation. So, SUN withdraw Java from the standartization process in order to save it.
    The real problem was that Microsoft had too big infkuence on ECMA and therefore it could easily turn the standardization direction in the pro-MS way. I believe that Microsoft has big influence over ISO also.
    Maybe it was better that Java was not standardized, but instead the Java Community Process was created which was the better way to develop Java for the future.
  • Yes..... (Score:3, Insightful)

    by IamTheRealMike ( 537420 ) on Wednesday April 02, 2003 @02:21PM (#5646240)
    .... and ECMA is a credible standards body because?

    Firstly, they allow RAND licensing. Now, Microsoft have said for free implementations the RAND terms are basically zero, but I don't think that's binding.

    Secondly, IMO the word "standard" is so overused these days that it's useless. I even once saw a website advertising a "proprietary standard", whatever that is. How can something that is:

    a) Constantly being extended by one company, with apparently little or no consulation with other vendors and

    b) Has only one complete implementation

    even qualify for being standardised in the first place?

    Don't get me wrong, this isn't an anti-redmond post, it's more bemoaning the weakening of the term "standard", when what they really mean is "publicly available specification".

  • This program in in C#, it's the saddest of all keys
  • Very hopeful news... (Score:3, Interesting)

    by WebCowboy ( 196209 ) on Wednesday April 02, 2003 @02:32PM (#5646337)
    ...as long as the standards are treated properly. (rare) Kudos to MS and shame on Sun for dragging their feet with Java. There are some questions in my mind now though:

    1. How do ISO and ECMA treat the issue of patents and licensing (something like what W3C is dealing with)? Being a standard, it should be open and ISO and ECMA should ensure Microsoft does not enforce heavy-handed, expensive licensing terms on their patents.

    2. I'm thinking anything that is pure .NET should run on any CLR implementation regardless of platform--but does making it a standard prevent MS from "extending" its own implementation and still declaring it standard? Can MS impose licensing terms on its own pure CLR/.NET code stating it must only run on MS platforms without running afoul of ECMA and ISO (even if technically it will run on mono for example)? It would sure be nice to one day be able to compile a little VB.NET program and throw the bytecode onto a Mac or Linux or BSD machine and not only have it work, but not worry about violating some EULA...

    3. With these standards, can I be any less worried about using .NET to develop GPL software (regardless of platform) without stepping on MS' toes? It seems in the past they have tried (or at least considered) legal means to restrict developers from using their tools to develop software under those "nasty viral open source licenses" like GPL...
  • by Anonymous Coward on Wednesday April 02, 2003 @02:32PM (#5646339)
    100% Pure Java is Racialy Supreme! Join the Java Jihad Today!

    Sun has created the 100% Pure Java Race! Write once, run anywhere, because there's nowhere to hide!

    All inferior languages must be wiped out, and history rewritten! Integration is capitulation! Segregate and exterminate the inferior languages!

    Never pollute Java by mixing it with those inferior mongrel languages. Java is Not meant to Interbreed with inferior languages! You MUST rewrite ALL your code in 100% Pure Java! Native Code is Uncivilized! All Primitives must be Converted!

    Java is God's Chosen Language! No other programming language is truly Turing Complete. Lisp is a Homosexual Programming Language! C++ has Negro Ancestors! C# is the Antichrist! Perl is Crypto-Zionist! Python has Simple Sin Tax and Semetics!

    Join the Java Jihad! Anyone who commits suicide by using Java against Microsoft is assured a place in Heaven! The surviving families of all Anti-Microsoft Martyrs will be Richly rewarded with Free Solaris Licenses.

    Java's true purpose is to be the ultimate Weapon of Mass Destruction in the war against the Great Satan: Bill Gates. Once he is vanquished, Sun will install a puppet government in Redmond, and the oil companies will move in and take over the humanitarian relief effort. Once we Wipe Out Microsoft, nothing will stand in our way of Reinflating the Dot Com Bubble!!!

  • by pohl ( 872 ) on Wednesday April 02, 2003 @02:49PM (#5646476) Homepage
    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.
  • Amusing (Score:3, Insightful)

    by The Bungi ( 221687 ) <thebungi@gmail.com> on Wednesday April 02, 2003 @02:53PM (#5646527) Homepage
    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.

  • by SuperKendall ( 25149 ) on Wednesday April 02, 2003 @03:02PM (#5646644)
    Hey, have a look over at JCP.org [jcp.org].

    There's 922 JSR's there, all public standards underway that anyone (that includes YOU and ME) can comment on. Where can I go to comment on the C# standards underway?

    So, which is the more open standard?

    What a maroon. (Yes, I did spell that right).
  • That's only 1 score (Score:3, Interesting)

    by MORTAR_COMBAT! ( 589963 ) on Wednesday April 02, 2003 @03:27PM (#5646878)
    Public Standards: C# 2, Java 0

    Supported platforms: C# 1 (Windows), Java 3 (Windows, Linux, Solaris) (and that's just from Sun).

    Vendors: C# 1 (Microsoft), Java 5 (Sun, IBM, BEA, Oracle, Allaire) (in fairness there are many more Java vendors... those are the 'big ones').

    So the score is already 8 to 4, and what you'd find is a lot more '1s' in the C# column which read 'Microsoft', 'Microsoft', 'Windows', 'Windows', etc.

    And going back to 'public standards': when Microsoft Office publishes a set of DTDs [sun.com] which comprise a very public 'standard'... I'll be shocked. Their 'XML-based openness' in Office 11 is far from that goal.
  • by ikekrull ( 59661 ) on Wednesday April 02, 2003 @03:33PM (#5646938) Homepage
    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.
  • MS Motivation (Score:3, Insightful)

    by mugnyte ( 203225 ) on Wednesday April 02, 2003 @03:46PM (#5647080) Journal

    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
  • by eyefish ( 324893 ) on Wednesday April 02, 2003 @03:56PM (#5647184)
    I think before people reach some conlussions, they should be aware that Microsoft does not have the lightest intention of making their .Net environment a standard or open source for that matter.

    Summiting C# to standard bodies means nothing in the world of .Net, for the very simple reason that in order to write even the most basic usefull C# application you need *libraries*, a virtual machine, and many other propriatary Microsoft hooks. Summiting C# to standard bodies is just a public relations move from Microsoft, so that they can brag later that C# is open-standards based and Java is not, then management makes a decision to go full steam with .Net and a year later realize that they are stuck with all the Microsoft propriatary stuff you need to run C#.

    The analogy to Java would be Sun making the Java Language an open standard, but then keeping the Java API (i.e.: the libraries), and the JVM proprietary.

    I do agree with many though that Java should be not just a standard, but even open source. However when it comes to Virtual Machines it is *extremelly* important to have some central authority to authorize changes, since one of the premises of a VM is that you can run code anywhere, and if you let a million programmers create their own VMs, all of a sudden code stops running everywhere, defeating the advantages of a VM. This is why I don't mind SUN controlling a bit the final say on Java development, and experience tells me that the Java Community Process is a very reasonable alternative to open standards and open source. In the end, Java is a deFacto standard anyways when it comes to enterprise business applications, so Sun might as well try hard to submit it to ISO at least. But remember, all Sun is trying to do is avoiding a fragmentation of the Java market, which I think it's A Good Thing.
  • The JCP and Java (Score:3, Interesting)

    by ievans ( 133543 ) on Wednesday April 02, 2003 @05:38PM (#5648189)
    I work for Sun, and while I won't pretend to speak for them, I work most of the time on the various J2EE JSRs, so I sort of understand how the whole process works, and therefore understand the rationale for why Java isn't an ECMA or ISO standard.

    The Java Community Process (http://www.jcp.org) is an independent organization that sets the standards for Java. Anyone can join the JCP, although most members are companies. The Java language, the different distributions of Java (J2SE, J2EE, J2ME), and technologies that are built on Java use Java Specification Requests (JSRs). Various members (the expert group) collaborate on the JSR to define the technology, and work on a reference implementation. For example, Tomcat is the reference implementation of the JSP and Java servlet APIs. This is one major difference between ECMA/ISO and the JCP: the requirement of a reference implementation.

    I think the idea behind the JCP was to be able to modify the language and the APIs more quickly than other standards bodies, and ensure that there are useful implementations of the standards that go hand in hand with the standard.

    In the case of Apache, there have been some modifications to the JCP to allow open-source implementations of JSRs, and to make the compatibility tests available for non-profits. JBoss and Sun have locked horns because, in Sun's view, JBoss is not a non-profit, and are using the J2EE JSRs to make money without licensing the J2EE brand, as BEA, IBM, Oracle, Borland, and others have done. Because Apache is in fact a non-profit organization, Sun's been much more willing to work with them.

    Sun produces most of the JSRs, but not overwhelmingly so (around 60% if I remember correctly). Your average open-source hacker will find it harder to contribute to a JSR compared to, say, Gnome or KDE. Unlike .NET, though, it is possible to get involed in the development of Java and J2EE, either directly as an individual member of the JCP, or indirectly by providing comments during the public reviews of JSRs.

    There are many people at Sun that would like the public more involved in developing Java, and others who would not.

    Keep in mind that this is my impression of Sun's rationale, and I do not speak for Sun on any level.
  • IBM Takeover (Score:3, Interesting)

    by RichiP ( 18379 ) on Wednesday April 02, 2003 @08:29PM (#5649364) Homepage
    I, for one, wish that IBM would take over the reigns of Java. I love Java and have been using it for years (alongside C, Perl, PHP, etc.), but I can't seem to like a single thing about Sun. They may have top quality hardware, but, even then, I still don't want them and their hardware.

    IBM, OTOH, has done well by the community and I would vote for them if a new steward for Java was ever sought.

To communicate is the beginning of understanding. -- AT&T

Working...