Link to home
Start Free TrialLog in
Avatar of SSLC
SSLC

asked on

which language to choose?

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?
Avatar of L00M
L00M
Flag of United States of America image

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.

Avatar of DeanHorak
DeanHorak

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 http://www.ajaxwrite.com/

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.

Avatar of SSLC

ASKER

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.
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.
ASKER CERTIFIED SOLUTION
Avatar of DeanHorak
DeanHorak

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of F. Dominicus
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) http://swik.net/Seaside
- Wdialog (Ocaml) http://wdialog.sourceforge.net/
- UCW (Common Lisp) http://common-lisp.net/project/ucw/
   also TBNL, KPAX, BKNR, Webactions
- Webobjects (java, Objective-C) http://www.apple.com/webobjects/
- Scheme (check out the DrScheme pages)
- Ruby on Rails http://www.rubyonrails.org/
- Openacs (is a complete tool-chain of things) http://www.openacs.org/
- 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?

Regards
Friedrich

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/asp.net SQLserver implementaion (which I might add is not free like mysql)

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

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
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... ).

pear.php.net