#6: I programmed in Java for 2 years. In fact, I really became a professional developer using Java, you might say.
I left after I realized Sun wasn't doing anything with it. After MS released .NET which had tons of XML and Web Service functionality, and the best you could do on Java was Xerces (which of the thousands of versions? Good luck!) and an Alpha copy of Axis which was a complete pile of crap.
I had thought it, but never really quite made the full connect that Sun had no plan, no direction, no understanding, and no leadership when it came to Java, not to mention everything else.
Java was doomed and IBM was going to swoop it up and turn it into a huge bloated useless mess like they do with everything and they're well on their way to doing that now (ever use WebSphere? HA!)
C# is not really based on Java. Anders was a mainly Delphi guy and i think he said that when he made C#, it's about 50% C, 20% Delphi, 10% VB, and the rest is devided among all the rest with Java making an honorable mention.
The fact that C# looks a lot like Java doesn't really mean much since Java looks like a dozen other langauges.
The concepts of intermediate language (bytecode), Virtual Machines, garbage collection had all been around for many, many years and implemented in one way or another on C++.
To say C# is much like Java is to say you really don't know much about programming or Computer Science and history :)
I agree Java is a nice language, but it's a horrible framework. And therein lies the problem. Java is both a language and a framework which damns it from the start. .NET is a framework, C#, VB.NET, MEC++, J#, Perl.NET, Cobol.NET, etc are all languages that support many or most of the same features.
You say it's easy to write Network apps in Java, but no one is writing Network apps. They're writing Web Apps, GUI apps, and Web Services, none of which Java does particularly well, and many, including myself, would say it does horribly on all of those.
And switching to Java just to use Eclipse and it's small handful of features that is has "over" or "beside" VS.NET is hardly intelligent or costworthy. Eclipse is nice, but it's not compelling. It has a few geektacular features that don't really mean a hill of beans in the business world. Productivity is key and people have chosen VS.NET, it's clearly the winner regardless of what your personal preferences are.
Putting a brand and name recognition/association with Java as a product involved in many devices and applications is the best thing Sun can do. MS has created a huge brand name for .NET and whether you think ordinary people care about programming languages, they do and when they associate .NET with cutting edge and fast, they associate a given .NET product with cutting edge and fast. If Sun can do that with the Java name (which is impossible at this point), they can generate the same effect for Java as a platform and language.
Unfortunately, like I said, it's too late. Sun piqued the hype way too early in the 90's and never followed through, now everyone just thinks it's a failure (which it is) and any attempts to bring it back are laughable and desperate (which they are)
|