The programming language wars

People usually argue that one language is better than the other. Most of this is opinion based, but lets see if we could add method to the madness.

There are three contexts in which this problem could be analyzed.

  1. The Engineering aspects of the programming language.
  2. The user’s context
  3. The ecosystem

The engineering aspects

Certain languages offer better constructs from an engineering perspective. Better could be in terms of  number of unknown impacts of using the construct. The lesser the better. As an example, shared memory along with concurrency is a very poor construct just from an engineering perspective.

The user’s context

Just better engineering capabilities are not enough to decide the language to use. We must consider the “average” programmer in your team and what are their expertise. They could be legends in constructing programs using a set of constructs, in which case, it would be unwise to ask them to program using something new. If you have a problem with this, you have no choice but to change the team. If the expertise is unclear, as is in most cases, the better the engineering capabilities,  the better the language.

The ecosystem

The third main dimension is the community around the language. This is the community that is going to write libraries and tools that will make application development easier in your chosen language. There are two kinds of communities (mature and slow) vs (new and fast). Older communities are generally slow to adopt or innovate new techniques. Newer communities are typically faster at doing that. 

The important thing is to evaluate your context against these dimensions. There is no one global language which suites all contexts.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s