I think it's very unfortunate that Microsoft doesn't support current Java technology. If you look at the amount of development going on today in Java, and compare that to the percentage of computers running Microsoft operating systems, things just don't add up. Either developers aren't interested in what Microsoft is dishing up, or Microsoft isn't paying attention to developers. Maybe both. Perhaps with Channel 9, Microsoft will be able to find out why Java is so popular, and rethink their strategy. Of course, with their history of "embrace, extend & extinguish," Microsoft would have an uphill battle restoring a sense of trust in the hearts of developers. The evidence certainly suggests that, with regard to Java as well as other technologies, Microsoft doesn't really want to support innovation outside of Microsoft. If Channel 9 really wants to help fix what's wrong with Microsoft, Java is an obvious place to start...
Apart the little fact that there is a court order forbidding Microsoft to pursue further Java development, I think maybe, *maybe*, the number of non-Java application is a bit higher than the number of Java applications.
But I'm more than happy to be proven wrong, so just go ahead and post a list a Java application deployed on desktops around the world.
C'mon, haven't you guys been watching the news lately? Sun is our friend*, and I'm pretty sure that I saw something in the press release about there being more support for the Microsoft Java VM. Anyone got a URL handy?
*I was really really tempted to throw in a 1984-style "Sun has always been our friend" comment, but that would just set the slashdotters off
Right, that announcement from Sun and Microsoft of their settlement over Java was on 2 April, and here it is *five whole days later* and I still haven't seen any new Java tools come out from Microsoft. C'mon, we all know you've been developing them in secret, court order or no court order. So where are they?
Well, microsoft WAS doing that (cough vj++, or whatever it was called). However, sun forced them to stop all 'innovation'.
The main problem with that, and also today, is that microsoft develops for microsoft technology. All departments have a common 'goal' to achieve, which is to benifit microsoft (of course, why wouldn't they?? that's what ALL companies do).
Now, imagine for a minute that MS's development tools department (VS, .NET, etc) was a different company, not owned by microsoft. I'd imagine that they'd see an opportunity to develop for other environments (OS') like linux, or mac. But still, you really can only truly innovate by creating your OWN product. Why SHOULD microsoft innovate and develop for java when it is limited on what it can do with it?
It's the exact same thing you get when you use a third party tool (Crystal Reports, databases, etc). Sure, they provide great functionality, but when you want to do something (very) specific to your needs everything falls apart. You must do things how the library specifies, or things will just not work.
But if you were to be able to (and have the resources to) build your own, you can ensure that from the ground up, it is built to do things the way you NEED to really innovate and do something different with your product.
I fully understand why MS is choosing XAML over SVG, Avalon over GTK (haha), or Indigo over (??), and why they chose ASP.NET over (insert other web technology here), and .NET over (J something.. i can't remember).. They are able to make the ENTIRE development experience much better, seamless, and integrated. We can (and will be able to) do things we have never done before, and be so much more productive..
The only thing that MS needs to do is document and submit the basis of these innovations to a standards commitee (like they did with .NET/CLR, etc). Especially for Indigo (so different os' can eventually talk to eachother), and XAML because i fear that it might be the next Windows-only version of HTML.. (since it can be run in a browser window).
phew.. good to finally have a forum to get that off my chest. (:
Sure, they provide great functionality, but when you want to do something (very) specific to your needs everything falls apart. You must do things how the library specifies, or things will just not work
Eto, great point. Anyone who does software products for a living will attest that control over your code is very important. Interestingly, the open source guys define "control" as "possession", so from their POV code-sharing is enough.
The problem is, it doesn't work. Software producers also need control over how their code evolves. And this is open source's Achilles Heel -- its evolution is all too dependent on a large group of dev egos.
Btw, Joel Spolsky had a good writeup about this sometime back, where he writes: If it's a core business function -- do it yourself, no matter what. In my mind that makes perfect sense.
That argument doesn't seem to make a lot of sense to me. If the goal of software is to address the ever-evolving needs of customers and to correct deficiencies, open-source provides just that momentum. In my experience those "dev egos" go where there is a high value proposition.
Open-source is self-correcting; features that have no inherent value get atrophied away (or remain unused) whereas substantive ones become magnets for developer energies.
Developers / Customers adding value to products that they use and enjoy using.... What a concept! And far from companies losing control of product development, I think there is plenty of money to be gained in support services and packaging the best-of-breed concepts from open-source development into commercial products that non-tinkerers can use just as they do today.