Question

Est-il possible de faire un logiciel de CAO / FAO sans avoir à utiliser le C ++? Mon entreprise a développé son logiciel avec c / C ++, mais c'était il y a plus de 10 ans. Aujourd'hui, il y a beaucoup de code hérité dont le changement nous obligerait à nous débarrasser, mais je me demandais quels étaient les risques. Nous avons beaucoup d'algorithmes mathématiques pour les calculs de parcours d'outil, la reconnaissance et la simulation de fonctions et le rendu 3D, et je me demandais si C # pouvait gérer tout cela sans perte de performance.

Est-ce une utopie de réécrire de tels algorithmes en c # ou est-ce que ce langage ne devrait traiter que de l’interface utilisateur. Nous ne parlons pas de développement de jeux ici (Halo 3 ou Call Of Duty), quel est donc le temps de traitement nécessaire à la CAO / FAO?

Quelqu'un peut-il m'éclairer à ce sujet? La plupart de mes collègues sont des programmeurs C ++ inconditionnels et bien que je programme en c ++, j'adore .NET, mais j'ai de la difficulté à leur vendre .NET autrement qu'à l'interface de base. Est-il judicieux d’envisager de passer à .NET dans un tel domaine, ou n’est-ce pas une bonne idée?

Merci

Était-ce utile?

La solution

Si vous avez beaucoup de code existant qui aurait besoin d'être réécrit, je ne pense pas qu'il soit logique de changer de langue. Même si l’utilisation d’un langage différent (ce qui est discutable) pouvait apporter des avantages, le coût de l’essai et du débogage du nouveau code dépasserait largement leur coût. Vous avez également une équipe de développement experte en C ++. Il y aurait une forte baisse de productivité pendant qu'ils maîtriseraient le nouveau langage.

Autres conseils

C # Peut interopérer avec du code C ++. Vous pouvez commencer à écrire du nouveau code en C # et le faire appeler le code c ++ existant si nécessaire. Cela ne devrait pas être juste pour l'interface utilisateur. Examinez les méthodes C ++ / CLI et C # Interop pour savoir comment utiliser le code c ++ existant avec le nouveau code C #.

J'ai également posé une question similaire ici: Performances C # pour le serveur proxy (vs C ++)

Les applications de CAO / FAO sont assez gourmandes en calculs et la vitesse sera certainement l’un des critères de sélection d’un package. Je ne voudrais donc pas passer à une langue plus lente.

Vous devez réfléchir très attentivement aux raisons pour lesquelles vous changez de langue. Est-ce parce que vous n'aimez pas le C ++, ou parce que C # apportera de réels avantages. Il est fort probable que votre application ralentira. Découvrez les comparaisons de vitesse C ++ C #.

Benchmarks en langage informatique Jeu C ++ vs C #

À mon humble avis, vous feriez mieux de conserver tous les calculs de parcours d'outil en C ++, et si vous vraiment devez déplacer le code dans un autre langage, déplacez-le vers un langage de script. que l'utilisateur peut facilement éditer, sans recompiler.

J'utilise des applications de CAO / FAO au quotidien, et plusieurs éléments de l'interface utilisateur m'énervent. Ce seraient des solutions simples si seulement je pouvais obtenir la source.

Si votre société crée une application de CAO / FAO avec une interface utilisateur écrite dans un langage de script que je peux modifier (Lua, Python, etc.), je vais en acheter une copie.

Hugo

Consultez pythonocc . Son vous fournit un module python qui enveloppe le noyau OpenCASCADE CAD. OpenCASCADE est le seul noyau open source de l'industrie à ma connaissance. Les fonctionnalités intéressantes sont le support STEP et IGES et la possibilité de générer des maillages FEM à partir de données BRep.

Vous devez également tenir compte de l’indépendance de la plate-forme: s’il existe une possibilité que votre / votre société ait besoin de migrer votre logiciel de CAO vers Linux / Unix (bien sûr, pour une décision commerciale), ce sera très pénible. Actuellement, même le C ++ avec des appels MFC / Win32 nous a donné bien mal à la tête ...

La bibliothèque Open Design Alliance est multi-plateforme. Ils ont récemment introduit une version bêta de la version .NET de leur bibliothèque. Voir ma réponse à la bibliothèque Open source de dessin au format source (dwg) en C # pour plus de détails.

Cela dit, je suis d’accord avec les autres réponses ici. Si ce n’est pas cassé, ne le corrigez pas, le code et les codeurs. MSFT utilise toujours le C ++, de même que l'ODA - leur base de code provient de C ++ & amp; est encapsulé pour .NET.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top