Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


which language to choose?

Posted on 2006-03-29
Medium Priority
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

ID: 16324216
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

ID: 16324323
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.


Author Comment

ID: 16325378
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.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

LVL 10

Expert Comment

ID: 16325520
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

DeanHorak earned 150 total points
ID: 16325894
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

ID: 16340260
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?



Expert Comment

ID: 16345630
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.tldp.org (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

Expert Comment

ID: 16345666
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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

578 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