Selecting the Right Language/Platform/Framework for a project

21 Jan
2009
There is no decision that will impact your decision more in any software project than choosing the correct tool. The language, platform, framework and architecture you employ will decide whether you sink or swim. The right choices will help buoy you through great developers and average developers.It is true that picking the right developers goes a long way, but if you handcuff them everything is going to be significantly slower, and tedious, leading to programmer burnout.

Anyone suggesting a language (including me) will only be giving their preference.

Pick the language that will best grow with your current and future needs. It will avoid major rebuilds.

Try to pick a language that you can easily “think” programming in. Each language will have it’s pro’s and cons, you’ll have to pick what is best short and long term for your situation (time available, money available, are other people involved, deadlines, etc.)

One language may offer more than the other and it’s something to certainly consider. The more you investigate now will save you more in the long term.

You might want to get a quote on a freelancing site for the major languages/platforms:

The five I’d recommend looking at are

  • Rails
  • PHP
  • ASP
  • Python (Django, etc)
  • Coldfusion

Depending on what your needs are now, and the future, you should see how many of those functions are built into the language, and how much you’d have to purchase and spend time/money integrating into the site.

Rails will likely get you up and running quickest. However make sure any custom work you want to do will be easy to do though.  be aware of any scaling issues.  I loved Ruby on Rails and thought it was for me.  Until I decided to “go off the rails” and it became as much work as PHP.

PHP has a wealth of pre-made packages (concrete5, joomla, drupal, etc) that may or may not work for you.  Great frameworks like Fusebox, CakePHP, etc exist.

Python has had some great libraries come out for it (Django and a few other) that make building quickly very nice. Again, it’s a learning curve you might have to factor in.

Coldfusion has is probably one of the most capable out of the box. It may be well suited for what you need as it has a large feature set built in that you would have to find or buy third party libraries.. To get past the commercial license costs of this option, you can look to very capable free/open source editions (Railo, etc).

I am a ColdFusion guy but its after being exposed to all of the above.  I like it and it works fantastic for me.  Coldfusion allows me to complete the work of much larger teams, allowing one to find the sweet spot between large projects and small teams and high quality software.

I would pick what saved me the most time, because I don’t have much free time. Python/Django has been looking intriguing, but I haven’t had a chance to play with it enough.

Comment Form

top