Which programming language should I choose?
Hi, I’m Simon. I help companies to design scalable and easy to change software systems that fit their needs and capabilities.
Currently I am on holiday but software architecture is everywhere. Did you know that ice cream offers a great way to explain the most common decisions about software architecture? One can solve anything with ice cream 😉
Let’s start with today’s question: Which programming language should I choose?
This is a question I get asked a lot from start-ups and companies that start a new software project. It is an essential decision for sure. Software architecture is about making future changes easy. Changing the programming language of a project later is one of the hardest things to do because it means redoing everything. So, we have to make a conscious decision, and, sadly, we need to do it very early in a project.
How do you choose the right one?
Think of the decision as choosing one sort of ice cream that pleases everybody in a group of people.
First, you will get the best result if you involve your team in deciding, but don’t let them make exotic choices. You want a flavor that also pleases future team members. Keep in mind that hiring developers is hard these days.
They will most likely choose vanilla, chocolate, or strawberry — boring but commonly liked flavors. This is not exotic, not hip, but you can get it at any ice cream place.
Exotic and hyped choices are too unpredictable. Will you be able to find developers that like this flavor? Will the exotic option be around for the lifetime of your project?
Make a boring choice. Boring in the sense of “well and commonly understood.”