Microsoft thinks .Net has beaten Java?

According to this article on eWeek, , Bob Muglia, Microsoft’s senior VP of Server and Tools business, believes that ‘Microsoft’s .Net platform has outpaced Java, particularly the Java Enterprise Edition, over the past five years to become the development platform of choice for enterprise development.’

I find this hard to believe and would like to see what figures he is basing this statement on. Java usage on large enterprise has never been stronger and is increasing all the time. I rarely hear any mention of any .Net projects, and only know of one or two people (actually, just two) who are actively working with .Net.

Do a simple search around for ‘Java’, or ‘C#’ and/or ‘.Net’ and see what sort of results you get. I guarantee you will find plenty more activity going on connected with Java than you will find .Net. Also, take a look on Monster.com or your job search engine of choice and see what jobs are currently out there. Again, way more Java than .Net.

Tiobe keep a track on the relative populatity of a whole list of programming languages on their site here. They also base their figures on searching the web to collect together figures for available engineers, courses and third party vendors. Their figures are currently showing Java in the top spot with 22% market share, and the closest .Net language, C#, down in 7th with only 3%. Quite how Microsoft gets to believe they have 60% share on enterprise application development is beyond me. This figure seems way out of line with common knowledge.

Understanding Object Identity and Equality in Java

Peter Becker has a very good article on java.net that explains the differences between Object Identity and Object Equality.

If you have worked extensively with ORM solutions in Java, like Hibernate, then you are most likely already very familiar with the differences between Object Identity and Object Equality, and the implications and possible problems you can run into if you do not implement correct equals methods. This article gives a very good overview of the concepts and why they are important.

Scripting on Java SE 6.0 (Mustang)

JSR223 adds support for scripting languages to run on the Java platform. Any script engine the complies with the 223 spec will be able to run on top of the Java VM.

Why is this important? Think of script as your ‘glue’ – sometimes you need to get component/system/class A to work with B – scripting is an ideal and quick way to integrate and tie together code. It’s also a great quick approach to prototyping apps quickly. By being able to run scripting languages on the Java VM platform, you get the benefits of a statically typed compiled language with the ease of use of a dynamically typed script language.

See this article for further info on JSR223, and check here for a list of 10+ script engines currently supported by JSR223.