Why to choose ASP.NET over JAVA?

Posted on 2004-09-18
Medium Priority
Last Modified: 2013-11-25
Hi all,

I have to development web application like a survey, which consists of Question Designer, Validations, Data Collection and Reports. I am confused from seeing a lot articles from various web sites. Which one is the right tool to develop the Application.

I have decided to use SQL SERVER as the backend. I have to decide the FRONTEND.

I need the Comparision of ASP.NET and JAVA Family for the various factors like

Supported Operating Systems, Supported Browsers, Technology, Security, Data Encryption, Scallability, Protabliity, PDA compatiblity, etc.,

I need it very urgently and your replies will make me to come out of my problem.

Thanks in advance.

Question by:devan_alagar
LVL 18

Accepted Solution

DotNetLover_Baan earned 400 total points
ID: 12090776

Assisted Solution

Kaarthick earned 400 total points
ID: 12090805
In my opinion since you have decided to use SQL Serve as the database then it is advicable to use .NET for your application because of the relationship between those will be of greater extent.

Almost all the features in Java is also present in .NET but in a different form.  Like in Java you will be using packages and in .NET it is something of the form Namespaces.

Security wise .NET is preferrable because your Java code can be decompiled using Java Debugger. But it is not possible in .NET as you will have a  DLL file.


Assisted Solution

by:Volkan Vardar
Volkan Vardar earned 400 total points
ID: 12091084
advantages of .NET
1. Easy to use. Easy to learn. Drag & Drop like designing, coding.
2. Faster to work. Faster to connect to SQL Server with the help of ADO.NET.
3. Much more components, controls or sample code to find. Easy to find help.

advantages of JAVA
1. Platfrom-Free run. You can run it on unix.
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.


Assisted Solution

vigrid earned 400 total points
ID: 12091108
Supported OS:
Java - almost all of the platforms have their Java VM
.NET - you have Microsoft .NET (for Windows), Shared Source CLI (source code to .NET released for free by MS, for any platform), Mono .NET (Novell project, not supported in any way by MS, opensource).

Supported Browsers:
Java - any that you will code for
.NET - above, with support to render different HTML for different browsers, many PDA browsers supported and their specification is fully customizable almost on atomic level (will the browser support cookies, or color, or what is the preferred image format, for an example)

I don't get this point ;). Both are different technologies, but if you know one, you can easily migrate to another, because their base classes that you use are very similar. But please look below.

Depends on your code and your server. Both have similar abilities, with Java having a bit broader and tested support in the server area.

Both scallable and designed to be scallable.

Java wins here. It's an older technology and more widely accepted and tested than the .NET. Both use some form of intermediate language (assembly-like, but platform independent). For Java it's called bytecode, for .NET it's MSIL (another acronym: Microsoft Intermediate Language). It means that you can compile your code on any platform and it should run on any other platform, provided that the executing platform has Java/.NET virtual machine (Common Language Runtime in .NET).

PDA Compatibility:
I told before - customizable support in .NET, I'm not sure about Java, though in this point. If you need to program a PDA application not targetted for PDA browsers, you can do it with both frameworks. There is a .NET Compact Framework especially for PDA'a, which is a sub-part of .NET Framework, which will allow you to write applications that use network, GUI, databases, and so.

You forgot about two iimportant factors:

Community Support:
Java - HUGE!
.NET - BIG and growing. But you have me to help you out on EE ;)

Languages supported:
Java - only Java
.NET - numerous. There are many compilers that support .NET platform. You can code using C++ .NET, C# (C-Sharp), Visual Basic .NET, J# (MS Java-like language), Python, Eiffel, Fortran, ADA, Cobol... Many, MANY more. Really, many universities prepare their own compilers targetted for the .NET platform for their own needs.

Personally I prefer .NET. I found it very easy to start with (I had experience in C++). I prefer to use the C# language, which joins possibilities of C++ and simplicity (most call it "simplicity", I called it "code obfuscation") of Visual Basic. Basically, your C# code will look almost the same as C++ code doing the same thing. If you have experience in any of the languages supporting .NET, I would start with .NET. If you need a lot of ready stuff to use, I would start with Java. If you think about starting programming, having no knowledge about it - start with .NET.

My personal thoughts, HTH

Assisted Solution

ronan_40060 earned 400 total points
ID: 12091425
I would go for ASP.NET coz of the following reasons
NET is basically a set of technologies,  .NET includes a set of libraries and concepts.
What do you need  .NET and the command line compiler for free from MS, and the most important  Visual Studio .NET - this is a development tool and compiler etc
Also Webmatrix would do the job for you .
J2EE can do all things that a .NET can do for you , when choosing the platform its the way how things are done and with what ease its all matters in .NET UI capabilities are better than swing in (my opinion) web services are easy and component development model is more preferable to java beans (my opinion).
ASP.NET makes use of compilable programming languages, such as Visual Basic.Net, C#, even COBOL!  to write Web Applications. The applications are compiled on the server, and pages are served in HTML for the specific browser that has issued the request

Some of the major advantages of ASP.NET are following.

1. .NET Compatible

.NET compatibility feature of ASP.NET provides applications to use the features provides by .NET. Some of these features are multi-language support, compiled code, automatic memory management, and .NET base class library.

You have choice to select a programming language. You can write Web applications using any .NET supported language, including C#, VB.NET, JScript.NET and VBScript.NET.

All ASP.NET code is compiled, rather than interpreted, which allows early binding, strong typing, and just-in-time (JIT) compilation to native code, automatic memory management, and caching.

The .NET base class library (BCL) porvides hundreds of useful classes. This library can be accessed from any .NET supported language.  

2. Web Forms and Rapid Development

Web Forms allows you to build rapid Web GUI applications. Web Forms provides you web pages and server side controls. You can use web forms and server side controls in VS.NET similar to you write Windows applications. VS.NET provides Windows application similar drag and drop features, which allows you to drag server side controls on a page and set conrol properties and write event handers by using wizard property page. The VS.NET framework writes code for you under the hood and your application is ready in no time. In most of the cases, you don’t even need to know what wizards write for you under the hood.

3. Native XML Support and XML Web Services

XML is a vital part of entire .NET framework. .NET uses XML to store and transfer data among applications. The .NET base class library provides high-level programming model classes, which can be used to work with XML.

An XML Web service provides the means to access server functionality remotely. Web services use SOAP (Simple Object Access Protocol) to provide access to clients.Web services can be used to build different layers of distributed applications and you can use different layers remotely.

4. Databases and ADO.NET

ADO.NET is a new version of ADO (ActiveX Data Objects). Event though ADO.NET sounds like ADO, but it is a complete redesigned database access technology. ADO.NET allows you to access different kinds of databases using only one programming model. You must be familiar with DAO, ADO, ODBC, RDO and other database access technologies previous to ADO.NET. Each of these technologies had its owns pros and cons. ADO.NET combines features of all of these technogies and provides a single higher level programming model and hides all details for you. It makes your job much simpler and provides a way to write rapid development. See ADO.NET section of C# Corner for ADO.NET source code samples and tutorials.

5. Graphics and GDI+

GDI+ is an imporved version of GDI (Graphics Device Interface) to write Windows and Web graphics applications. The .NET base class library provides GDI classes to write graphics applications. Using these classes not only you can write Windows applications, but you can also write Web graphics applications. See GDI+ section of C# Corner for sample applications and tutorials of GDI+.

6. Caching and State Management

One of the most important factors in building high-performance, scalable Web applications is the ability to store items, whether data objects, pages, or parts of a page, in memory the initial time they are requested. You can store these objects on the server or on the client machine. Storing data on a server or a client is called caching.

ASP.NET provides two types of caching – page caching and request caching. You use request caching to improve code efficiency and to share common data across the pages and you use use page caching to provide fast access to the Web applications from clients.

ASP.NET provides easy-to-use applicationp-state and session-state management, which allows managing states of Web applications. ASP.NET also provides cookieless state management means you don’t need to use cookiest to for state storage.
Faster web applications

Two aspects of ASP.Net make it fast -- compiled code and caching. In the past, the code was interpreted into "machine language" when your website visitor viewed your page. Now, with ASP.Net the code is compiled into "machine language" before your visitor ever comes to your site.

Caching is the storage of information that will be reused in a memory location for faster access in the future. ASP.Net allows programmers to set up pages or areas of pages that are commonly reused to be cached for a set period of time to improve the performance of web applications. In addition, ASP.Net allows the caching of data from a database so your website isn't slowed down by frequent visits to a database when the data doesn't change very often.

ASP.Net was tested and found to be over 10 times faster for the average user than Java's J2EE technology. While there have been some debates about the methods of the testing it is interesting to note that this has been validated by 3rd parties.

7. Enhanced Security

ASP.NET provide you to authenticate and authorize users for your applications. You can easily remove, add to, or replace these schemes, depending upon the needs of your application.

8. Moblie Device Development

New addition to ASP.NET, Mobile SDK allows you to write Web application that run on Wireless Application Protocol (WAP) and Wireless Markup Language (WML) and HDML compliant devices. You can download Mobile SDK from from the following link: Here are many source code samples and tutorials on how to develop Mobile applications using Mobile .NET.

9. Messaging and Directory Services

ASP.NET uses the Messaging services class library, which is a high-level programming wrapper for MSMQ messaging services.

The .NET base class library also contains class wrappers for Acrive Directory that enables you to access Active Directory Services Interface (ADSI), Leightweight Directory Access Protocol (LDAP), and other directory services through ASP.NET applications.

10. Migration from ASP to ASP.NET

Even though ASP.NET syntaxes are similar to ASP, but ASP.NET is a new designed model and more object oriented. ASP pages won’t work without modifying it. The only advantages ASP developers will have is familiar code syntaxes.  

Expert Comment

ID: 12091512
ronan, you could give a shorthand version of your answer ;)


Expert Comment

ID: 12293779
Please split up the points accoringly
Everyone did best to answer the question

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

For a while now I'v been searching for a circular progress control, much like the one you get when first starting your Silverlight application. I found a couple that were written in WPF and there were a few written in Silverlight, but all appeared o…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Watch the video to know the simple way to remove or recover or reset lost or forgotten passwords of Outlook PST file. With Kernel Outlook Password Recovery tool such operation is very easy to perform. It is a freeware with limitation to use with 500…

568 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question