Best Language for Writing App

Posted on 2004-11-25
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#/, 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
    LVL 3

    Accepted Solution


    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.
    LVL 3

    Expert Comment

     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.
    LVL 2

    Expert Comment

    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

    LVL 1

    Expert Comment

    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

    Author Comment

    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.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    This article is filled with multiple code samples and explanations for mathematical calculations. They are as follows: 1. General tips 2. Quadratic formula 3. Object collision 4. Projectile path General Tips       Here are some of my tips f…
    Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
    An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
    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 …

    779 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now