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.

Subscribe

Sign up for my newsletter and be the first to get the scoop on the coolest updates and what’s next in Advertising.

Powered by MailChimp

Leo Celis

LEAVE A REPLY