언어를 변경할 때 장단점을 평가하는 방법
-
05-07-2019 - |
문제
컴퓨팅 커널을 개발하는 회사에서 일하고 있습니다. 그들의 디자인은 간단합니다. C ++의 라이브러리로 사용 가능한 데이터에서 결과를 계산할 수있는 한 가지 기능 만 있습니다.
이 커널마다 본질적으로 네 단계가 있습니다.
XML 컨텐츠 검색 (형식은 XSD 파일로 정의 됨) 및 객체에 저장
위의 객체를 사용하여 수학적 문제를 정의하십시오
솔버를 사용하여 솔루션 (또는 최적의 솔루션)을 찾으십시오.
내보내기는 새로운 XML 파일로 결과를 내립니다
현재 우리의 리소스는 기능과 관심사 측면에서 매우 많은 모델 지향적입니다 (프로그래밍에는 그리 많지 않음). 분명히 우리는 환경을 가능한 한 친절하고 효율적으로 만들고 싶습니다. 우리는 LINQ를 사용하여 C#의 사용을 평가하고 있습니다. Microsoft Solver Foundation C ++ 및 집에서 만든 도구를 대체합니다.
내 질문은 다음과 같습니다.
Linq와 Solver Foundation이 그 모든 것을 할 수 있습니까? 사용하는 것이 얼마나 쉬운가요?
우리의 자원의 환경 변화 (배우고 다시 쓰기위한 시간, 효율성 등)의 이익/손실은 무엇입니까?
고려해야 할 다른 흥미로운 옵션이 있습니까?
해결책
You would get huge benefits by switching to C#/LINQ in terms of working with the XML and even with a lot of the math. There would be a slight learning curve (so that's a con), but in just a couple of weeks, I'm sure you'll be laughing at how much easier coding C#3/LINQ is.
I say this from experience... and I specifically mentioned "C#3" (as opposed to just C#), because when I convinced my fellow C#2 colleagues to move to 3/LINQ, they experienced the above :)
다른 팁
I say that any C++ application developer should take a good look at C#. In my opinion, many of the problems that you solve in C++ can be solved much quicker in C#. It is not a hard language to learn coming from C++ at all. I would say, before you decide, check out C# for a week or so and see how much you like it.
Good luck :)