Web Trenches

ColdFusion, PHP, Rails, ASP.NET, and more – What do I choose?

A common question that many business managers and owners have is, “What technology should be used to build my Web site?”  Ask an expert Web developer, and the answer to the question will usually be whatever language the developer is an expert in.  If you ask a PHP programmer about ASP.NET, they will usually say that it is not the right choice.  Of course, you’ll get the opposite answer from an ASP .NET developer.

So, what is the right answer to this question?

The advice I would give any business manager or owner is that it probably does not matter.  You should NOT be looking for the best language.  You should be looking for the best developer or development team.  Ask to review some of the projects that your prospective developer has completed.   Then, answer the following questions about the developer:

  • Are the samples you see comparable, or better, in quality to the Web sites your competitors have?  It won’t do you any good to pay for a brand new Web site that makes you look worse than your competitors.
  • Are the sites (or Web applications) easy to use?  It’s not a difficult concept to figure out.  If you can’t use what your programmer develops, others probably will not be able to.
  • Are the sites (or Web applications) visually appealing?  This is where many developers fall short.  If your development shop doesn't have a graphic designer, and you aren’t providing one, there is a good chance that the end product is not going to be visually appealing.  I am a developer, and like most developers, visual design is not my specialty.  So, I partnered with a group that has that expertise.

So now let's say you have your developer, but that question about what language/platform to use is still bothering you.  One of the developers you interviewed told you X language is extinct, and your top choice of developer uses X language.  Well, here are some general tips that should point you in the right direction.  Look at the Web sites and support forums for the language/platform.

  • Is the Web site for the language current?  Have there been any news updates or other content added recently?  If there has been no activity from the company in the last 6 months, then there is a pretty good chance it is not an active or growing language.
  • Have there been any new releases or updates for the language in the last 12 months?  You want to choose a language that is growing and changing.  The Web changes, customer expectations change, and so should the capabilities of the Web language your developer is using.
  • Is there an active developer community for the language?  Look for support forums, user groups, and other memberships for the language.  Are they active?

Let’s take Adobe ColdFusion as an example.  If you look at http://www.adobe.com/coldfusion/ you will see that news, articles, and other content are being kept current.  The company behind it supports it.   If I look in the downloads section of the site, I can see that a full new version was released within the last six months, and several updates were released prior to that.   Under Resources on their Web site, there are links to active user groups, forums, and bloggers. 

Of the other major Web development platforms, you will see that the same is true for PHP, Ruby on Rails, and Microsoft’s .NET options.  If you find the right developer, any of these languages is a good choice.  This is not an exhaustive list of the options available.

To tie all this together, I have one last word of advice.  The developer who puts down other languages and tells you that they are “dead” is probably not the best developer to choose.  Of course, every developer will have a personal preference and investment in a language.  However, the truly professional and solid developer will recognize that there are many options available for building Web products and just about any Web application or site can be built with a language that meets the qualifications above.

4 Replies to “ColdFusion, PHP, Rails, ASP.NET, and more – What do I choose?”

  1. My 2 cents.
    For the last few years I have worked with a small agency in the Digital Media / Advertising industry and we favoured ColdFusion (version 8+) as it enabled is to repidly develop robust media driven applications very efficiently and effectively. Never once ran into an issue we could not handle with ColdFusion and the community was super helpful too. Projects ranged from small to large (CMS + framework driven). In this industry some sites only stay live for weeks or months and have a very small window in which they needed to be developed. We found ColdFusion to be perfect for this purpose.
    Was also looking at this nice comparison site the other day and it’s interesting to have the syntax of a few languages side by side. If you stretch your mind you can begin to get a feel for how long it would take to develop certain projects with each language: http://www.encoding.com/wdocs/SampleScripts

    Cheers, good article.

  2. I have found that it usually isn’t one thing that seperates a great website from a not-so-great website, such as which language they used, but rather hundreds, if not thousands, of little things that makes a site great. I think companies who are in search of a great developer or team need to look for someone who knows their technology inside and out. Someone who knows his/her own strengths and weaknesses and also the srengths and weaknesses of the platform they are building on.

  3. It has been mentioned a few times here, but I would personally (as a digital project manager) place a great deal of emphasis on the framework. Using fusebox, or an equivalent framework not only facilitates development and communication, it unshackles the client from the developer since the code can be handed off to other teams conversant in the framework and language. If we are to provide true value and forward-looking solutions, this is an important ingredient. From the internal development perspective, it allows complete flexibility in resource allocation because any given developer can be quickly briefed, and it becomes practical for a developer to jump in on a specific task if we are crashing the critical path.

Leave a Reply

Your email address will not be published. Required fields are marked *