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."
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.
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.
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.
http://saveie6.com/
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.
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.
.NET is not the CLR.. .NET is the CLR, APIs, Libraries, and so forth.. therefore only a small part of the environment is open.
.NET.
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
The way I understand it, MS is happy to make C# a public standard while retaining control of the only thing that makes C# interesting -- the .NET architecture.
.NET)
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
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.
>> 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!!!!
if sun released java as GPL, they wouldn't have to worry that a competitor could appropriate it with proprietary modifications. any modifications would have to be available to sun and all other platform users.
-rishab
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
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 ...
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.
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.
The "cue the foo posts in 3, 2, 1..." posts will commence with no subsequent foo posts in 3, 2, 1...
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.
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.
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.
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.
.NET apps using MS's tools that do not depend on MS's proprietary implementation and extensions to it's published standards.
.NETs supposed superiority to Java.
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.
I gots ta ding a ding dang my dang a long ling long
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
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!"
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?
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.
Comment removed based on user account deletion