Executando verificação de segurança...
1

Em relação a produtividade, considero que ter uma vasta gama de bibliotecas disponíveis também é um ponto MUITO importante a se considerar.

Por exemplo, você pode até saber programar um algoritmo de treinamento da sua própria rede neural baseada em Transforemer, desde o início. Incluindo as derivadas parciais do backpropagation, etc. Mas ter uma biblioteca que já implementou isso pra você, ajuda DEMAIS na produtividade, né?

Outro ponto indiretamente relacionado à produtividade é trabalhar com uma linguagem que tem uma comunidade forte.

Por exemplo, pode ser que você encontre um edge case específico que ainda não foi resolvido. Quando isso acontece, você terá que: ou resolver o problema você mesmo parando de fazer aquilo que sua aplicação realmente necessita (improdutivo); ou esperar outras pessoas resolverem por você (que demora muito mais, já que tem menos gente utilizando a mesma linguagem que você).

Hoje em dia eu trabalho praticamente só com Python. Uso C/C++ quando estou em algum projeto pessoal de IoT (e passo muita raiva com o toolchain). Mas eu sigo acreditando que C# é uma das linguagens mais produtivas que já foram feitas, seguindo esses pontos que você mencionou, e somando com esses que eu mencionei. Tem seus defeitos, não é a mais performática do mundo, mas atende bem a vários requisitos que não sejam muito restritos em recursos computacionais (por exemplo, se não for pra sistemas embarcados).

Por fim, sobre seu projeto em específico, se você não quer trabalhar com um monolito, e haverá serviços grandes e pequenos, você tem a possibilidade de usar uma linguagem diferente para cada um deles. Talvez isso economize recursos e tempo (lembre-se que tempo é dinheiro).

Carregando publicação patrocinada...
2

Obrigado por comentar! Bibliotecas são um ponto crucial, para cada serviço eu dei uma olhada no que precisaria. Era um dos pontos extras que devia ter colocado no post. Nesse ponto, Java, C# e Golang se destacam muito.

Sobre C# em específico, tenho de dizer que ele realmente é uma exceção brilhante. Apesar da sintaxe (em partes) um pouco cansada, realmente é extremamente produtiva. Diria que parte desse sucesso está em bibliotecas muito bem pensadas. Sempre que desenvolvo uma arquitetura de server tento ser uma versão maus simples do Asp.net core.

Sobre utilizar múltiplas linguagens, acho que é completamente viável. Para o servidor principal, talvez eu crie um monólito modular. Porém ainda haverão serviços paralelos. Neles posso utilizar linguagens mais leves como tinha mensionado no post. Vamos ver como as coisas se desenrolam.

Novamente. Muito obrigado pelo comentário!