Forgot your password?
typodupeerror
Microsoft Programming IT Technology

Public Standards: C# 2, Java 0 608

Posted by timothy
from the fast-track-authority dept.
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:
  • Re:Standards? (Score:5, Informative)

    by LanikMueller (649432) on Wednesday April 02, 2003 @03: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.
  • by stratjakt (596332) on Wednesday April 02, 2003 @03: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.

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

    by Anonymous Coward on Wednesday April 02, 2003 @03:15PM (#5646173)
    Don't forget Rotor - the shared source CLI - Rotor's license is for non-commercial use only, but its license doesn't taint your skills, so you can learn off of Rotor and make your own GNU/GPL implementation.

    That isn't so bad now is it.
  • Re:What's up Sun??!! (Score:2, Informative)

    by elemur (7613) on Wednesday April 02, 2003 @03:15PM (#5646181)
    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:Ok (Score:4, Informative)

    by joe_bruin (266648) on Wednesday April 02, 2003 @03:19PM (#5646223) Homepage Journal
    alright, i'll bite:

    the ecma has basically been owned my microsoft since ms gave them a bundle of grants in the mid 90's. in exchange for this, ecma had to rubberstamp a 'standard' on microsoft's javascript (jscript). it is now a standard ("ecma script"), whereas the competing netscape version could not claim standards compliance (at the time, at least). ecma approval for ms is alot like your mom telling you that you're good looking.
    as for iso certification, while sun was trying to stop the language from getting fragmented (and destroyed, especially by microsoft), ms are the masters of embrace and extend, so they're not really too worried about it. besides, ms expects that theirs will be the leading implementation on the windows platform, whereas sun was trying to make the os unimportant. sun's approach definitely could have been done smarter, but let's not be confused, this standard means nothing.
  • Re:What's up Sun??!! (Score:3, Informative)

    by Surak (18578) <surak@ma i l b l ocks.com> on Wednesday April 02, 2003 @03:19PM (#5646227) Homepage Journal
    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 burgburgburg (574866) <splisken06 @ e m ail.com> on Wednesday April 02, 2003 @03:25PM (#5646283)
    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.
  • Re:What's up Sun??!! (Score:2, Informative)

    by mrcparker (469158) on Wednesday April 02, 2003 @03:26PM (#5646290)
    blackdown is proprietary.
  • Re:What's up Sun??!! (Score:3, Informative)

    by elemur (7613) on Wednesday April 02, 2003 @03:28PM (#5646308)
    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.
  • Re:What's up Sun??!! (Score:4, Informative)

    by Billly Gates (198444) on Wednesday April 02, 2003 @03: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.
  • by IamTheRealMike (537420) <mike@plan99.net> on Wednesday April 02, 2003 @03:31PM (#5646326) Homepage
    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?

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

    by MSG (12810) on Wednesday April 02, 2003 @03:32PM (#5646335)
    Blackdown isn't a free implementation, it's a port of Sun's JVM to Linux. It bears the same license.
  • by SuperKendall (25149) on Wednesday April 02, 2003 @04: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).
  • www.jcp.org (Score:5, Informative)

    by SuperKendall (25149) on Wednesday April 02, 2003 @04: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?
  • Re:Standards? (Score:2, Informative)

    by overbored (450853) on Wednesday April 02, 2003 @04:10PM (#5646742) Homepage Journal
    Actually, Microsoft did release another .NET runtime called Rotor [microsoft.com]. It's shared-source and cross-platform. They made the implementation run on FreeBSD.
  • DOM is standardized (Score:2, Informative)

    by tungwaiyip (608795) on Wednesday April 02, 2003 @04:19PM (#5646827) Homepage
    Find it at http://www.w3.org/DOM/DOMTR.
  • Re:Standards? (Score:1, Informative)

    by Anonymous Coward on Wednesday April 02, 2003 @04:36PM (#5646955)
    http://www.go-mono.com/winforms.html

    way to research your claims.
  • by Anonymous Coward on Wednesday April 02, 2003 @04:40PM (#5646997)
    On the surface, it looks like .NET is more standardized and open, but in actuallity Java is far more open.

    The part of .NET that's standardized has little more functionality than POSIX. If you want POSIX, C++ gives you just as much standardization. Unfortunately, this level of standardization isn't enough for today's GUI and web applications so you're forced to rely on 3rd party APIs. On Windows, those APIs inevitably end up being the ones supported by Visual Studio.NET since everyone knows that Microsoft is driving the standard. That means WinForms (which is *not* portable and needs WINE to run) and ASP.NET (which seems to be portable, but until more porting experience exists it's all theoretical). So basically, .NET is closed for all practical apps.

    Meanwhile Java is not standardized via a standards body, but it *is* standardized via a JCP process that's open enough to allow Apache and JBoss to contribute. It's API is fully documented and open enough to allow the JBoss Group and Apache to produce heavy hitters like JBoss, Tomcat and Struts which dominate the Java industry over proprietary offerings. Sun is sweating bullets because open source is overtaking them yet again.

    *It's possible* Mono can gain the power to make .NET open. *It's possible* that Mono can get a seat on the standardization board of .NET. But it hasn't happened yet and I'm not holding my breath.

    And why should I? Java is here and it works.

    If I wanted inter-language interoperability, a good GUI framework, and optional low level access, I'd choose Parrot (a.k.a. the new Python/Perl/Ruby runtime) over .NET any day. It's more open than Java and .NET, it will likely gain a few other languages like PHP5 (the new object model is no co-incidence) and LISP and Smalltalk, and it has a huge mindshare.
  • by Caoch93 (611965) on Wednesday April 02, 2003 @04: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.

  • by JohnwheeleR (662355) on Wednesday April 02, 2003 @04:55PM (#5647175)
    ...and of course Microsoft shops comprise the majority of "shops" out there.

    I beg to differ you idiot. Before posting so authoritatively why don't you do some homework? While its hard to find concrete evidence that shows which language has market dominance, there are some hints out there:

    Doing a search for jobs here [dice.com] will show you that there are 4268 jobs with "Java" in their descriptions with only 366 jobs matching "C#" and 17 jobs matching ".NET"

    This [berkeley.edu] shows a graph of the languages in use on sourceforge.

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

    Oh yeah clown? The only thing "stunning" here is your lunacy. Why don't you go take a look at the bookstore [amazon.com] and search "Java Programming" then ".NET programming?" I get 601 books for .NET and 1463 for Java. That is over 2x more books for Java.

    What bothers me even more than Microsoft's shitty products and nonexistant business ethics is that they have a slew of retarded users who can't provide even a shred of supporting evidence to back the claims they make. Its always stupid shit like "I use MS because no one ever got fired for it" or, "... because fonts look ugly in X". In this case you have an guy pulling shit out of ass that is not even true.

    What in the hell was it in his post that prompted you to mod him up so much SlashdotXP?

  • by g_bit (253703) on Wednesday April 02, 2003 @05:09PM (#5647293) Journal
    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.

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

    by miguel (7116) on Wednesday April 02, 2003 @06: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
  • by miguel (7116) on Wednesday April 02, 2003 @06:25PM (#5648045) Homepage
    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.
  • Linux and POSIX (Score:2, Informative)

    by yerricde (125198) on Wednesday April 02, 2003 @06:33PM (#5648134) Homepage Journal

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

    The Unifix Linux [unifix.de] distribution is certified as POSIX.1 conforming.

  • by Jordy (440) <(moc.pacons) (ta) (nadroj)> on Wednesday April 02, 2003 @07: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
  • by 6 (22657) on Wednesday April 02, 2003 @07:35PM (#5648679)
    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.
  • Re:Cut down C++? (Score:3, Informative)

    by be-fan (61476) on Wednesday April 02, 2003 @08:52PM (#5649136)
    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.
  • by AtATaddict (531517) on Wednesday April 02, 2003 @11:32PM (#5650077)
    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.

Someday your prints will come. -- Kodak

Working...