문제

C++를 사용하지 않고도 CAD/CAM 소프트웨어를 사용할 수 있습니까?우리 회사는 c/C++로 소프트웨어를 개발했지만 그것은 10년이 넘은 일이었습니다.오늘날에는 전환으로 인해 제거해야 하는 레거시 코드가 많이 있지만 실제 위험은 무엇인지 궁금합니다.우리는 도구 경로 계산, 기능 인식 및 시뮬레이션, 3D 렌더링을 위한 많은 수학적 알고리즘을 보유하고 있으며 C#이 큰 성능 손실 없이 이 모든 것을 처리할 수 있는지 궁금합니다.

그러한 알고리즘을 C#으로 다시 작성하는 것이 유토피아입니까, 아니면 해당 언어가 UI만 처리해야 합니까?여기서는 게임 개발(Halo 3 또는 Call Of Duty)에 대해 이야기하는 것이 아닙니다. CAD/CAM에는 실제로 얼마나 많은 처리가 필요합니까?

누구든지 이 문제에 대해 나에게 알려줄 수 있습니까?제 동료 대부분은 하드코어 C++ 프로그래머입니다. 저는 C++로 프로그래밍하지만 .NET을 좋아하지만 기본 UI 외에 .NET을 그들에게 판매하는 데 어려움을 겪고 있습니다.그러한 분야에서 .NET으로 전환하는 것을 고려하는 것이 합리적입니까, 아니면 현명한 생각이 아닙니까?

감사합니다

도움이 되었습니까?

해결책

다시 작성해야 하는 레거시 코드가 많은 경우 다른 언어로 전환하는 것이 비즈니스적으로 합리적이지 않다고 생각합니다.다른 언어를 사용하여 얻을 수 있는 이점이 있더라도(의심스럽다) 새 코드를 테스트하고 디버깅하는 데 드는 비용은 이를 극복하는 것 이상일 것입니다.C++ 전문가로 구성된 개발팀도 있습니다.새로운 언어를 익히는 동안 생산성이 크게 저하될 것입니다.

다른 팁

C# C++ 코드와 상호 운용할 수 있습니다.C#으로 새 코드 작성을 시작하고 필요할 때 기존 C++ 코드를 호출하도록 할 수 있습니다.UI만을 위한 것일 필요는 없습니다.새로운 C# 코드와 함께 기존 C++ 코드를 사용하는 방법에 대한 정보는 C++/CLI 및 C# Interop 메서드를 살펴보세요.

또한 여기에도 비슷한 질문을 했습니다.프록시 서버의 C# 성능(C++ 대비)

CAD/CAM 응용 프로그램은 상당히 계산 집약적이며 속도는 확실히 패키지 선택 기준 중 하나이므로 느린 언어로 전환하는 것은 조심스럽습니다.

언어를 바꾸는 이유에 대해 매우 신중하게 생각해야 합니다.C++를 좋아하지 않기 때문인가요, 아니면 C#이 실질적인 이점을 가져다주기 때문인가요?응용 프로그램 속도가 느려질 가능성이 높습니다.C++ C# 속도 비교를 확인하세요.

컴퓨터 언어 벤치마크 게임 C++ 대 C#

내 생각으로는 모든 도구 경로 계산을 C++로 유지하는 것이 더 나을 것입니다. 정말 코드를 다른 언어로 옮겨야 하며, 사용자가 다시 컴파일하지 않고도 쉽게 편집할 수 있는 스크립팅 언어로 옮겨야 합니다.

저는 직장에서 매일 CAD/CAM 애플리케이션을 사용하는데, UI에는 신경을 거슬리는 것들이 많이 있습니다.소스에 접근할 수만 있다면 간단하게 해결할 수 있을 것입니다.

귀하의 회사에서 제가 조정할 수 있는 스크립팅 언어(Lua, Python 등)로 작성된 UI가 있는 CAD/CAM 애플리케이션을 만든다면 사본을 구매하겠습니다.

휴고

보세요 pythonocc.OpenCASCADE CAD 커널을 래핑하는 Python 모듈을 제공합니다.OpenCASCADE는 제가 아는 유일한 업계 최고의 오픈 소스 커널입니다.좋은 기능은 STEP 및 IGES 지원과 BRep 데이터에서 FEM 메시를 생성하는 기능입니다.

고려해야 할 또 다른 사항은 플랫폼 독립성입니다. 귀하/귀하의 회사가 CAD 소프트웨어를 Linux/Unix로 마이그레이션해야 할 가능성이 있는 경우(물론 비즈니스 결정을 위해) 상당히 고통스러울 것입니다.현재 MFC/Win32 호출을 사용하는 C++조차도 우리에게 많은 골칫거리를 안겨주었습니다.

Open Design Alliance 라이브러리는 크로스 플랫폼입니다.그들은 최근 라이브러리의 .NET 버전 베타를 출시했습니다.내 답변 보기 C#의 오픈 소스 CAD 도면(dwg) 라이브러리 상세 사항은.

나는 여기의 다른 답변에 동의한다고 말했습니다. 깨지지 않았다면 코드와 코더 모두 수정하지 마십시오.MSFT는 ODA와 마찬가지로 여전히 C++를 사용합니다. 해당 코드베이스는 C++에서 시작되었으며 .NET용으로 래핑되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top