Confronting the Avalanche of Challenges

Throughout my programming career, I realized that opting for an ill-suited programming language could set off a disastrous cascade of obstacles: from obsolete libraries to the quest for engineers proficient in the chosen language.

The Common Decision-Making Approach

Startups often opt for a programming language based on the tech founders’ or first engineers’ prior experience with a specific framework. 

For instance, a Python aficionado wouldn’t build a CMS from scratch but would use a framework like Django.

I haven’t yet seen a startup selecting a programming language strategically. 

Initially, the priority is to hack something quickly and ship a prototype, which means using the framework the engineers know best.

Microservices and Serverless Architectures: Shifting Perspectives

The debate over a company’s “best language” has become less significant with the emergence of microservices and serverless architecture. 

You can encapsulate services, making the chosen language less critical.

The Influence on Team Productivity

There’s a hidden reality: the programming language you pick will affect your team’s productivity, potentially by a factor of 5x or more.

For example, Paul Graham presumably gained an edge over other e-commerce platform builders by employing Lisp in his Viaweb product.

However, dedicating a month to debating or testing programming languages isn’t a practical approach either.

Lifespans of Renowned Programming Languages 

Regardless of what language you choose, you can easily see that they will stay for the long term:

  • C – Introduced in 1972: 51 years 
  • C++ – Introduced in 1985: 38 years 
  • Java – Introduced in 1995: 28 years 
  • Python – Introduced in 1991: 32 years 
  • JavaScript – Introduced in 1995: 28 years 
  • C# – Introduced in 2000: 23 years 
  • PHP – Introduced in 1994: 29 years 
  • Ruby – Introduced in 1995: 28 years 
  • Swift – Introduced in 2014: 9 years 
  • Go (Golang) – Introduced in 2009: 14 years

Identifying the True Essence of Choosing a Programming Language

So, what are the right criteria for selecting a programming language? Is it longevity, scalability, or familiarity?

The most vital aspect is speed: the speed of learning the new language, the speed of coding in the new language, and the speed of adapting and refactoring your code. 

While a scalable language was crucial in the past, it’s less important in today’s seemingly infinite CPU power and storage capacity.

Leo Celis

LEAVE A REPLY