DEV Community

loading...

Discussion on: There are very few cases where the language choice actually matters?

Collapse
rhymes profile image
rhymes

Hi Lance, as a lot of things in software development, it depends.

Language choice is not a binary choice. It's a mixture of preference, the market (offers and availability), good old trends, requirements and more.

What a lot of big tech companies teach us, in hindsight, is that it doesn't always matter that much. Time to market matters much more and it really depends on what you're trying to do.

If you read High Scalability for a while you'll notice that the language itself is almost never the biggest scalability pain point.

That doesn't mean that it's not important. Having 3 nodes instead of 1 because language X is slower than language Y might be very important if the budget is tight. But the tight budget has to be paired with developer experience and time to market. Let's say that you use language Y which allows you to save 2 servers worth of money. What if your developers are going to take 3 months instead of 1 to finish the product because they are inexperienced, is that really the best choice?

There are domains and situations where language really does matter and usually it's about constraints (be them of speed, of resource usage and so on).

I believe that the truth lies somewhere in the middle.

There's also another aspect: a lot of people really love their language of choice, which mean that they'll actively seek companies who use it as the primary tool of development. Sometimes they'll even build whole careers around that language and its community, which means they won't be particularly interested in working in places that don't use such language.

The best choice is to learn more than one, you can't have a choice if you don't at least know what's out there.

Collapse
bachmeil profile image
Lance Bachmeier Author

The best choice is to learn more than one, you can't have a choice if you don't at least know what's out there.

Language choice is a hard optimization problem to solve, but it's a lot harder if you're not familiar with the options. Or at least it's harder to get right if you're not familiar with the options, but on the other hand it's easy when you don't have to make a decision.