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

84 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 elemur · · Score: 2, Informative

      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?

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

    5. 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...
    6. Re:What's up Sun??!! by Surak · · Score: 2, Informative

      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?

    7. Re:What's up Sun??!! by Richard+W.M.+Jones · · Score: 4, Interesting

      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.

    8. Re:What's up Sun??!! by Anonymous Coward · · Score: 5, Interesting

      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.

    9. Re:What's up Sun??!! by mrcparker · · Score: 2, Informative

      blackdown is proprietary.

    10. Re:What's up Sun??!! by chrisseaton · · Score: 3, Interesting

      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.

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

    12. Re:What's up Sun??!! by elemur · · Score: 3, Informative

      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/Progra 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 to town.

    13. Re:What's up Sun??!! by Billly+Gates · · Score: 3, Informative

      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.

    14. Re:What's up Sun??!! by MSG · · Score: 4, Informative

      Blackdown isn't a free implementation, it's a port of Sun's JVM to Linux. It bears the same license.

    15. 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
    16. 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.
    17. 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/
    18. Re:What's up Sun??!! by miguel · · Score: 4, Informative

      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

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

    20. Re:What's up Sun??!! by LilGuy · · Score: 3, Funny

      Code quality changes from planet to planet? It's a godsend that NASA ever anything past the moon!

      --

      You're nothing; like me.
  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 LanikMueller · · Score: 5, Informative

      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.

    2. Re:Standards? by overbored · · Score: 2, Informative

      Actually, Microsoft did release another .NET runtime called Rotor. It's shared-source and cross-platform. They made the implementation run on FreeBSD.

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

    1. Re:Nice to say patented standards by Mendax+Veritas · · Score: 5, Funny
      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.
    2. Re:Nice to say patented standards by miguel · · Score: 2, Interesting
      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.

      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 (RAND) terms" for the purpose of
      implementing those Standards. This is the normal condition used in all
      International Standards organizations, including both ECMA and ISO.

      But Microsoft (and our co-sponsors, Intel and Hewlett-Packard) went
      further and have agreed that our patents essential to implementing C#
      and CLI will be available on a "royalty-free and otherwise RAND" basis
      for this purpose.

      Furthermore, our release of the Rotor source code base with a specific
      license on its use gives wide use to our patents for a particular
      (non-commercial) purpose, and as we explicitly state we are open to
      additional licenses for other purposes.

      --Jim

  4. oh well by AssFace · · Score: 5, Interesting

    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.

    --

    There are some odd things afoot now, in the Villa Straylight.
    1. 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!!!!
  5. ISO standards - so what? by Anonymous Coward · · Score: 3, Interesting
    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.

    1. Re:ISO standards - so what? by s20451 · · Score: 2, Funny

      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.

      --
      Toronto-area transit rider? Rate your ride.
  6. Re:If we're keeping score by ergo98 · · Score: 5, Interesting

    Most Microsoft shops have or will switch to .NET (it's a natural progression), and of course Microsoft shops comprise the majority of "shops" out there. Indeed the most telling evidence of .NETs stunning market presence can be seen at your local bookshop: Already there are probably 2x the number of .NET books than there are Java books (seriously, go take a look).

  7. 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 stratjakt · · Score: 5, Informative

      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.

      --
      I don't need no instructions to know how to rock!!!!
    2. 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
    3. 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
    4. Re:Platforms C# works on by Arthur+Dent · · Score: 5, Funny
      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

    5. Re:Platforms C# works on by g_bit · · Score: 2, Informative
      Actually C# can compile and run on Windows, Linux and BSD, so I don't know where you get 0 from. (see Mono and dotGNU)

      Furthermore, Java has been around for a while longer than C# so more support would be natural. That will change soon though as C# is widely regarded as a much better language.

    6. Re:Platforms C# works on by nicodaemos · · Score: 2

      You're implying that Sun paid universities to adopt Java? Care to back that up with some references?

    7. Re:Platforms C# works on by miguel · · Score: 3, Informative

      Microsoft's shared source implementation works on FreeBSD and MacOS X. It has been ported by third parties to Linux.

      On the positive side, there is this kick-ass project called Mono that implements it, and runs on a variety of other systems as well.

  8. Standards?? by stevenp · · Score: 2, Funny

    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"

  9. 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 Caoch93 · · Score: 4, Informative
      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.

    4. Re:This is somewhat of a smoke screen.. by Patoski · · Score: 2, Interesting

      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.

      From what I understand the default file format is still in binary form. I also seem to recall seeing that the XML export strips out all the formatting which makes the whole thing pretty useless. Finally, as others have rightly pointed out just having the XML to a file doesn't help a lot unless one also has the DTD. One can obfuscate text just as easily as one can a text file.

      [fasdfdas]]Dear Sirs,[/fasdfdas]

      The above tagging isn't very open and doesn't help *much* when trying to figure out how a file format works. :) Again, all this is second hand knowledge which I haven't seen for myself. YMMV

      --
      G. Washington on Government "it is force. Like fire, it is a dangerous servant and a fearful master."
    5. Re:This is somewhat of a smoke screen.. by AtATaddict · · Score: 2, Informative

      They're targetting education. From what I've seen, Math and CS departments are really keen on languages being standardized before they'll add it to the curriculum.

      At least at my school, we were late in getting on the Java bandwagon, and still have only grudgingly accepted it as a "slightly cleaner C++", which I strongly object to(since Javva is most definitely not C++).

      If C# has the standards going for it, plus the blessing of Microsoft, and looks more like C++ than Java, it'll supplant Java quickly in academic settings, which buys Microsoft greater control over the cycle*.

      * Schools teach what's in demand, and businesses look to colleges to see what knowledgeable people are using.

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

  11. Microsoft turning around by batkid · · Score: 3, Interesting

    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 :)

  12. Re:If we're keeping score by ChaoticChaos · · Score: 3, Interesting

    Could the fact that there are twice as many books for C# indicate that it's twice as hard to use? ;-)

  13. Re:If we're keeping score by PseudoThink · · Score: 3, Interesting

    Many of my college classes were taught using Java as the programming language, so I had a few years of experience with it in school. I've been using .NET since it was released, and it's been so much easier programming in VB.NET and C# than it ever was in Java, it's not even funny. Despite their problems, the Visual Studio .NET IDE and MSDN Library have no equivalent. They are totally awesome.

  14. Re:If we're keeping score by papadiablo · · Score: 2, Interesting

    Well add one more to .NET because I've been using it for the past 4 months instead of C/C++ or Java.

    Anytime a new technology is introduced there are always going to be more people using the old technology. That doesn't make the old technology better, nor does being new make the new technology better. Your point isn't valid considering how new .NET is and how long Java has been around. If it were then everyone would still be buying VHS tapes instead of DVDs just because it was the "standard" when DVDs were introduced.

  15. There are huge patent issues that have been by burgburgburg · · Score: 2, Informative

    glossed over and ignored to this point in both projects. Just because Microsoft has cut both off at the legs yet doesn't mean that they can't and won't.

  16. 100% Pure Java Supremacy: Join the Java Jidah! by Anonymous Coward · · Score: 3, Funny
    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!!!

  17. keep java free of certification by Nightshade · · Score: 2, Interesting

    Cerification will only slow things down for Microsoft. By not submitting Java to be certified, Sun maintains control over the language and is able to respond more quickly to development needs (and more rationally instead of making comporomises to suit all people's needs). Just look at how much progress has been made in Java since version 1.0! Will C# be able to evolve as quickly? Well, just look at what ISO certification and too many comporomises did to C++!

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

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

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

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

  23. 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.
    1. Re:Just like POSIX compatibility for Windows NT by Billly+Gates · · Score: 4, Interesting

      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.

    2. Re:Just like POSIX compatibility for Windows NT by 6 · · Score: 2, Informative

      Interix and the native NT4 posix layer are completely different things.

      Interix is indeed fully posix compliant and you are actually more likely to get a posix program to compile under it than under cygwin. For more information including a free 120 day trial version go to...

      http://www.microsoft.com/windows/sfu/

      obDisclaimer:

      Why yes I do work for Microsoft, and yes I even work in that part of Microsoft.

  24. Try Java 922, C# 2.... by SuperKendall · · Score: 5, Informative

    Hey, have a look over at 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).

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  25. Forgot to mention those are patent free... by SuperKendall · · Score: 4, Interesting

    Also, anyone submitting a standard to the JCP relinquishes patents on any parts of the standard.

    Not that Microsoft would do anything funny with Patents and .Net!! No Sir!!

    Wasn't April 1st yesterday?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  26. And this means...? by EricTheGreen · · Score: 2, Interesting

    Would someone care to post a lucid, fact-supported description of why this matters for any practical purpose?

    The lack of a public standard has seemingly not deterred IBM, et al, from JDK development.

    The presence of a public standard has done nothing to change the perception of .Net being tied to Windows, Mono not withstanding.

    In neither case has the presence/lack of a public certified specification meant diddly to the functionality and utility of either platform.

    This sounds more like fanboy posturing than anything meaningful.

  27. That's only 1 score by MORTAR_COMBAT! · · Score: 2, Interesting

    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 which comprise a very public 'standard'... I'll be shocked. Their 'XML-based openness' in Office 11 is far from that goal.

    --
    MORTAR COMBAT!
  28. 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
  29. 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

  30. A clarification: C# as *NOT* trully a standard by eyefish · · Score: 2, Interesting

    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.

  31. ISO is for corporations not the public! by Mammy-Nun · · Score: 2, Interesting
    ISO serves corporations, not the public. Check it out:

    http://www.iso.org/iso/en/faqs/faq-general.html#1. 10

    1.10 Can anyone join ISO?

    Not as individuals or as enterprises - although both have a range of opportunities for taking part in ISO's work, or in contributing to the development of standards through the ISO member in their country. Membership of ISO is open to national standards institutes or similar organizations most representative of standardization in their country (one member in each country). Full members each have one vote, whatever the size or strength of the economy of the country concerned. This means that they can all make their voices heard in the development of standards which are important to their country's industry. ISO also has two categories of membership for countries with fewer resources. Although such members do not have a vote, they can remain up to date on standardization developments. Lists of the three categories of ISO members are available on ISO Online.

    Do you really thing MS would risk having the standard at the whim of the non-strategically-aligned?

  32. Fluff, pure fluff by jkabbe · · Score: 2, Interesting

    Why does certification of a particular version matter? Sure, Microsoft can get C# certified by some standards body. Who cares? What really is important is who controls the version after that. AFAIK Microsoft has not created a community body involving other companies to set the direction for C# as Sun has with Java.

    And as we all know, C# is only a fraction of what is necessary to run .NET. Can anyone tell me if Microsoft has submitted their entire shared library to standards bodies or is it just the C# language and underlying virtual machine? If Microsoft is still keeping the libraries proprietary then it will be even more of a red herring.

  33. 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!"
  34. Linux and POSIX by yerricde · · Score: 2, Informative

    Meanwhile, Linux isn't "officially" UNIX or even POSIX-certified

    The Unifix Linux distribution is certified as POSIX.1 conforming.

    --
    Will I retire or break 10K?
  35. The JCP and Java by ievans · · Score: 3, Interesting

    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.

  36. Re:2 Standards and still a mound of manure by reanjr · · Score: 2, Interesting

    Actually, given the way the .NET framework works, I would think it would be rather difficult to write low level virus.

    I've had extraordinarily good success with .NET scaling to whatever level I've needed it to (excluding a horrible MySQL implementation I got from some third party).

    The phrase "isn't even supported by Microsoft in its own products" perplexes me since it is not something that needs to be supported. Maybe you should clarify exactly what you mean by this.

    The C# and VB compilers are free (as in beer). So I don't see the developer expense.

    Oh well, I guess if you have some preconception of what programming "really is" (and it somehow includes Java for some reason) then that's your prerogitive.

  37. 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?
  38. 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.

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

    Comment removed based on user account deletion

  40. Re:Cut down C++? by be-fan · · Score: 2, Informative

    Hm, garbage collection is a non-feature. You can do it in C++ (and it works just fine as long as you avoid C-style code), but it doesn't fit with the "C++ way of doing things." The preferred way of doing things in C++ is to use smart pointers that do reference counting. It's not any better or worse, just different.

    Java and C# interfaces are basically just restricted multiple-inheritence implementations. You can argue all you want about whether MI is good, but can you do something with interfaces that you can't with abstract base classes?

    Events can be implemented very cleanly without language support, as in libsigc++. The recent comparison of libsigc++ to C# delegates (search OSNews) showed that even though libsigc++ is an out-of-language feature, it is comparable in power and ease of use to delegates.

    The only real thing C++ is missing is introspection and reflection. Not important for most code, but for some stuff (transparent serialization) it's crucial. Hopefully, this will be one of the things addressed in the C++ 0x standard.

    --
    A deep unwavering belief is a sure sign you're missing something...
  41. Absolutely! by GCP · · Score: 2, Interesting

    On the positive side, there is this kick-ass project called Mono that implements it, and runs on a variety of other systems as well.

    Absolutely! And I think that way too many people dismiss the advantages of C#, the language, because of its prominent position in a Microsoft initiative.

    I'm a big fan of Java, but after having used it for a lot of projects, I find that I'm VERY pleased by the extras offered by C#, the language, and the basic CLI extras that are covered by the upcoming ISO standard.

    I do NOT require a perfect clone of .Net. Go for it, Miguel! Get as close as you can, but if MS blocks you then let's have a Mono Community Process and come up with alternatives that are even better. For a while, being able to run the exact same app on both Windows and Linux might be useful, but my first priority is a great dev platform for Linux, not a way to run Windows apps. Over time, that first priority will get even stronger, and I'll get more interested in other languages such as a MonoScheme and less interested in Windows compatibility.

    Go Mono!

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  42. IBM Takeover by RichiP · · Score: 2, Interesting

    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.

  43. Y'all need to recognize by Zebra_X · · Score: 2, Interesting

    That .NET is a platform to make you, the developer more productive.

    I've not done a lot of desktop application development - so I can't really speak for the desktop crowd. I'd venture to say that it's not quite where it should be.

    The web however, is something different. ASP.NET is fast - easy - and extremely flexible and provided your server doesn't crash :-) extremely stable. Many of the most important aspects of basic application development are already done for you such as authentication and authorization, a decent crypto api and others. It comes with a standard set of "controls" for web forms that are flexible and reliable. Visual Studio supports the .NET Framework quite nicely and makes developing under ASP.NET quite pleasant (except for the html reformatting, quite annoying). All in all it's a good package. MS has done a great job documenting and exposing how .NET works, not from a code level BECAUSE WE DON'T NEED TO KNOW ABOUT IT but from an API/Method level. Generally speaking there is documentation on most of the common "problems" when learning .NET.
    The most compelling aspect of .NET is the fact that we can RELY on MS to maintain control of the .NET framework and classes. Unlike our friend Sun and Java which has become a mess of separate packages and little documented dependencies that are unreliable, prone to null pointer exceptions, and hidden caveats in packages that are necessary to do basic development work (XSL Parsers come to mind) .NET is a welcome relief to the uncontrolled mess that Sun now proudly hails as Java. .NET has unquestionably borrowed from every language design pattern that has appeared on the face of the earth since the chinese invented the abacus. But I don't care, becuase I can get my work done, and when I wake up in the morning I'm not real worried that my applications have chewed their tails off while I slept peacefully.