Mind is Software

Ying’s thoughts about software and business

Choose a Programming Language for Businsess Applications

This article describes the development requirements of typical business applications. Then it shows why CSharp is the best candidate.

1. Business Application Requirements

Business applications today are mobile apps and web apps that talk to cloud-based backend systems. They can be depicted with a three tier arthitecture: front end (mobile app, SPA or server-render web pages), business logic and data access. Ideally a language should have a good support for all tiers.

Business applications are complex because they need to access many database sources and integrate with internal and external applications. The language should be efficient to have good productivity as well as popular to have strong community and ready-to-use libraries.

2. Why CSharp

The number 1 reason might be that C# is a language that can be used in all three tiers and has the best productivity for business application development.

This InfoQ article describes the status of using Xamarin as a cross-platform development tool. The nature of business applications makes it possible to use Xamarin Form to achieve 100% code reuse in most cases. It alos has the near-native performance. Xamarin customers and apps made with Xamarin have many showcases. [The good and the bad of Xamarin mobile development] is a good article discussing the pros and cons of Xmarain.

The best programming language for each situation also recommends C# as the one technology to build many things. Though it points out that C# is a slightly better language than Java, it doesn’t list C# as enterprise application development language.

Actually C# is much better than Java if one digs into the business application scenarios. The LINQ makes data access much easier and reliable. Entity framework allows code-first data model that significantly reduces code redundancy. Other important features such as simpler syntax (exception, get/set property, tuple etc), async/await support, ASP.NET core, and IDE are much better than Java eco system.

C# has gained popularity again because both the IDE and the dotnet full stack can run in mac/linux platforms with good performance.

Additionally, Anders Hensberg, the father of C#, might be the best programming language expert that has a proven history of creating languages for business application. Turbo C, Turbo Pascal, Delphi, C#, and TypeScript are all very successful languages.