J#
fuze writes: "It's basically a way for Java developers to migrate their Java apps to .NET.... even provide a 'convenient' migration tool... check it out on MSDN." News.com has a story describing Microsoft's plans to suck Java into .Net, and some commentary saying basically, "No one will use it".
There is always the fact that Java is being natively excluded from Win XP.
Uhh, hello? Didn't Sun just sue Microsoft? Aren't a bunch of other companies, including AOL and Real arguing with MS right now over bundling of products? It's not as if MS are saying that you can't run Java, they're just saying that it's a piece of third party software, you have to install it yourself, just like you have to install, say, WinAmp if you want it, or Photoshop.
Sorry, but I think Microsoft are doing the right thing here, or at least they are doing the least-worst thing.
Isn't it all supposed to be about choice? A world where Java is the only language (and we all know how responsive Sun have been to the wishes of the community, can you say ECMA standard?) would be a poorer world than one where Java/J2EE and C#/.NET have to compete on features and quality.
There's one way out of this for the Anti-Microsoft camp: get Java to be like C, SQL and FORTRAN, an ANSI standard. Until we see that, this battle isn't one for the engineers, it's marketeer vs marketeer.
I'll admit that I have never done any large scale programming, but this statement about language lock-in seems entirely false to me. I have done programming for research purposes and combined C with C++, C with Scheme, and used tools mostly written in C call Fortran libraries. I have seen and used examples of Perl and Python programs accessing common C libraries.
Where is the lock-in?
Reality or nothing.
I ask the question :- if you were a director/shareholder of a company like Microsoft would you
.NET that ultimately play back into your desktop Windows (XP) market, or
a) play to your strength and leverage your current market domination and try to eliminate competing standards while creating new "standards", eg
b)go open source, support Java, employ open standards, go cross platform, etc etc and risk losing any market dominance you have now?
Legally, you would have no choice at all. If a director fails to act in the interest of shareholders, the penalty can be a jail sentence and a ban from ever running a company again, at least under UK law. Yes, that's right, you can go to jail for doing the "right thing". Unless you could prove that it was in the best interest of shareholders - who will tear you apart if you miss your quarterly earnings target - there is no option for you but (a).
The reason corporations put profit before everything else is because the law - created by the governments, who represent the taxpayer - have decreed that they must do so. It would be a little hypocritical to criticize a thing for acting in accordance with its nature.
Well, I understand that as a self-described "rabid Slashdotter," this might be news to you, but your entire premise is pretty wacked.
- your grip on the server market appears to be slipping
Hate to break it to you, but Microsoft's server market share has never gone down since NT first came out.
great companies such as google.com are proving that you can grab web market share fairly quickly with a better product
Well, seeing how Microsoft/MSN gets around 7 times the number of unique visitors that Google gets, and that they hang around the site around 25 times longer than Google's, you tell me how concerned they are.
technologies such as Linux, VM Ware, WINE and Java are threatening to nibble away your desktop market
They are? Funny that Microsoft's desktop market share, just like its server market share, went up over the past year. Guess they better be on the lookout for OS/2 and Amiga, too.
having some spectacular white elephants such as MSN on record
See above about MSN.
I think that the shareholders of Microsoft would be pretty relieved that it's one of the best performing stocks this year. Oh, and they're probably happy as Hell that they don't listen to Slashdot hype, otherwise they might've traded all their Microsoft shares for stock in VA Linux, Red Hat, and Sun, thus watching their kids' college funds go *poof*!
The main advantage is here: development is faster in a team where every programmer can use the language he/she likes the most.
.NET people love to say this and it makes me laugh. It's so naive. It's like saying that development is going to be faster once you let all the programmers use the bracing and indent styles that they personally prefer.
"Welcome to the team. I wrote the C# parts of the application. John writes in Eiffel, Paul here likes C++ and uses that, and George over there prefers to use VB because he really likes its type system. You'll be sitting at this desk here, and you'll be in charge of the code that Ringo was working on before he left. None of us really knows how it works because we don't know INTERCAL."
I submit that development is faster in a team where all the developers are using the same language and can at least read each other's code. I work with a bunch of guys on a successful Java-based scientific application. We have to go into each other's code and change things all the time. They're all smart guys- and I have real respect for them, because 1.they're very productive and 2.might be reading this. But they're physics PhDs with no formal CS training, and they write fiendishly clever code that is really hard to read. The best of them writes huge amounts of complex-flow infrastructure that is riddled with "historical" stuff that gets coded around everywhere. Another one writes impenetrable clockwork mechanisms. A third delights in purposeful obfuscation (so he handles the licensing validation code). If any of them were on a plane that got hijacked, the company would be in serious trouble! Their code is pretty hard to read, but I can usually figure it out because I'm used to deciphering uncommented Java. The mere idea of these guys running around writing different parts of the code in their favorite languages makes me shudder. (The clockwork mechanism guy likes OCaml, for example, and naturally the obfuscator would prefer C.)
The idea of everyone coding in their favorite language only works well if each developer is going to be entirely responsible for his/her own domains of the code, and nobody will need to cross boundaries too often into other domains. If there is more coupling than that, then soon everyone has to learn everyone else's favorite language. This sets up a language holy war. It also makes it difficult to reassign responsibility for parts of the code because now you have to worry about who knows what language.
This might be useful for more loosely coupled development teams. As in, your project in language X could really use this nice new library that someone wrote in language Y. But you can already use language bindings that are already available for that purpose. If you encounter a bug in a library do you normally debug it yourself? If you're like most people, you either send a nasty email to the guy who sold you a buggy library, or you dig through a mailing list archive to find out what the problem is. If you use a debugger at all, it's to get a general idea of what's going on so that you might get an idea for a workaround to put in your client X code. But you can usually just pull that off if you just have the source! It is kind of neat that you can step into a different language, but it's unlikely to be of much critical importance for reasons that have more to do with humans than computers.
I keep reading about this on sites like this. It should be pointed out that even the JRE (java run-time environment) for jdk 1.4 is well below 10 megabytes (mainly depending on the platform). Of course if you download the full jdk you have a bigger download, mainly because that includes, among others, various tools and the source code for most of the API. But even then we are talking about 30 or 40 MB.
Go check out Opera or netscape, both have an optional download for the JRE 1.3.x. I think it was about 6MB. The JRE includes everything you need to run Java applications. It is hardly bigger than MS jvm and does a lot more.
Incidently, there is currently a beta of an enhanced 1.3.1 JDK that includes an activex component that fully replaces microsoft's JVM. Yes that's right, you can now run all your applets in IE using jre 1.3.1. Of course it doesn't support the MS specific extensions of the JVM.
Jilles