Dear Friends, I would like to share an Interesting Post this Time.  I hope these type of events happens in every Microsoft Buddy's life.

Yeah! Encounter with Java Guys!!

image

Sometimes it is worser than dealing with a frustrated customer.. :)

Let me come to the matter..

I were given a Team of Java Guys to Talk about the Advantages of SharePoint & Possibly replacing their Document Management System with it.  There were a team of 3 people and me answering their questions.

The senior looking guy, who seems to be like a Manager, shooted this question.

How do you think SharePoint could address the Document Management scenario compared with XYZ solution?

My Reply:  SharePoint supports various Document Management Features like:

  1. I went ahead with a PowerPoint slide presentation & my blogs.

Seems like Mr. Manager not too impressed with my 15 minutes explanations.

He asked me: Can we do custom programming in SharePoint?

I replied: Oh! Yes.. We can do custom programming using .Net

The word .Net created some situation change!

“Oh! We are not interested in .Net.. It is COPIED from JAVA”  He replied.

I wondered a while..

  1. Is this a point worth discussing in this meeting?
  2. Is he some kind of person who creates all things before using it?

(i asked in my mind)

He added..

  • Microsoft is not a technology provider, but a copy provider
  • They stolen Java and made C#
  • They stolen Interpretation and made .Net Runtime
  • Java is mightier & popular than C#
  • Microsoft do not have much technologies with them
  • Whatever they have are not FREE

His Frustration continued.. & It was spiked whenever he sees my MVP Logo on my laptop!

So i just tilted my laptop – hiding the logo, for cooling him off! :)

Taking a Step Back

I kept silent for a while..  My past experiences says that people will continue to argue the same point, unless there is correction of root cause & ample time to think on it. The more we address their EGO, the problem will be more WORSER.

I assumed that their Company wanted this Java Team to work in SharePoint and they are not happier to move out from Java.  But the frustration is being poured on this meeting.

So i thought of solving this in a Diplomatic way!

After thinking a few minutes, I declared like this:

Friends.. I appreciate your skills in Java & I like Java.  It is a beautiful language, with lots & lot of quality features.  It was a trend setter for the birth of modern programming languages.  Let me address your questions through my answers here:

Java too is Copied!

I did not personally like the way you called Microsoft as a Copy Cat.  Even Java too was copied..

Java cannot even claim its own Syntax!

  1. Java copied syntax from C language
  2. Java copied OOPS constructs from C++ language

SO JAVA TOO IS COPIED!

Microsoft was loosing its programming language market due to Java & then they devised .Net.  Microsoft hired the best architect in the world Anders Hejlsberg from Borland for the new platform and Bill Gates was directly involved in the leadership.  So it is not just a copying.  It is enhancing.. It is Innovation!

Interpretation is not a private property of Java

The concept of Interpretation was already there in Microsoft Platform.. It is Visual Basic.  The VBVM  aka Visual Basic Virtual Machine have the Interpretation concept incorporated and was providing faster application runtimes.

So should I say that Java Interpreter concept copied from Visual Basic?

The team went to silent mode.. I enjoyed it. (Violence to Silence)

image

Again, the Interpretation concept was there in Python language & our old computer science text books too.. So we cannot say anybody copied it.  But everybody implemented it in the best of their ability for addressing customer problems.

Talking about Platform Independence, Java cannot attain Perfect Platform Independence.  The same source code won't work in different systems like desktop, mobile, different operating system because the underlying presentation sub system, file system, event mechanisms are different.  Till now thisplatform independence is achieved mostly by web application through HTTP & HTML adding power through client side scripts too.  So Java cannot claim full platform independence as we have to change the code based on platforms.  So i do not wanted to present .Net Mono for Linux against Java!

C# is better than Java

Regarding the quality aspects I would say C# is better than Java.. C# language 4.5 compared with Java 1.7 has following advantages:

  1. Lambda Expressions
  2. LINQ
  3. Delegates
  4. IDE Integrated Entity Framework

Additionally, all those things in Java are there in .Net too:

  1. Annotations as Attributes
  2. Reflection as Reflection
  3. Generics as Generics
  4. java.util as System.Collections
  5. JVM as .Net Runtime
  6. JUnit as NUnit, Visual Studio Unit Tests
  7. Hibernate as NHibernate, Entity Framework
  8. JSP as ASP.NET
  9. J2ME as Windows Phone
  10. Mobile, SWT/Applet as WinForms/WPF

Plus more than 18 languages supported in .Net

Friends, I am telling these as I have worked in Java for a short span of time..  I am assuring you that .Net is better than Java, but as a Java Programmer you need some time in learning the ropes – but first you have to LOVE .Net Platform.

Microsoft have lot of Technologies at Affordable Prices

I was wondering whether he is an ignorant to Microsoft Technologies while saying “Microsoft do not have much technologies”

I replied: Do you know that Microsoft is one of the top 3 technology providers with varieties like:

  1. Desktop Operating Systems
  2. Tablets & Mobile
  3. Office suite like Word, Excel etc.
  4. Programming Platforms like .Net
  5. Languages – C#, VB.NET
  6. Database as SQL Server & Access
  7. Server side like SharePoint, BizTalk, Exchange etc.
  8. Publishing with Visio, PowerPoint etc.
  9. Gaming arena with XBOX
  10. Bing Search Engine, Outlook, Azure etc.

Seems like there is no reply, but only WONDERMENT on the array of technologies..

image

But he defended this time by saying.. “Why they are not Free?  Who will purchase them?”

This is a serious question and as I faced the same years back, I had thought about the answer.

Popularity

It is true that Java is more popular than C#, more developers are using it.. But it does not mean that it is the Mightier one!

There are only few BMWs on the road, do that means others are mightier?

If it was Free, then it won't exist

I replied, My dear friend, I wanted you to make an unbiased look on the following:

Java is free, but for core consultation there is a price by the company

Java is free, but you developers are not free..

Tell me one thing.. Are you ready to work for FREE?  No.. Right? (you cannot pay your rent, utility bills if you work for free)

Talking from a Business Evaluator perspective, A mere Free Java is of no use.  For creating applications, A business has to add computers, internet, hire developers, rent work space  spend on development time, spend on maintenance costs.  So the tool like Java / .Net is only a portion of the money in right cases a paid tool will be more effective in the long run in reducing costs & increasing quality. The effect will vary based on larger projects.

Additionally Java Developers are of higher cost than .Net guys.  So in specific scenarios where Java Developer Rates are High, Java Development Costs are high, Java Resources are Rare, it adds higher costs to development using Java.  So .Net would be a better choice in this case.

image

IF EVERYTHING IS FREE, THEN THERE IS ALMOST ZERO INNOVATIONS, ZERO ENTERTAINMENTS, ONLY GRASS & ROCK & TREES AND WE ARE LIKE MONKEYS!

Your company might save cost in choosing Java as the IDE & Language are free.. But they spend money in hiring developers & more money in developing efforts.  So in the long run .Net is better than Java.. This is the reason why .Net is selling even though it is not Free!

I gently questioned him: So why you are blaming others for not selling their things for free?

It is the company strategy, to sell something for money or for free.

You can see that things were free and now Sun was acquired by Oracle.  In the stock market terms, a company is ready to be sold only if they loose confidence in future profits.. So your Java & Sun was sold to Oracle..  They lost the competition.  Now why you are fighting for Java.. Come on.. Forget the Past.. Welcome the future with SharePoint..

THE CLIMAX

Seems like the Mr. Manager is silent now.. no questions, no answers..

I thought of ending the session in that positive note.. meantime one of his team member RISED FROM THE GRAVE and SAID:

“PHP is better than .Net. PHP is light, it is fast, it is free.. What do you wanted to say about that?”

I was Shocked!  I remembered a proverb suddenly, Escaped from a KING COBRA and bitten by a LIZARD.

                     

(I just vanished from the scene :) )

Disclaimer

I wanted to say that this is not any Personal Vengeance against Java.  But just an unbiased, 500 feet view of both the technologies.  I feel all technologies are good based on the solution & availability of resources.   But Still I recommend Microsoft Technologies as it is Cool, Affordable, Profitable in Long Run :)