I am not quite sure how this came to be, but how does a person know what their website should be built/programmed in? What does that even mean?
Years ago I received a call. The crux was “I need this website built. I know nothing about websites, but I know it must be built in Ruby, specifically, Ruby on Rails (RoR).” I said OK, we can do that, but why RoR? The response was “Because it is new!”. New? “New” means untested, “New” means it needs to be evaluated for specific projects. Of course, we know RoR is a great development tool, but at the time it was “New” and with not much benchmarking, there was little to go on to make sure it was “good” for the job.
At some point everything is new – PERL, PHP, Ruby, ASP, .NET, JSP, Coldfusion. New does not scare developers, it just makes us think and learn. At Four Eyes we learn programming languages and approaches ll the time and mature with them. In time we learn what languages work well for different projects and what does not. The evaluation comes down speed, robustness and time to production.
Now, this phone call was very important to me. RoR had only been out a short time and I really needed to learn it — and I did. RoR catapulted me to further understand and appreciate frameworks. The beauty of Ruby is it forces the developer into a Model View Controller (MVC) framework where repetitive code for creating, reading, updating and deleting (CRUD) data are made trivial. It creates a clear structure for design elements and application logic — It makes building a website easier!
The current releases of PHP, .NET, JSP and Coldfusion all allow for similar development to RoR in that you can generate code through a framework. After chatting on the phone with this person and discussing some of the more granular aspects of the site we learned that RoR, PHP, .NET, JSP and Coldfusion would all work and would all yield the same result. The discussion moved to cost and production time and in the end Coldfusion with some JSPs won. The caller became a client and an idea became a website.
Sometimes we do receive calls from technical people who do know what, and more importantly why, they want their site built in a specific language or method. Reasons can be anything from legacy to familiarity. In some cases, where we do not support an application development direction, we are able to create a legacy so newer technology, tools and techniques can be used. For instance, Four Eyes is not big into .NET, however, in a Windows environment we can use Coldfusion to connect to .NET and interact with existing data and applications seamlessly. This type of education usually makes people smile.
So the question is, does it really matter what language you use to build your website? No.
First, let us get one thing out of the way; PHP, Ruby, .NET, JSP, Coldfusion. Python, etc. are all good. When utilized by a knowledgeable developer they all produce great sites. Yes, developers like some languages more than others and developers complain about some languages more than others, but they are all good. The people that walk around saying how one language “sucks” next to another are typically not seasoned and have limited exposure to other languages other than their core. If the developer knows what they are doing, then the language of choice is virtually irrelevant to your web site. The fact is the end-user does not know or care since all web pages are rendered in HTML.
Your website’s development language does matter for scalability. All the languages I have listed above can scale from a small site to an enterprise website. The coding methodology is important and also the the type of hosting the site uses. Sites like Ebay, Amazon, Facebook, Twitter, etc are built using carefully architected code and utilize dozens upon dozens of servers. They have also gone through many iterations. So really it is about the developer building the site with a mind for growth.
About 11 years ago, Four Eyes built Charity Navigator, We were told from day one the site was going to be big. Four Eyes utilized a solid framework to accomplish the site. The site is still going strong with that framework. I know, I talk a lot about frameworks and I stand by my words, frameworks are critical– geez, even WordPress is a quasi framework — not to mention FarCry, Drupal, Code Igniter, Yii, etc.
If you have your heart set on specific language for your site, ask yourself why. If you are unsure, I found a nice read called Programming Languages for the Web 2011 by David Matthias Stöck. It is a succinctly written thesis that is quite informative to learn more about web development languages.
In our shop we use PHP, Coldfusion and JSP. Why? We have 13 solid years of building with these tools and have found there is not a site we can accomplish without them.