[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now


Best Language for Writing App

Posted on 2004-11-25
Medium Priority
Last Modified: 2010-04-17
I am currently torn in between choosing a-most-suitable language for writing an application. Actually, the app is a School Information/Management System for Seconday school (ie High school in American Parlance) and tertiary institutions. The delimma here is whether to use C#/ASP.net, Java/JSP,  or delphi. Also I would like some advice on whether to make it a complete browser-based application or a normal desktop application. The architecture both ways will be 3-tier and a database will play back-end. Hence it will be multi-user. So what do you think?
Question by:mowerd

Accepted Solution

vippx earned 300 total points
ID: 12679557

You have entered a never ending debate zone by trying to choose between C#/ASP .NET and Java/JSP. Delphi does fall a bit behind in the race, but java and .NET are high performance competing platforms. So the choice is finally upto you. For me, considering limited training expenditure and gradual learning curve makes me lean towards .NET. Also from what i understand of your project, this can be assumed to be a small to medium scale entire application, which does not require the rich, flexible and extensible functionalities provided by Java. Again, one thing that, in my opinion, the java commuity has focussed less on visual designers and wizards, which can ease up development requirements allowing developers of moderate skill to rapidly deploy applications.

(Although possible, Delhpi is not a preferred language/platform for web development)

The final consideration here is the cost factor, java applications can be developed with virtually no expenditure and deployment costs ( including web applications) are bare minimum. For microsoft technologies, if you plan to use the feature rich options, you need to license the Visual Studio .NET IDE and also deployment costs for IIS servers have to be considered.

Again Java is truly platform independent and even for a web application, it has no specific hosting requirements. .NET  requires IIS, although products are being developed and released to offer compatibility with other web servers. But since you are developing a small enterprise application, platform migration is not a serious issue.i assume.

As for Web vs Desktop clients, Web is the new keyword, and powered by XML based web services, you can develop truly 3 tier applications with minimum effort. Also Client deployment is not and issue and information is accessible anywhere. The catch is the feature limited UI offered by the web. But if you are developing application on 3 tier architecture, this would just be a matter of presentation layer and so can be replaced by a windows desktop application, which uses a web service. This change would not have impact on your business logic or back end (assuming that it is designed correctly).

In a nutshell, and in *my* opinion, the quickest answer is... C#/ASP .NET with web interface.

Expert Comment

ID: 12682022
 the size of the entireprice is not a big problem. The flexibility and portability of your product is a case.
 java & jsp is the best plotfor for your requirement.
  it gives you rich flexibility, available guidance through out the net, lot and lot to tools to easy your design and lot more are there in this cyber world for java. you no need to spend much for those,[many of them are open source :))], compareed to M$ technologies. event though M$ is a major player in cyber world, Java technology can not be compromized to any other.
 As you need good multiuser support, Java will give you good performance.
 If you want HIGHLY ROBUST application, my suggestion is only C, C++. But it will hurt you like anything or debugging.

 So, my suggestion is Java & JSP.

all the best.

Expert Comment

ID: 12683540
I only recomend a c, c++ BUT it is a never-ending-story as vippx mentioned above :)
I'm on the c, c++ becouse microsoft made available for FREE (sic) download optimizing compiler for those :)
It is most flexible language i've ever seen. well written application is quite portable too. With well writen I mean the rule wocm (write-once-compile-many)

and once again never-ending-story, everyone likes his language


Expert Comment

ID: 12690164
For ease of maintainance i would recommend going for the ASP.NET/C#. Java/JSP technologies. Looking at the type of the project i dont really think there is any better for the job as it does not seem to require the advanced features of either language. I guess it is really up to you to decide which you are most familiar with. I would also check what hardware you are running it on. Java will run on both windows and unix/linux servers, although .NET will, its unix support is not too good. If you are using windows i recommend .NET as it will allow you to create word documents easily for example -- for a future feature you may wish to add.

check this out for performance http://www.gotdotnet.com/team/compare/nileperf.aspx

ass for the application, i would recommend keeping it web based, just so you dont have to mess with installers when new computers arrive and it can be accessed from anywhere [that you specify anyway].

hope this helps

Author Comment

ID: 12694041
Thanx for the inputs on the subject. You all have given good and worthwhile advice on this issue. However one major concern of mine, is platform independence and interoperability with other platforms. I have rummaged the web searching for information regarding .NET support for linux/*nix OS(es) and have found such projects as mono and gnudotnet etc. Weighing the pros and cons of adopting either asp.net/c# or java/jsp, i think i would stick to asp.net/c# for the purpose of this project. This i opt for because of the feature-rich nature of the VS.net compiler(never mind the licence) and the ease with which to build enterprise-level web-based application (for one, the strategy microsoft implemented for doing web-programming proves quite easy to learn and master: leveraging OOP skills for writing webcontrol event-handlers, also a good function partition mechinism, skillfully seperating the presentation logic (HTML), business logic(C#-code behind file technique) and the data access layer/DB.)
As per deployment on linux boxes, I would employ mono project's CLR and c# compiler if need be. Inferences from www.go-mono.com state that the framework is ready with full ASP.net and ADO.net compatibility, both of which will be crucial to coding the application. Hence i can build on windows and deploy on linux with apache web-server.

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Screencast - Getting to Know the Pipeline

873 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