Best Language for Writing App

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#/, 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?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.


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.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
 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.
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

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

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
mowerdAuthor Commented:
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 or java/jsp, i think i would stick to for the purpose of this project. This i opt for because of the feature-rich nature of the 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 state that the framework is ready with full and 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.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.

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.