Pergunta

É possível fazer software CAD / CAM sem ter que usar C ++? Minha empresa desenvolveu seu software com C / C ++, mas que foi mais de 10 anos atrás. Hoje, há um monte de código legado que a mudança nos obrigaria a se livrar, mas eu queria saber quais são os riscos reais são. Temos um monte de algoritmos matemáticos para cálculos de percurso, reconhecimento de recurso e simulação e renderização em 3D e eu queria saber se C # pode alças tudo isso sem grande perda de desempenho.

É uma utopia para reescrever tais algoritmos em C # ou que deveria linguagem só lidar com UI. Nós não estamos falando sobre desenvolvimento de jogos aqui (Halo 3 ou Call Of Duty), de modo a quantidade de processamento não CAD / CAM realmente precisa?

Alguém pode me esclarecer sobre este assunto? A maioria dos meus colegas são incondicional C ++ programadores e apesar programa i na c ++ eu amo NET, mas eu estou tendo dificuldade em vender .NET para os outros do que UI básica. Faz sentido considerar a mudança para .NET em tal campo de um, ou é apenas não uma boa idéia?

Obrigado

Foi útil?

Solução

Se você tem um monte de código legado que precisaria ser reescrito, eu não vê-lo fazer sentido para os negócios para mudar para um idioma diferente. Mesmo que houvesse ganhos decorrentes de se usar um idioma diferente (que é questionável), o custo de testar e depurar o novo código seria mais do que superá-los. Você também tem uma equipe de desenvolvimento que são especialistas em C ++. Haveria uma grande queda de produtividade, enquanto eles vieram até a velocidade sobre a nova língua.

Outras dicas

C # pode interoperabilidade com código C ++. Você pode começar a escrever novo código em C # e tê-lo chamar código C ++ existente quando necessário. Ele não tem que ser apenas para UI. Olhe em C ++ / CLI e os métodos C # interoperabilidade para obter informações sobre como usar o código existente c ++ com novo código C #.

Além disso, eu fiz uma pergunta semelhante aqui: C # Desempenho Para Proxy Server (vs C ++)

CAD / CAM aplicações são bastante cálculo intensivo e velocidade será certamente um dos critérios para a seleção de um pacote, então eu seria cauteloso em se mudar para uma linguagem mais lento.

Você precisa pensar muito cuidadosamente sobre as razões para a mudança de idioma. Será que é porque você não gosta C ++, ou porque C # trará benefícios reais. É bastante provável a abrandar o seu aplicativo para baixo. Confira as C ++ C comparações # velocidade.

Computer Language Benchmarks Jogo C ++ vs C #

Na minha humilde opinião, você seria melhor fora de manter todos os cálculos de percurso em C ++, e se você realmente deve mover qualquer código para outro idioma, mova-o para uma linguagem de script qual o usuário pode editar facilmente, sem re-compilação.

Eu uso CAD / CAM aplicações a cada dia no trabalho, e há uma série de coisas na interface do usuário, que me dão nos nervos. Eles seriam correções simples se eu pudesse chegar à fonte.

Se a sua empresa faz uma aplicação CAD / CAM que tem uma interface de usuário escrito em uma linguagem de script que eu possa ajustar (Lua, Python etc), eu vou comprar uma cópia.

Hugo

Tenha um olhar em pythonocc . Sua fornece-lhe com um módulo python que envolve o kernel OpenCASCADE CAD. OpenCASCADE é a única fonte aberta força da indústria kernel que eu estou ciente de. Agradáveis ??características são STEP e apoio IGES e a capacidade de gerar malhas FEMININO partir de dados BREP.

Outra coisa que você precisa considerar é independência de plataforma - se houver uma possibilidade de que você / Você precisa de companhia para migrar o software CAD para Linux / Unix (Claro, por decisão bussiness), ele vai ser muito doloroso. Atualmente, mesmo C ++ com chamadas MFC / Win32 nos deu muitas dores de cabeça ...

A biblioteca Open Design Alliance é multi-plataforma. Eles introduziram recentemente uma versão beta da versão .NET da sua biblioteca. Veja a minha resposta para (dwg) biblioteca em C # para mais detalhes.

Dito isto Concordo com as outras respostas aqui - se não está quebrado, não conserte, tanto o código e os codificadores. MSFT ainda usam C ++, assim como a APD -. Suas origina codebase em C ++ e é envolto for .NET

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top