I'm in the interesting position of setting up a team from scratch: hiring the first software developers in a well-funded company. There is a team of data scientists who have been creating models in Python (which end up as docker images). I have no legacy code of any importance for all the surrounding code (UI, data fetching, data storage, etc.) that I need to support or maintain.
The guidance I'm getting from the CEO is that he wants to build a cutting-edge, next-generation company. There's budget to hire 10-20 tech staff.
I'm comfortable enough in all three languages (and others besides).
I don't want this to turn into a flamewar: the main criteria I care about are:
1. Long-term supportability
2. Bugginess of typical code generated in the language.
3. Availability of developers
What are your thoughts?
We've spent so much time fixing obscure bugs and behaviors that betray everything we've learned in the languages we used previously in our careers that it was really not worth it. And we still do. Finding developers is also an issue, as most developers do not really want to learn a new language, and Go is still not that common in enterprises (I used to be like that myself, but I've learned long ago that this shouldn't be such a big factor when thinking about a new job).
You can make the case that we're simply not good enough developers or Go is just not a good fit for the type of developers we are. Maybe. But the choices made in designing this language, and its popularity, absolutely baffle me.