是否有可能,而不必使用C ++做CAD / CAM软件?我公司开发自己的软件使用C / C ++但那是超过10年前。今天,有很多的遗留代码转换将迫使我们摆脱,但我想知道实际的风险是什么。我们有很多的刀具路径计算的数学算法,特征识别和模拟和3D渲染,我想知道如果C#能处理所有的,没有很大的性能损失。

它是一个乌托邦重写这样的算法在C#或应该语言只处理UI。 我们不是在谈论游戏开发这里(光环3或使命召唤)这样多少处理并CAD / CAM真的需要?

任何人都可以告诉我在这个问题上?我的大部分同事都是铁杆的C ++程序员,虽然我在C ++编程,我爱.NET,但我有一个很难卖.NET他们比基本的用户界面等。是否有意义考虑这样的域切换到.NET,还是仅仅是不是一个明智的想法?

感谢您

有帮助吗?

解决方案

如果您有大量的遗留代码,将需要重写,我不认为它使商业意义切换到不同的语言。即使有收益要使用不同的语言(这是值得怀疑的),测试成本和调试新的代码将超过克服这些困难了。你也有一个开发团队,在C ++的专家。将会有一个大的生产力下降,而他们想出了加快对新语言。

其他提示

C#可与C ++代码互操作。你可以开始写在C#新密码,并在需要的时候它调用现有的C ++代码。它不会是只是为了UI。看看C ++ / CLI和C#互操作方法,了解如何使用现有的C ++代码与新的C#代码。

另外,我在这里问类似的问题: C#性能对于代理服务器(对C ++)

看一看 pythonocc 。它为您提供了一个包装OpenCASCADE CAD内核的Python模块。 OpenCASCADE是唯一的产业实力开源内核我所知道的。好的特性是STEP和IGES支持,并从边界表示数据生成FEM网格的能力。

您需要考虑的另一件事是平台无关性 - 如果有,你/你的公司需要迁移CAD软件的Linux / Unix的可能性(当然,对于经营业务的决定),这将是相当痛苦的。目前,即使是C ++与MFC / Win32的电话给了我们许多头痛...

开放设计联盟库是跨平台的。他们最近推出了其库的.NET版本测试版。见我的回答开源CAD图纸(DWG)库在C#获得更多的细节。

说到这与其他答案同意在这里 - 如果它不破,不解决它,无论是代码和编码器。 MSFT仍然使用C ++,一样的ODA - 其基本代码在C ++中起源&缠绕用于.NET

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top