Picking Core Language For Large Scale Web Platform

programming-languages

Now I have work with PHP and ASP.NET quite a bit and also played around few other language for web development. I am now at a point where need to start building a backend platform that will have the ability to support a large set of applications and I am trying to figure out which language I want to choose as my core language. When I say core language I mean the language that the majority of the backend code is going to be in. This is not to say that other languages won't be used because my guess is that they will but I want a large majority of the code (90%-98%) to be in 1 language. While I see to benefit of using the language that is best for the job, having 15% in php, 15% in ASP.NET, 5% in perl, 10% in python, 15% in ruby, etc… seems like a very bad idea to me (not to mention integrating everything seamlessly would probably add a bit of overhead).

If you were going to be building a large scale web platform that need to support multiple applications from scratch, what would you choose as your core language and why?

Best Answer

I agree that you don't want to create a Whitman's Sampler of languages. Tracking different versions of different languages creates a serious maintenance burden, which is multiplied across all of the systems used to develop and deploy your app. It also means that your team members need to be multilingual in order to deal with day-to-day operations.

For a number of reasons, Python is my preferred language, but there appear to be fewer experienced Python programmers in the job market than there are PHP or Java programmers. Since you describe this as a large scale web platform, you must take your TCO into account (that means your own company's TCO and/or your client's), and the choice of language can have a definite impact on it: in terms of available personnel, initial development time/cost, and long term maintenance and upgrades.

From a performance angle, your choice of database will almost certainly have far more impact on the project than your implementation language.

Related Topic