File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Why java ? ( or Why not .NET?) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Why java ? ( or Why not .NET?)" Watch "Why java ? ( or Why not .NET?)" New topic
Author

Why java ? ( or Why not .NET?)

K Sujit
Ranch Hand

Joined: Mar 23, 2005
Posts: 33
Dear Java gurus,
Can anyone tell me why java is beter than .NET. Consider that .NET also comes free of cost.

This is one of the questions mostly asked in Java interviews.

Hope this will start a great thread.
Tian Zhang
Greenhorn

Joined: Mar 23, 2005
Posts: 26
I am guessing that following may be the main reasons:

1. The .NET runtime may be free, but the IDE is not.
2. .NET is not "officially" cross platform across non-MS OSes.

Personally i prefer java to .NET as java seems to be more open (for example, in that java sdk is distrobuted with the source, i am unsure if this is the case with .NET).

I dont think "better" is the correct comparator as it means different meterics in different contexts.
Prashanth Lingala
Ranch Hand

Joined: Nov 13, 2004
Posts: 66
http://www.manageability.org/manageabilityWiki/WhyJavaIsBetterThanDotNet

A Myriad Reasons Giver here...Check the above link too...

Public Domain APIs - Any Java public apis are part of the public domain, .NET apis are proprietary and can open the door to a law suit.

Standard Library Source Code Availability - Java source code for the core libraries are available in every J2SDK distribution, .NET sources can only be seen by resorting to illegal means.

dotNet Purity Is A Myth - Java promotes 100% pure Java libraries, for .NET purity is nothing more than a myth.

75% Of Enterprise Software Development - Avoid becoming one of the 25% of "use-less" employees.

Preferred Platform for Implementing WebServices - Despite billions spent by Microsoft in marketing, surveys continue to reveal that Java is the preferred platform when it comes to Web Services.

Superior Platform for Web Development - ASP.NET is a poorly designed and crippled framework as compared to the richness of frameworks found in Java.

Write Stored Procedures using Java - Most relational databases support writing of stored procedures in the Java language. There has yet to be a production release of a database that supports any .NET languages.

An Abundance of Experienced Practitioners - Nobody seems to know how to write .NET programs well and that's giving .NET a bad name! A pretty lame excuse I must say!

Supportive Open Source Communities - Open Source communities that support distributed development are a plenty in the Java world.

Proven Security - 2 Years after Trust Worthy initiative is launched and we collectively lose $55 billion last year.

No Lizard Brain - .NET programmers continue to struggle with the complexities of a hybrid managed/unmanaged environment.

More Languages - The JVM is more "common" than the CLR.

Smaller Runtime Download - You can't run your app if you don't have the runtime.

No Mandatory Upgrade Fees - 3 things a Microsoft shop can't avoid: Death, Taxes and License 6.

More Vendor Choices - .Net is a marketing program. Java is a Market.

Industrial Strength Collection Classes - The .Net libraries look like they were designed by high-school students, First year CompSci? students at best.

FutureProof - The way to ensure your return on investment (i.e. ROI) is that your choice of platform doesn't get obsolete in 5 or even 10 years. Avoid the Microsoft upgrade treadmill!

Larger Talent Pool - Majority of Universities not only teach but require knowledge of Java. That's a big talent pool that you need to consider before you off-shore your project to a different time-zone.

More Contributions From Researchers - Research institutions and universities have consistently provided innovative research not only built on top of Java but also contributing to Java.

US Government Approved - Guess where the billions of dollars spent on the U.S. government's IT renovation is going to?

NoEvilTypeCoercion - Some C++ constructs are meant to be entombed forever, .NET resurrects them with disastrous consquences.

More Mature And Robust O/R Mapping - You can't beat the wealth of O/R mapping solutions found in Java.

Superior Coding Tools - Like having your own personal Java fairy dancing through your code, anticipating your every thought and keystroke.

Sane Coding Conventions - I don't know what's worse Hungarian notation or .NET coding conventions.

Higher Paying Jobs - Somehow you've got to afford those skyrocketing housing prices don't you?

Favored for Implementing P2P - Gnutella and JXTA, anything else legally more pervasive?

PureJavaRDMS - Can't beat the ease of installation when the RDMS is Java based and packaged with the application in a .zip file.

More Exception Handling Options - .NET has no analog to the throws clause in method signatures.

Better Structured Diagramming Frameworks - When going beyond forms and windows, Java can't be beat.

Reusable Open Source IDE Frameworks - Why re-invent the wheel? Start building your killer GUI application on top of killer IDE frameworks.

RobustParserGenerators - Want to build a new language, well you'll need some robust parser building tools.

AspectOrientedProgramming - The next advance in modular software development, get a head start by using Java.

PureJavaWebServers - Customizations and extensions are easier in a web container that's built using the same language as applications. Furthermore, managed environments support better reliability and security.

OpenSourceJavaCompilers - Your tools have got to be able to parse the code before it has any chance in understanding it.

Distributed Caching - Sometimes embarassingly parallel applications aren't the only things that you need to scale.

MultipleReliableMessagingChoices - Java provides more choices for the backbone that integrates the Enterprise.

Faster Development Turnaround - Incremental compilation is unavailable in the .NET environment.

Lightweight Persistence - Sometimes a relational database (RDMS) has too big a footprint.

Open Community Process - How does one contribute to the specification of standards?

Hardware Accelerators - Performance boosting hardware.

More Flexible Licensing Options - Ultimate flexibility in licensing.

EmbeddedDevices - Java inside small packages.

Faster Virtual Machines -
MickrokernelArchitectures
ContinuousBuild
WholeProgramOptimization - Please sir may I have a linker?

Comprehensive RDMS Driver Support - Can you find a ADO.NET driver for an open source database?

Superior Code Analysis Tools

NetworkingSupport - Why is MSN managed by a Java based tool?

More Garbage Collection Options

ReliabilityConcerns

Better Web Services Interoperability

Better Domain Specific Languages Support

Painless Upgradability

Simple Side By Side Execution

More Business Rules Engines

Lightweight Containers

Better Business Process Management

Sixty Four Bit Support

Millions Of Java Phones

Garbage Collect Classes - The only way to unload MSIL code is to unload an entire application domain.

More Alternative VM Implementations

Hard Realtime Capabilities

Cross Platform Language Integration

More Extensive XML Support

Better Support For Dynamic Distributed Systems

Superior 2D Drawing

Better GUI Framework - Why isn't VS.NET written in a .NET language?

SuperiorBranding

No Anti Open Source Agenda

Standardized Portal Frameworks - Standardized ""Integration at the glass"".

RunInIntepreterMode - ""We're just not optimized for interpreting""

More Semantic Web Research

Leads In Software Process Best Practices

Better Concurrency Utilities

More Multicasting Libraries

Superior Refactoring Tools

Higher Demand Therefore More Jobs

Faster And More Reliable Regex

SuperiorBuildEnvironments - A .NET practitioner's concept of a build is F7.

Embarassingly Rich Information Sources

More Open Source Projects

Affordable Industrial Grade IDEs

Standardized Enterprise Connectivity

DynamicLanguagesSupport

MorePDASupport - Why limit oneself to a single PDA brand?

OpenTechnologyRoadmap - .NET is like a five year plan in the former USSR: You know it doesn't actually make sense or help anything, but if you live under it, you're certainly not going to say anything negative about it.

EmergingStandardsSupport

JavaCard - JavaCards? are becomming the preferred method of keeping tabs on your citizenry or customers. If Microsoft ever co-opts this technology then "1984" will become more than just a paperback novel.

Complete Open Source Stack - Open Source code visibility spanning all layers of an application.

NonStopServers - .NET not fault-tolerant enough for Hewlett-Packard-Compaq?

Out Of This World - Java runs on other planets, .NET has yet to leave Terra Firma.

Better Unit Testing Support - More extensions and comprehensive IDE support

More Identity Management Solutions - Can you trust Microsoft to keeping your customer's identity secure and available?

Most UML Tools Implement In Java - Ever wonder why the best UML tools are implemented in Java?

More R&D On Intelligent Agents - Java is the preferred implementation platform for Intelligent Agents.

Easy Rich Client Deployment - No-Touch development was shaky.

Lower Cost for Massively Parallel Systems - How much does it cost to deploy a .NET application on a platform with 10,000 servers like google?

More Profilers - Profilers mitigate the risk of not finding the root cause of show stopping bugs.

Eclipse

Java Rocks!!!



Have A Nice Day !!!
Jeroen Wenting
Ranch Hand

Joined: Oct 12, 2000
Posts: 5093
hmm, noone ever asked me why one is better than the other overall. People with a grain of intelligence know there is no "better" in generic terms...
At best one technology may be better suited for some solution under certain conditions than another.

For example, when an ex colleague asked me for advise on how to go about implementing a J2EE project I told him he might consider .NET instead or a hybrid solution.
The reason was simple: the company that would be implementing the solution had the entire infrastructure and expertise to create and maintain .NET applications in place, yet had never yet worked with J2EE.


42
Joel McNary
Bartender

Joined: Aug 20, 2001
Posts: 1824

I agree with Jeroen. Java provides many benefits that .NET doesn't, but .NET provides some that Java doesn't. (Single-source vendor is both a benefit and a curse).

If your company uses IIS and SQL Server anyway, consider .NET. Personally, I use only Java, but my avoidence of .NET comes mostly from an irrational dislike of Microsoft...


Piscis Babelis est parvus, flavus, et hiridicus, et est probabiliter insolitissima raritas in toto mundo.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Why java ? ( or Why not .NET?)