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."
What's up Sun??!! (Score:5, Insightful)
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.
Standards? (Score:2, Insightful)
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.
Nice to say patented standards (Score:3, Insightful)
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.
Re:What's up Sun??!! (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.
Platforms C# works on (Score:4, Insightful)
Platforms for Java: Windows, Solaris, Linux, AIX, Irix, Tru64,
At my university:
Classes tought with C#: 0
Classes tought with Java: 6
This is somewhat of a smoke screen.. (Score:5, Insightful)
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.
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 trap (Score:1, Insightful)
Still, I don't see why Sun would care if the Java language and it's JVM mechanism were public (as opposed to the spec for Java infrastructure components, corresponding to
So what... (Score:3, Insightful)
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.
If you insist. (Score:3, Insightful)
What do I win?
Stability and Control (Score:5, Insightful)
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.
Certification is irrelevant (Score:5, Insightful)
Q: What is Microsoft trying to do with
A: Take Java's market share on the server side.
Microsoft already owns the client side market...the goal of
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
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
By patenting their platform specific extensions, Microsoft can prevent anyone from implementing them on other platforms, all the while claiming that
Result: Microsoft owns the server side like they do the client-side.
Re:This is somewhat of a smoke screen.. (Score:2, Insightful)
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.
Re:What's up Sun??!! (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.
oh yeah... (Score:4, Insightful)
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
Re:What's up Sun??!! (Score:4, Insightful)
Java may appear to be proprietary to the non-informed but the programmers know better.
Re:What's up Sun??!! (Score:5, Insightful)
Yes..... (Score:3, Insightful)
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".
Re:Platforms C# works on (Score:3, Insightful)
I'm sure you're referring to production quality compilers and runtimes...aren't you? ;-)
Re:This is somewhat of a smoke screen.. (Score:4, Insightful)
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?
Re:What's up Sun??!! (Score:3, Insightful)
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.
Re:Platforms C# works on (Score:2, Insightful)
Re:Platforms C# works on (Score:1, Insightful)
They have EnterpriseServices, ADO.NET, ASP.NET, Remoting RPC servers.
And it runs quite nicely.
Re:This is somewhat of a smoke screen.. (Score:1, Insightful)
I have not seen any implementation of XForms from any vendor, so I don't know how much of a condemnation it is that MS does not support it now.
There is no problem "decoding" the XML file formats used in the new Word, Excel, etc.
I did not say that MS is open. I said that MS is moving toward openness, possibly as a result of market experience in the changed (i.e., not 1985) market. I still believe that.
Whether the changes will be beneficial for the market as a whole or not remains to be seen. But MS is not stagnant, and they remain a powerful force in the market where I regularly seek gainful employ. Any MSCE who isn't learning the rudiments of Linux is playing with fire, and anyone who chooses to ignore MS's actions is doing the same.
IMHO, of course.
Re:oh well (Score:2, Insightful)
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.
release as GPL (Score:1, Insightful)
-rishab
Re:What's up Sun??!! (Score:2, Insightful)
Reality Check (Score:2, Insightful)
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
- Brian
Its the patents, stupid ... (Score:1, Insightful)
Recall Microsoft claiming that Windows NT implemented the POSIX standards - which it did in the strictest sense but not in any practical degree. Or how about the fact that Microsoft C++ has yet to fully implement the ISO C++ standard. Microsoft easily has the resourses to do this - but they'll continue to claim that there are other priorities (such as their non-standard extensions ...)
What matters are the libraries which actually implement all of the functionality - and guess who determines what those APIs are? These are still tiightly in the control of Microsoft (compared to the JCP used to propose and codify new Java APIs). The Java Community Process, as flawed as it is, is a heck of a bigger step towards an truly open process than simply handing off an already finished language standard to a standards body.
Then there is the touchy little issue regarding the patents that Microsoft has or is the process of filing that will directly impact on the use of C# (language, CLI, and libraries). Mono will never be widely adopted, especially on non-Microsoft platforms, until this cloud of ownership involving intellectual rights is fully lifted.
Heck, I'm still waiting for an ISO version of Perl before I *even* think of allowing that language used in my company ...
That is a stupid argument (Score:2, Insightful)
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.
Re:What's up Sun??!! (Score:3, Insightful)
It's the multiple compatable implementations that are meaningful/useful, not the publications of some committee.
public versus bureaucratic (Score:4, Insightful)
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
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.
Re:If we're keeping score (Score:3, Insightful)
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.
Amusing (Score:3, Insightful)
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.
Just like POSIX compatibility for Windows NT (Score:5, Insightful)
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.
Re:Java is as proprietary as the Linux kernel. (Score:5, Insightful)
And *of course* Sun would never exploit their position. Just ask the JBoss team about how *wonderful* Sun are some time.
Re:What's up Sun??!! (Score:4, Insightful)
Re:Standards? (Score:2, Insightful)
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.
Meaningless standards (Score:3, Insightful)
I would doubt very much whether it is possible to build
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
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.
Re:Certification is irrelevant (Score:3, Insightful)
Of course, this whole evil plan is going to make the life of Joe Anycoder a living hell, but why should the top brass at Microsoft care when they're rolling around naked in a big pile of money.
MS Motivation (Score:3, 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
So,
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
Cabletron as an example (Score:3, Insightful)
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.
Re:What's up Sun??!! (Score:2, Insightful)
<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.
EULA, and laches (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.
Re:Not exactly (Score:2, Insightful)
Impossible deadlines are, by definition, impossible.
Comment removed (Score:3, Insightful)