Eu sou um codificador C ++ por tradição. Nos últimos 12 meses, eu tenho feito muita codificação em C # e fiquei agradavelmente surpreendido com a abordagem pragmática do C # (uma vez que parei de tentar codificá-lo como se fosse "C ++ com coleta de lixo").
Recentemente, tivemos alguns graduados e, ao ajudar um deles, percebi que ela estava usando .Net dentro de C ++. Depois de perguntar o porquê, ela disse que havia sido "instruída a usar C ++ por seu gerente". Problema de comunicação óbvio à parte, presumo que ela estava usando .Net porque é a única estrutura à qual ela foi exposta.
Em seguida, deparei com um projeto antigo de um desenvolvedor sênior que também usava C ++ para conduzir um front end do Forms. Agora, isso teria sido escrito na época em que o .Net apareceu pela primeira vez, então suponho que foi um exercício de aprendizado da parte dele para brincar com o .Net. Era apenas um pequeno aplicativo utilitário.
Depois de fazer algumas pequenas modificações neste aplicativo, pareceu-me que o uso de C ++ para dirigir .Net oferece o pior dos dois mundos. Sem coleta de lixo ou segurança de memória, mas sem oportunidades reais de otimização / velocidade, pois você está lidando com uma estrutura gerenciada.
Portanto, minha pergunta é se as pessoas usam o C ++ .Net para qualquer código de produção autônomo (ou seja, não hidráulico) e, em caso afirmativo, quais são as suas razões para isso? Admito livremente que nunca mergulhei profundamente nas extensões C ++ .Net, por isso posso estar fazendo um desserviço.