Developers often have debates. No, not just debates but real holly wars: what language is the best. When we need to start the project, we often think about performance, scalability, readability, and other features with “ility” endings. But this is just an engineering point of view. Nowadays, these features are less important than community. Let’s take a real-world example.

Too many tools
Too many tools

Imagine you are building the house, and you need to buy a screwdriver to finish the work. There is a whole world of different screwdrivers, with cord and cordless, big and powerful, small and flexible, and a lot more. The one key factor that I missed: your house is in the middle of nowhere. It is located in the heart of nature, and the nearest shop to it is 2 hours by car.

You will take only one key factor to chose this tool: easy to support. If your battery dies - you will need to go to the shop and buy a new one. And it would be best if you were 100% sure that this task is easy and you do not have to visit all shops in your region. It should be strong enough to do the job, so new modern tools are not your choice. You want some dinosaur that is powerful and hard to kill.

The same strategy you are using for choosing the programing language.

Bunch of developers

When you need to scale your business very fast - you need to choose popular languages. And often, popularity means that the technology is not the best. It is just good enough. Php is popular, java and kotlin - the same. Scala, which is a pretty good language, is less widespread.

Even if your project will be 5% more buggy and less fast on php - you will still choose it instead of scala — lack of developers, we can not ignore this fact.

Fixing the boat

Even if you find enough resources at the beginning - you still need to think about the future. You can lose some devs during the developments. An during the COVID era bus factor is more real than ever. When you are in the middle of the process - it will be tough to change the language. You will have only one way - find missing resources.

My company works with Delphi, and when we need to hire two devs, we do not have any problems. For the last quarter, we hired one dev, and it was easy-peasy.

Ok, ok. You were adding 1-2 devs no problem. Imagine you need to hire 30% of Delphi devs. Right now, you have 70 of them - things getting complicated, Yes/No.

Scaling is hard. When you need to go from 11 to 21 docker containers, you change some numbers in the config, and that’s it. Scaling developers is a more troublesome task - think about that before choosing the fastest language in the world.