which language to choose?

Posted on 2006-03-29
Last Modified: 2010-04-06
I want to have a web-based office type program developed.  It would include basic word processing, calendar, to-do, database, etc.  I would like to have someone who can tell me what language would be best for my project.  Yes, I know the project can be done in any language but I want the one that is best suited for my purposes.  Seems like everyone has their preference and try to push that on me.  Simply put I want a consultant that is well versed in several languages (at least more than one) and can give me the pros and cons of each language in relation to my project.  I want to decide not have my choice made for me.  Is that to much to hope for?
Question by:SSLC
    LVL 11

    Expert Comment

    It depends on the clients needs, available resources, and budget.

    PHP is great because it is multi platform and has great support for MySQL. MySQL is free and quite capable of doing the job.

    ASP and SQL Server (or MSDE) is another option if your client has a primarily MicroSoft environnment. Furthermore, you would have the ability to manipulate MS Office, Exchange, and other MS products directly from ASP.

    If you can tell us more about the client, resources, and budget, it will be easier to answer the question.

    LVL 11

    Expert Comment

    To develop a web-based office type application, you need something that will be much more intractive than a standard web-page (HTML) based application. There are several ways this can be done, but the most popular at this point in time is AJAX.

    AJAX is a combination of JavaScript and XML (AJAX = Asynchronous JavaScript and XML). An example of this type of application can be found at

    My problem with AJAX is that it is sort of a kludge and it's difficult to develop in. My personal choice would be to do the application in Java using applets to provide the interactivity needed.


    Author Comment

    The above comments are missing the point.  I am not asking which language to use.  I am asking if I am expecting to much to want a consultant that can and will evaluate my project with an open mind as to which language to use.  So far it seems that a person's choice of language depends on whether they prefer .net or PHP, not whether it is the best choice for my project.
    LVL 10

    Expert Comment

    IMHO, consultants are just like the rest of us with expertise in a few, but not all, applications and languages.  You're likely to get a recommendation for whatever the consultant knows best.
    LVL 11

    Accepted Solution

    For any given project there are probably a dozens of choices of language, toolset, platform, etc.

    The "best" choice for your project depends on many factors.:
    For example
    1)  How much do you want to spend on software and hardware?
         This will have an impact on what the platform and software development choices are.

    2) Where do you see your application in a year or two?
       This will have an impact on how much time should be spend on design for reuse. If it's a one-time throw away project then you probably don't care about reuse. However, if your project is the seed of a much larger overall project, you should probably spend more time thinking about how the software can be expanded down the road.

    3) Do you want to do the work yourself or do you want a turnkey application delivered? If you want to do the work yourself then you will need to learn the language/tools. Depending on how much experience you have is a huge factor in what language/platform you choose. For example, if you've never programmed before, forget C++.

    >>You're likely to get a recommendation for whatever the consultant knows best.
    If you know what you want, you can narrow this down and find consultants that can work within the constraints you place on them. I've been in consulting for better than 25 years and I rarely get to choose the platform or language. I just try to be competent in all the current technologies so I can remain marketable. If you want to pay me to write VB code it's cool with me. If you want me to do it in assembler thats ok too. However, if you tell me you want me to choose the best language/tools, of course that's exactly what I'll do - give you my preference. There is a reason why a certain language/tool would be my preference - because IMO it would be the best.

    LVL 24

    Expert Comment

    There are too many languages out there and tons of different approaches to Web programming. But it seems one approach is taken in every "successfull" approach.

    The MVC pattern.

    Exception to this rule are PHP based solutions. There the things often are
    put together with not clear separation of concern.

    This is due to a  few facts.
    - PHP was supposed to be added to HTML pages there for the temptation is large to
    let slip in Model or controlelr logic onto pages

    - JSP pages suffer often under similiar lacking separation of concerns. I suggest you check out 'bitter java' to get an idea about this problem.

    However there do exist quite  few frameworks which encourage the MVC pattern.
    Here a non exhaustive list:

    - Seaside (Smalltalk)
    - Wdialog (Ocaml)
    - UCW (Common Lisp)
       also TBNL, KPAX, BKNR, Webactions
    - Webobjects (java, Objective-C)
    - Scheme (check out the DrScheme pages)
    - Ruby on Rails
    - Openacs (is a complete tool-chain of things)
    - Struts (Java)

    I have a dislike for either JSP, ASP solutions, there  the tools generate tons of boiler-plate code, and you must see how to integrate your code into it.

    One thing they forgot is simplicity. It's easy to pile up one code line after the other, but is it understandable? Is it needed to send 100 KB of XML code to display one
    "Hello World"?

    I'd argue that OpenACS comes close to what you like to have. So why not giving it a try?


    LVL 1

    Expert Comment

    If it were me I would go with the LAMP (Linux, Apache, MySql, PHP) stack implementaion for these reasons:

    1. Cost benifet.
    --- This whole stack is free and typically cheaper to host than lets say an asp/ SQLserver implementaion (which I might add is not free like mysql)

    2. Support and Documentation
    --- Reference for php through is absolutly the best and easiest to use documentaion for any language (web or not) that I have used.
    --- all you need is (the linux documentaion project) which also has great info on apache

    3. Language strength
    --- Especially with the new releases of PHP5 and MySql5, there are more built in functions shipped wtih the release, than asp or other web development languages I have worked with..(VBscript, .net, PERl, ColdFusion  etc...) Also with these new releases PHP makes available things like interfaces and abstract classes (not available in asp) and MYSQL5 makes available triggers, stored procedures and some other new good stuff

    LAMP stack.. thats my vote
    LVL 1

    Expert Comment

    Oh also ....

    By including PEAR extentions (PHP Extension and Application Repository) in your PHP code you can manipulate and create all kinds of Office documents (excel, word... ).


    Featured Post

    Free Trending Threat Insights Every Day

    Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

    Join & Write a Comment

    Preface In the first article: A Better Website Login System ( I introduced the EE Collaborative Login System and its intended purpose. In this article I will discuss some of the design consideratio…
    Introduction Since I wrote the original article about Handling Date and Time in PHP and MySQL ( several years ago, it seemed like now was a good time to updat…
    The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…
    The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

    728 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

    15 Experts available now in Live!

    Get 1:1 Help Now