Como avaliar os prós e contras ao mudar idioma
-
05-07-2019 - |
Pergunta
Eu estou trabalhando em uma empresa que desenvolve kernels de computação. Seu design é simples: é uma biblioteca em C ++ que tem apenas uma função disponível para computar resultados fora dos dados disponíveis.
Existem basicamente quatro etapas em cada um desses núcleos:
-
recuperar conteúdo XML (formato foi definido em um arquivo XSD) e armazenar em objetos
-
definir um problema matemático usando os objetos acima
-
usar um agente de resolução para encontrar uma solução (ou a solução óptima)
-
resultados de exportação em um novo arquivo xml
Atualmente, nossos recursos são muito em termos de capacidades e interesses (e não tanto na programação) orientada para o modelo. Obviamente, nós queremos tornar o ambiente mais amigável e eficiente possível. Estamos avaliando o uso de c # usando LINQ e Microsoft Solver Foundation como um substituto para c ++ e em casa ferramentas-made.
As minhas perguntas são:
-
Can LinQ e Fundação Solver fazer tudo isso? Como seria fácil de usar?
-
Quais seriam os ganhos / perdas de mudar o ambiente para os nossos recursos (tempo para aprender e reescrever, eficiência, etc.)?
-
Existem outras opções interessantes que eu deveria considerar?
Solução
Você deseja obter enormes benefícios mudando para C # / LINQ em termos de trabalho com o XML e até mesmo com um monte da matemática. Haveria uma ligeira curva de aprendizagem (de modo que é um con), mas em apenas um par de semanas, eu estou certo que você estará rindo de quão mais fácil de codificação C # 3 / LINQ é.
Eu digo isso por experiência ... e eu especificamente mencionada "C # 3" (em oposição a apenas C #), porque quando eu convenci meu companheiro de C # 2 colegas para ir para 3 / LINQ, eles experimentaram o acima: )
Outras dicas
Eu digo que qualquer C ++ desenvolvedor de aplicativos deve dar uma boa olhada em C #. Na minha opinião, muitos dos problemas que você resolve em C ++ pode ser resolvido muito mais rápido em C #. Não é uma língua difícil de aprender vindo de C ++ em tudo. Eu diria, antes de decidir, veja C # para uma semana ou assim e ver o quanto você como ele.
Boa sorte:)