Came across this pros/cons table recently (some un-named company, when deciding on micro-service language-of-choice):
Mostly agree, except that
- We do have generics in Go (as of
1.18) and “… unfamiliar with the language” is true for any language
- The Python cons will remain as they are (though they should matter much less when not doing cpu-intensive tasks)
- The Rust cons will reduce as (1) it becomes less ‘new‘, and (2) the ecosystem becomes more ‘strong‘, and (3)
async/awaithas been standardized now, but yes, the memory model will always take time to learn.
Given this, and admitting a lack of Kotlin knowledge, IMO Go seems like a safe default choice (or Rust/Python where appropriate).