.NET versus Java - A Philosophical interlude
By Angsuman Chakraborty, Gaea News NetworkFriday, February 13, 2004
To day while going through javablogs, I came across an interesting article on .NET side of story from an ex-java (?) junkie - I miss Java already.. :: https://www.vibhu.info :: Be different...
It reminded me of some long discussions I had on the merits & demerits of .Net and java with my ex-boss and friend, who till very recently worked at Seattle in a big pharma.
Being in Seattle he found that almost all of his team were adept at working in Java. He also found that they could churn applications fairly quickly. He started thinking that maybe .NET is the next thing, and specially with Microsoft behind them….
Around 3 years back, maybe more, a Marwari (originally from Marwar district) business man in Kolkata (then Calcutta) claimed to me emphatically that .NET will be the way to go as Microsoft always gets it right in the third version!
When talking with my friend, I remembered why Microsoft products were bad in the first place including the (in)famous VB. They are easy to use at first (low learning curve), yet with a complex enterprise class software they almost always comes back to bite you badly.
Scalability, reusability, maintainability are always the key challenges. At that time I did an analysis of the .NET platform and I realized that .NET didn’t bring anything to the table that changes the paradigm, there was nothing that I could not live without. However on the other hand it didn’t come with a lot of features I expect from a mature system like Java. Yes sir, Java as it is today is pretty mature.
And being a Microsoft platform, given their reputation, we can always expect decent amount of bugs in areas which hit most. Personally I am not a big fan of tying native code in C# to get my work done.
Having said that, we came to a point when my friend hinted that I may be getting a bit biased towards Java, having worked in it for so long. That really hurt! Being a technologist I always consciously try to provide my customers the best solution for a problem. And that means whatever technology or platform works best for them. Java is not my religion, Sanatan Dharma is. However as I respect this guy and to give him the benefit of doubt I decided to try to .NET project. Trust me, that was the worst mistake I have made in probably 10 years! It was a disaster from start. Installation was a pain, followed closely by testing pains, weird behaviors based on requesting machines….
Then I talked again to my friend the other day (I didn’t mention my experience) and he mentioned that he has revised his opinion and feels it in his gut that .NET is heading towards a failure observing closely his projects and from his network.
Today you may be able to entice a newbie to .NET and wow him, but I think for a Java veteran it will be an insult to his intelligence.
On a different front, I have been so long out of the clutches of a monopoly, I don’t want to get into that trap again.
Somehow my gut feeling is that M$ is on its way down, the OSS movement & linux have gained a momentum on its own that’s hard to beat. OS is destined to become a free or very cheap commodity, failing to provide much monopolistic leverage for the producer. With that gone, its only a matter of time.
In response to the comments I would direct you for an interesting post by fellow ryzer Carsten Kuchuk - https://www.ryze.com/postdisplay.php?messageid=86957&confid=311
To quote from it:
I work as a software developer for an ISV in Germany. As such, I have to keep an eye on
Java, .NET, web services and all these new fads. I also maintain a few web sites for
myself and some friends as a hobby, and I also have a lot of friends and aquaintences
who work as software developers, architects, consultants, salesmen, etc. Here’s my take
on it:Technically: As you’ve already said, .NET is just a copy of Java. As it was created later,
they learned a bit from the mistakes in Java and made some improvements, like
versioning, meta-data, compiler-backend starting at abstract syntax trees as part of the
framework, etc.Mindshare: All of my friends and myself have taken classes, read books, and conducted
some programming in order to educate ourselves. (Risk-management). Bottom line:
Java is the original, .NET is a copy, the difficulty is to learn each set of libraries.Installation base: If you have access to web server logs, you can take a look at the
“User-Agent:” field for each access. If the .NET framework is installed on the end-user’s
system, then this field contains a short string identifying this fact and the framework
build number. Every couple of months I run a statistics over my log files, and it turns out
that only 2-3% of the visitors of my web site have .NET installed. This percentage has
stayed constant over the past year or so. As my web site only contains technical notes,
I’d expect that I attract mainly programmers. I’d expect that the adoption rate among
real end-users is less than that.Business Interest: So far, neither me or any of my friends, the sales people included,
have seen anybody working on .NET software. No consultant jobs, no .NET software
installed, no .NET software being written, just plain old nothing. My consultant friends
nowadays mainly work on Java, C++ and PHP projects. A few months ago I had the
opportunity to ask a German “Microsoft Regional Director” (other word for Evangelist) if
Microsoft is shipping any software running on the CLR. His reply was “No”. I asked him
if he is aware of any development efforts inside Microsoft for CLR-based applications, in
other words: Are they porting Word or Visual Studio to .NET. Again, his reply was “no”.
I am interested to know your thoughts on this.
No anonymous postings please.
April 21, 2005: 5:17 am
@Ravi I don’t even know where to begin. have you ever worked with Eclipse or better yet IntelliJ IDEA? We can make enterprise applications in days, some even in hours. .NET by all counts needs to go miles before standing any comparison. Just don’t get me started on this Check IDEA and let me know how it feels and then we can talk. |
Ravi |
April 20, 2005: 6:01 pm
what about RAD.(Rapid application development) |
February 13, 2004: 4:04 pm
Not bad. I tend to try and allow .NET to have its mindshare with those that believe it to be good. I have no doubt in my mind that development wise, its good to code in. But as many MANY have said (more and more these days), it is hard to not worry about scalability, viruses attacking the software, bugs, and “hype” that MS tends to unleash long before a solid product is actually ready from them (this includes many versions to get it right). C# is pretty slick, I’ll say that. I haven’t programmed in it, but checked out various parts of it. It looks very similar to Java in many ways, so on that I say Bad for MS for copying Java, perhaps making it a better language in many respects but for NOT working out the differences with Sun and working with Sun to make a better Java. It’s a damn shame MS is so bull headed to think their OS is going to stand up to all the movement to linux, all the server movement to J2EE, and worse, all the bugs, viruses and problems their own software continues to have. Yet, when all is said and done, MS is still making a ton of money! I do agree though, that within the next 5 years we’ll start seeing a shift in profitability for MS. Unless they buy up more profitable companies, I would agree that their OS and office products are not going to be profitable much longer. And for once, this year I believe the Eclipse platform will provide a comparable development tool for Java developers. If they would add in a free jsp/servlet/Jface plugin to quickly develop/debug web pages and such, I think it would be pretty complete. JBoss plugin is free and does pretty well, and the 3.0 (M7 just released) is frigging amazing and yet its 4 months away from a final release. The Eclipse RCP is adding flare to quickly developing client side java apps, and hopefully my own plugin engine and UI framework will add more flare for the Swing developers within a few months. With Java so large on the small device/wireless side, I see things only getting better. Soon after the dot.gone bust, Java was not looking too bright. But now, it has amazingly come back and stronger than ever, 2nd only to C++ developers in terms of preferred language to be hired for. C# and the likes aren’t even close. JDK 1.5 is releasing some much needed enhancements in many areas! I wish the JDK/JRE would remove all that corba junk though! I have walked/talked with over 1000 developers and not one uses it, and it eats up a LOT of space in terms of JRE download size for something so barely used. Make it a javax jar file for those that need it and get it out of the core JRE!. |
February 13, 2004: 9:00 am
I’d really be interested in some detail on why your friend feels .NET is headed towards failure. I’m totally a Java guy (living in Seattle, under the shadow of Microsoft) and would like to know more about the pros and cons of .NET. I just started another java project, so it doesn’t look like I’ll get into .NET any time soon, so, for now, I need to rely on other people’s opinions (which might not the smartest thing in the world, but I’ve no choice in the matter). |
angsuman