Adopting new programming languages

Vimukthi Wickramasinghe
Vimukthi in Cyberspace
2 min readFeb 21, 2018

--

I’m always curious to explore new programming languages. But the decision to adopt them for my own work depends on answers to 3 key questions.,

  1. Does the language provide some important features that I already miss in the languages I use?
  2. Does it make me more productive than now?
  3. How much of an inertia would I face from others in a team If I suggest that we switch to the new language?

The 1 and 2 may look a little related since some new features can make you more productive as well. But they sometimes can bring much more value than just a productivity increase. For example a new language might have better runtime performance for the kind of tasks that I do daily(mostly building APIs and data processing pipelines). Or the said language may be much better equipped at handling concurrency. In fact these are the exact reasons why I decided to learn Go while I was still mostly a Java developer.

Productivity is partly a subjective thing as no one is going to feel productive in a language that they hate already. But to define it more objectively I try to measure the amount of code that I have to write for a particular programming task that is common in my line of work. I would dive into this topic more deeply with example code in a later post.

The third is probably the biggest reason why some new programming languages get adopted fast while others die out. If its hard to convince a team of the ROI of learning and adopting a new programming language then that language would have a hard time making it in the real world.

--

--