Microsoft at JavaOne 2007 - Final Commentary

Published 12 May 07 09:35 AM | makif 

About: This blog post is part of the “Microsoft at JavaOne 2007” series; it provides general commentary about the last day and the overall conference. Warning, it is arguably my most controversial blog post to date.

Greetings,

JavaOne 2007 is over, last night I went to the JavaOne “After dark bash”. The “MiniKiss”, a midget band dressed up as KISS was about as exciting as the JavaFX demo on the opening keynote. The battle bot fights were quiet interesting and generated some enthusiasm in a party where the most popular attraction seemed to be the five XBOX 360 gaming stations and the Gyro and arcade machines set up around the walls. The “Grinder Girl” turned out to be a girl wearing a stainless steel bathing suit with an electric grinder in her hand which generated sparks when put against various ‘parts’ of her body generating “Wows” & “Ooohs” from some of the attendees but looked quiet distasteful to the majority (some of the locals had brought their kids) who left the party at that point.

In terms of the overall comments about JavaOne 2007, when Richard Monson-Haefel (who is the author of one of the most popular books on Java and now works as an analyst for Burton group) wrote that “Java is dead” (http://www.theinquirer.net/default.aspx?article=32968) I thought that he had spoken too soon. However, attending JavaOne this year has convinced me of something that no amount of Microsoft marketing or conferences would have done, that the peak days of Java are definitely behind us. As someone who was part of the Java revolution and as a technologist, it is sad to see the missed opportunity and potential. The attendance, energy, enthusiasm, quality and exciting news around Java this year were definitely at a significantly lower scale (excluding mobile) than last year and the years before. In sessions where we asked people to raise hands if they also program in .NET, around 50% raised hands.  I remember Java conferences where you will get a very small percentage of people who had any familiarity with the .net framework at all. I don’t want to get in to a detailed analysis of the reasons but here are some of my personal (not Microsoft’s) thoughts on the subject:

1.       The business users are becoming more demanding, they have made it clear to IT that they do not care about Java, .NET, open source, cross-platform, SOA, ESB or Web Services. They care about time to market, increased revenues, customer loyalty, lower costs and better quality of service. IT cannot use their internal issues and academic arguments to justify a lower level of service to the business anymore.

2.       Sun’s strategy of open sourcing Java and related tools is driving the entire market down. Businesses are not charities and cannot be run as such, (btw giving out software for free but charging for support and services is not open sourcing, it is just a different business model for getting the payment from the customers). Sun, IBM, BEA, Oracle, Red Hat and every other Java vendor pays salaries to their engineers as no open source enthusiast would agree to work for free. When Sun makes its application or portal server available for free (because no one would buy it), it hurts the Java vendors that are selling their application servers forcing them to lower their costs and reduce the investments they can make to improve the products (or get the investments from a different part of their business), that in turn results in slowing down the pace of innovation and the ease of use with which enterprises can develop on Java platform.

3.       Microsoft’s strategy around putting infrastructure plumbing code in the .Net framework and significant support for open standards in the latest versions is making it a preferred choice even in organizations that used to be pure Java shops. Some of the adoption numbers according to independent industry studies (future development, 56% on .NET vs. 44% in Java for some of the largest enterprises in North America) are pretty astounding considering that .NET was a fraction of the marketplace just a few years ago. When you can produce similar or better applications significantly quickly and for significantly lower cost, the argument for Java and its cross-platform nature loses some of its charm.

4.       The businesses are realizing that the important areas are open standards and total cost of ownership and not what you may or may not pay at the time of acquisition. I recently went to a bank which used 7 different tools (4 of them open source) to architect, design, develop, test, bug track and deploy applications. It was one of the easiest conversations I had to move the bank to Microsoft technologies, my basic point after they admitted that they spend months in lost productivity due to integration, training and maintenance issues was that at a cost which translates in to a few days of salary (compared with the 2 months) they could have an integrated suite which will solve a lot of issues they are facing. This is the primary reason that Visual Studio and Eclipse are becoming increasingly popular in the enterprises.

5.       The process of innovation in Java which requires approval from a large variety of vendors with different agenda and interests results in very lengthy discussions and intense disagreements which lead to the specifications not covering some key areas. The big turning point for me a few years ago was trying to make application server by one Java vendor work with the identity server from another, it took me and a team of engineers about 15 days to get it to work and the Microsoft champions at the customers showed me how to do it in the Microsoft world in about 25 minutes. Again the big question now is how to serve the business better.

These and a culmination of other factors e.g. increased expectations around user interface and experience where Java was always weak is producing the perfect storm against Java. The thing that is working for Java right now is the large install base and many people that bet their careers on it. These individuals (some from the small talk base) are now at a stage of their careers where some of them are unwilling to consider alternatives. From an IT organization standpoint, the cost savings and other advantages of .NET are sometimes not considered enough to justify the cost of developers learning new skills. In my opinion, that is IT propagating its internal problem to the business; granted that the problem is genuine in many cases, in my opinion it is still a losing battle. For IT to become a strategic asset and not just the cost of doing business it must be run like a business and not like a subsidized unit. It must be willing to learn, reassess and make the choices that are the best for its customers; that is the only way forward. If it means replacing one technology on which it might have standardized with a better one that is the right thing to do, otherwise sooner or later the business users will find others to lead the IT organization (or outsource it) so that they can get the level of service they need to be competitive with others in the industry.

Best regards,

Mohammad

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Udi Dahan said on May 12, 2007 10:28 AM:

Open source != free. It's just that you have access to the source.

One could argue the viability of the "free" product, and pay for support business model, but I'm not sure that we can identify it as adversely impacting Java as a whole.

As to getting different products from different vendors working together, that's always been a problem. Microsoft has had a good history of providing integrative solutions, but with the current rush of new technologies coming out, backwards compatibility seems to be suffering.

Let's not forget that many major advances to the .NET environment came from Java. JUnit, Hibernate, Log4J, Spring. Microsoft has yet to put out technologies covering all of these.

Neither platform is perfect, and each has much to learn from the other. Community excitement is fickle. Just because someone says something is dead, doesn't make it so. Paul Graham said Microsoft is dead (http://www.paulgraham.com/microsoft.html). Why aren't you worried?

Conferences tend to blow things out of proportion. Let's get back to work :)

Let me just finish by saying THANK YOU for your ongoing commentary. It is most appreciated.

# jackbond said on May 12, 2007 6:41 PM:

In response to Udi's statement. "Let's not forget that many major advances to the .NET environment came from Java." Name one, name one single thing Java advanced or innovated. Other than bringing a bunch of previous language features into one very poorly integrated language, Java introduced NOTHING. And even that isn't exactly innovation.

# makif said on May 12, 2007 11:13 PM:

Udi,

Thank you for sharing your views, I appreciate your feedback. I did not base my comments on Richard's commentary or the industry studies that shows .NET gaining market share every year, I based it on personal experience of both platforms, observing a large number of customers that I work with and a variety of others including JavaOne. JavaOne is not another Java conference, it is the largest gathering of Java enthusiasts in the world that in the past years hosted over 12,000 attendees from around the world. Nearly every major player in Java has a presence there, Sun, IBM, BEA, SAP, Google, Red Hat, Siebel, Oracle, Motorolla, Universities, Research labs, open source communities, chip manufacturers (intel etc.), department of defence and its contractors, startups and many many others participate (and in some cases present) at the conference. I have found attending the conference and talking to key individuals there to be a good source of getting the pulse about the state of Java. And based on my expeirences in the past few years, industry trend studies and my experience and conversations at JavaOne I reached the conclusion that the best days of Java EE are behind us. I do respect your disagreement, lets talk more about it next year.

Best regards,

Mohammad

# John said on May 14, 2007 12:38 AM:

Excellent blog and commentary! Keep up the good work

# Mike Davis said on May 15, 2007 12:27 PM:

Mohammad, Looks like we have pretty similar feelings about our past Java days and where that community is going in the future. I too am saddend by the direction, but am learning a ton about the .Net world and amd thoroughly optomistic about that. Keep up the good blogging.

# grauenwolf said on May 16, 2007 11:20 PM:

If Log4J and Junit are considered 'major advancements' for Java, I weep for the platform.

# Daniel Martin said on May 16, 2007 11:46 PM:

I hope that you will be proven wrong but in terms of the present circumstances I have to agree with most of what you have written. I read that .NET crossed 70% adoption this year, about 20% above Java. However, there are some great technologies on the horizon so all of you Java lovers, keep your fingers crossed and hopes alive!

# Jay Leads said on May 17, 2007 8:04 AM:

Daniel and jackbond,

I would love to hear you, .Net/C# guys, elaborate on this: http://www.tiobe.com/tpci.htm

Well... It seems that ".NET crossing 70% adoption" may take a while (a few lightyears or so...). If Java is loosing some ground, it is definitely not to .Net.

So, besides wishful thinking, could you, please, show me some meat?

Thank you so much.

Oh, and remember to always "Get The Facts".

# Daniel Martin said on May 17, 2007 11:21 AM:

Jay,

I was referring to Gartner, Forrester and IDC, not sure about "tiobe" , you must get the fact from "reliable sources". The 2005 IDC report showed 35.7% adoption of .NET vs. 25.3% of Java/J2EE and the future plan question showed Java going down and .NET climbing. The Forrestor study of mission critical applications 2005 also showed a higher adoption of .NET http://www.forrester.com/Research/Document/Excerpt/0,7211,37266,00.html

In the largest enterprises in North America, for mission critical applications, the 2004 Forrester study showed that 56% of the systems will be developed in .NET vs. 44% in Java and the subsequent trend has just increased the gap between the two. Check out the link to the IDC study in this article http://www.sqlmag.com/Article/ArticleID/49049/sql_server_49049.html

I have the studies and will research if I can post them (as these organizations restrict the use of the studies). I would also encourage you to look around you and in the enterprises that you work with and ask yourself if there seems to be a lot more .NET activity today than two or three years ago?. In my job as a consultant I work with a large number of customers, and I have noticed the trend in a huge majority of them. Yes it is anecdotal but also undeniable and too much to be a coincidence. It also seems to be something that our internal alias (comprising of over 2000 consultants is reporting) because of which our employer has started a program to teach .NET skills to Java consultants.

I have not given up on Java, I believe that it will make a come back but there is no denying that .NET seems to have a lot more momentum than Java right now

# Andrew said on May 17, 2007 12:07 PM:

I don't understand how you leaped from "I read that .NET crossed 70% adoption this year, about 20% above Java." to those paragraphs about .NET's use in mission-critical systems.

The TIOBE study actually looks at who is hiring for what. I think it's disingenuous to wave your hand at what is actually a very respectable study, and then come back with numbers that don't follow from your original propaganda.

# Jay Leads said on May 17, 2007 4:02 PM:

Daniel,

We couldn't agree more when you say that "we should get the facts from reliable sources". That's exactly why I mentioned the TIOBE TPC Index, a really independent source. Unlike Forrester, IDC, etc, TIOBE is a measurement of the programming languages market share based on the real and entire world. Their methodology is absolutely clear, reasonable and straightforward (their data collecting and compilation strategy, based on search engine results, is clearly stated on their website). Also, they don't earn a living by doing this. Thus, there are no hidden agendas or intriguing footnotes such as "this report was sponsored by BigCash Inc". Furthermore, it is NOT merely "a study based on a bunch of companyes conducted by Institute X" or some sort of biased "market forecast as outlined by Joe Somebody, Senior IT Consultant for Institute X". I could've used some sources from Sun, Oracle or "Institute Y", but I'd rather keep this debate at an objective and fact-based level. So, to be perfectly clear:

1-The TIOBE Index measures the real world market share (and I mean THIS world's market share, not Second Life, Wonderland, The Matrix or Planet Klingon's...);

2-Their numbers are an outline of today's programming languages landscape, not some sort of predictions made 3 years ago (by the way, what’s the point in quoting articles written in 2004? This is not “Back to the Future”, I’m not Marty McFly and, please, don’t ask me to drive a DeLorean, if you know what I mean....);

3. The TIOBE Index is updated every single month, and holds historic data from the last 6 years, which is quite fine when you're interested in things like "market trends";

4. It takes the whole world into account, not only a given number of corporations;

5. Finallly, let me stress that it's a measurement, not a mere study or a forecast conducted in a controlled environment;

So, where does this leave us? If you are still not convinced, take a look at Dice.com (again, the real world David). When I search the keyword Java and get over 17.000 job opportunities vs. 10.000 .Net jobs, I start thinking that something must be upside down.

Finally, please, don't post or imply things that you can't sustain, as this only generates FUD.

We all know that Java is the main player today, and .Net also scores well in some areas (not as well as you wish, though), and they are both great toolsets.

With all this said, I'm yet to be convinced that we already live (or will ever live) in a "70% .Net" world.

Cheers and take care.

Jay Leads

# Daniel Martin said on May 18, 2007 12:31 PM:

Jay,

1.I had mentioned .NET vs. Java in my initial comments NOT C# vs. Java, even in your Tiobe site, that you consider more reliable than Gartner, Forrester and IDC (although they are also in the same business of selling information), you should not just compare C# vs. Java.

2.I did notice that even on your reliable study Java has lost about 9 points in the last 6 years whereas the .NET language have increased or remained constant

3.“Your statement that Tiobe measures real world market share is simply inaccurate (it would be a good idea to read their methodology before making that claim). According to the Web Site “The ratings are based on the world-wide availability of skilled engineers, courses and third party vendors. The popular search engines Google, MSN, and Yahoo! are used to calculate the ratings. Observe that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.” I do not want to discredit their effort (or the intent to sell the dataset for $1500). However, I am amazed that you would consider this criterion the final judgement on the trend and adoption. “Skilled engineers, courses and third party vendors != market share”. Firstly, the number of third party vendors would obviously be more in Java compared to .NET because of the way the specifications are licensed to different companies, also using search engines does not seem more statistically accurate compared to surveying a population sample with a margin of error that has been verified by the laws of statistics (method used by Gartner, IDC and Forrester). If you noticed on their Web Site they were and are extremely vulnerable to the search engine algorithms

“What happened to Java in April 2004? Did you change your methodology?

A: No, we did not change our methodology at that time. Google changed its methodology. They performed a general sweep action to get rid of all kinds of web sites that had been pushed up. As a consequence, there was a huge drop for languages such as Java and C++. In order to minimize such fluctuations in the future, we added two more search engines (MSN and Yahoo) a few months after this incident.” Note that there was no actual change in adoption of Java in April 2004, just change in how the search engine works. You should also look at the query that they run, I think it provides an interesting perspective but is in NO way the final word on how many companies are using or plan to use Java vs. .NET languages and definitely not an accurate indication of the “Market share” as you have asserted in your post.

4.In terms of current jobs, I think that jobs are a good indicator of the install base but are a lagging indicator of the trend of adoption. According to www.dice.com, there are 17211 Java jobs, 10650 .net jobs, 7500 C# jobs (many of which titled “c# lead developer” etc. did not have .NET in the tags) the same is true for other .NET languages, I would love to get a view in to the number of .NET and C# jobs available in 2003, 2004, 2005 and 2006 to get an idea about the trend. I never said that Java is dead; I agreed with Mohammad that the peak days of Java are over and that’s visible even in the Tiobe site where Java has lost 30% of its index value in the last 6 years at the expense of Ruby, PHP, C# and other languages which have gained.

5. I quoted older studies as those were publicly available. We are restricted by research organizations on how we can share the results but the subscribers of research organizations can look at the library and the trends that continue to show a decline in Java adoption and an increase in the adoption of .NET languages.

I think that calling Tiobe the final word in measurement of market share is creating FUD; I do agree with you that both Java and .NET are major players today. I believe that looking at the trends the peak days of Java are over and the peak days of .NET are coming, you may want to consider a space flight (or back to the future one) if you do not want to live in a world where .NET is far more popular that Java :-)

Daniel

# Jay Leads said on May 18, 2007 4:10 PM:

Come on, Daniel! Quoting sessions from the TIOBE site is absolutely unnecessary to me. I didn't come across it yesterday. You did. Please, let's get down to the basics, man.

I'm pretty sure that you got the message regarding "the facts", Daniel. I bet you did. Of course, you won't admit it (and believe me, I understand why...).

So, it's pretty clear to me that your statement ("I read that .NET crossed 70% adoption this year, about 20% above Java") is nothing but thin air. Several posts later, I'm still here, eagerly waiting to see any sustainable evidence on these claims. But that's ok, since there's no such thing. We (you and me) know that. What happened here is that the first posts set the mood and you got a little carried away. Just that. It happens on occasions. No big deal.

Regarding dice.com, let me tell you that, contrary to yours, my searches over there didn't include Struts, Hibernate, Spring, J2EE, etc (something that would, obviously, give even bigger numbers). It was pretty much "Java" vs ".Net".

As for me flying away from a ".Net-mastered world", I must tell you: I'm not in a rush to do that, for obvious reasons. Besides, I might end up finding more people using .Net in other planets, which, given the evidences, is very likely to happen. ;-)

Now, I've noticed that you seem to enjoy very much quoting. So, this one I'd like to dedicate to you:

"Daniel, you take the blue pill and the story ends. You wake up in your on-call bed and believe whatever you want to believe. You take the red pill and I will show you a way out. Remember -- all I am offering is the truth, nothing more."

Cheers. Take care.

Jay Leads

# Daniel Martin said on May 19, 2007 7:56 AM:

Jay,

The 70% plan to use .NET was a study my employer commisioned for our past, current and prespective client base to assess where we should be making our training and other investnments. I woud admit that I should not have implied that it applies to everything, we primarily work in certain industry verticals. I do believe that everything I wrote about Tiobe and industry trends still holds.

You have qouted from my favorite movie so here is an olive branch (or challange :-)) I will offer. Lets take Tiobe and Dice as a measurement of popularity (or visibility) of a programming language and lets check every quarter (July1, Oct 1, Jan 1 and April 1) and I am willing to bet that the trend on even these sites will prove that I am right within an year i.e. Java will continue to go down and .net will continue to climb, you up for it?

# Gerry Peterson said on May 19, 2007 8:00 AM:

Daniel , I also used to be a Java consultant and can attest to what you are noticing. Here in the Alberta Oil and Gas sector Java was the only game a few years ago. In the past few years a large number of companies have moved to .NET and the trend is continuing at a rapid pace. Having .NET skills is the hottest ticket in town right now, I am extremely glad I made the switch!

# John said on May 19, 2007 8:11 AM:

Take a look at http://blogs.zdnet.com/carroll/index.php?p=1523 it qoutes studies that shows that between 2002 and end of 2005 Java usage delcined by 4.5% whereas .NET increased by 13.8% during the same time. It also has the link to business week article on this subject

# Darin Travis said on May 19, 2007 8:27 AM:

Dudes... .NET took over Java in 2004/2005, the fight is over, stop bickering.

Personally, I converted to ASP in 2005 after looking at

http://news.netcraft.com/archives/2004/03/23/aspnet_overtakes_jsp_and_java_servlets.html

and because Microsoft sales guy played more golf with our CIO than the Java sales guys ;-), it is all about golf

[Remove this Comment]

# Dmitri said on May 19, 2007 10:37 PM:

I work at one of the largest banks in America, five years ago all new projects were in Java, now about half of them are done in .NET. I do think that .NET has gained a lot of popularity at the expense of Java but I don't think that we will be at 70% .NET in the near future (at least at my bank)

# Alain said on June 18, 2007 5:57 PM:

C++ used to be my first main language years back.  then I used Java for the last 7.5 years, when I moved to another big multinational company.

Lately I am seeing a lot of interest in our company in .Net, and I am learning and have started to use C# as it seems that this is what the company is moving towards.

Unlike so many other people, although I invested so many years in my career in java, I am not going to defend it tooth and nails.  I am open to learning any technology as long as it allows me to deliver scalable soutions efficiently and cost effectively.  

So far, the only thing I can find is that I don't have worry about so many frameworks and unnecessary complexity that I had to juggle with java.  .Net allows me to do everything I used to do  in java and actually faster because all the plumbing is already provided by Microsoft.  

My advice to anyone out there, is be open. don't just be defensive about the technology you currently use when it is being criticized by someone else. I know how it felt when I  had  to drop java and started from scratch in C#.  so much investment in my own sweat and time had to be thrown away.  anyway OO is OO and you can still reuse it in any OO language.  It's just the language that needs to be relearned.

Another thing that we must remember, it's business which drives technology not us. Business doesn't care about java  or .net or php,  as long as it can deliver that meets ALL their needs  fast and at the lowest cost.  

# joe said on July 12, 2007 8:20 PM:

Guy who works at Microsoft and salary depends on .NET predicts .NET will take over overnight - dream on - YAWN.

Both have there place in the market.  If .NET hasn't taken over by now after 5 years it isnt going to.

Leave a Comment

(required) 
(optional)
(required) 

  
Enter Code Here: Required

Search

This Blog

Syndication

Page view tracker