When choosing the back-end programming platform for a application, I generally start with one question? is this an enterprise application? If the answer is yes, then it is best to use the back-end programming platform that is inherent in your organization. Since my organization is based on Microsoft products, I build my ERP apps using ASP.Net and C# on the back-end.

The Right Tool For The Problem

Java, PHP, Python, Scala and even the modern day Node and JavaScript back-ends are all great in their proper arenas. Python for example would be the weapon of choice for anything related to big data or analytics. But if I need to connect to Azure Active Directory and incorprate an ETL pipeline from Microsoft Dynamics AX,  then I can see clearly that the ASP.Net framework has classes in the framework that make my life easier. What’s more, the infrastructure in the company is mostly Windows servers, so the admin team here is just more readliy available to help me out than if I had built something out of band.

  • ASP.Net – C#

  • Web API + MVC

  • Entity Framework ORM

There will always be niche languages that exist for no other reason than the fact that some programmers just want to be different for the sake of being different. Ruby on Rails appears to me to be one of those languages. And God bless the programmers who use it, they really are making some incrediblly great applications and websites. I just cannot see any discernable reason to choose Ruby over the alternatives except for just thumbing your nose at the existing institutions.