2016-12-22 1 views
0

다른 개발자가 저에게 더 이상 일하지 않는 Windows 서비스가 있습니다. 그것은 .NET 4.5 요구 사항을 가지고 C#으로 작성되었습니다. 우리의 솔루션은 Linux로 전환하고 데몬을 자연스럽게 변환해야합니다.C++ 또는 Java의 Linux Deamon?

내 딜레마는 무엇을 다시 작성해야합니까? C++ 또는 Java? 데몬은 복잡하지 않습니다. 충돌을 일으키거나 살해당한 경우 다른 응용 프로그램이 다시 시작되도록하기 위해 컨트롤러에 대한 것입니다. 그 외에도 명명 된 파이프를 통해 상태 검사를 수행하고 별도의 관리 Tomcat 웹 인터페이스를 통해 암호로 보호 된 웹 소켓을 통해 제어되며 모든 로그를 로그에 씁니다.

"당신이 가장 편안하게 글쓰기"에 대한 제안을 제쳐두십시오. 저는 두 언어 모두에서 상당한 경험과 지식을 가지고 있으며, 제가 가고자 할 때 필요한 다른 것을 배우게 될 것입니다. 내 관심사는 필요한 모든 것을 성취 할 수있는 가능성과 노력이다. 특정 시간 제약이 없지만 한 언어가 다른 언어의 시간의 일부분이라면 더 나은 해결책 일 수 있습니다.

Java로 작성하는 것이 현재 가장 쉬운 솔루션 인 것처럼 보이지만 C++로 작성하는 것은 기본 코드가 아닌 장점이 있습니다. 그러나 이전에 C++에서 웹 인터페이스 나 소켓 코드를 작성한 적이 없으므로 관련 작업에 대해서는 알지 못합니다.

분해하는 내 요구 사항 :

  • 리눅스
  • 기존 코드 클라이언트 응용 프로그램과의 통신을위한
  • 명명 된 파이프가 필요 이 크게 리팩토링 할
  • 제어를위한
  • 웹 인터페이스

C++ 또는 Java가 더 적절합니까?

편집 : 추가 된 추가 정보를

Edit2가 : 나는 코드가 많이 어쨌든 리팩토링 할 필요가 있음을 언급해야 같아요. 그것은 원래 변경 및 추가를 어렵게 만드는 방식으로 작성되었습니다. 그래서 재 작성은이 시점에서 더 깨끗한 해결책입니다. 언급했듯이, 그것은 큰 프로그램이 아닙니다. 그냥 컨트롤러 서비스.

+0

아마도 당신은 당신의 목록에 "C# With .NET Core"를 덧붙일 것입니다. – BradleyDotNET

+1

C로 그냥두고 가지 않고 Java로 작성하는 것이 더 쉬워 보이십니까? 나는 그 논리를 얻지 못한다. 이미 C#으로 작성되었습니다. 그것을 C#에 두는 것보다 더 쉬울 수 있습니까? – itsme86

+0

이 질문은이 사이트의 주제와는 거리가 멀어 보입니다. –

답변

2

.Net Core에 솔루션을 이식하는 것이 좋습니다. Linux (Mac)를 모든 목적과 목적으로 실행합니다. 대부분의 코드베이스에는 최소한의 리팩토링이 필요할 수 있습니다. 유일한 문제는 .Net Core에 현재 앱에서 지원해야 할 기능이있는 경우입니다. 그리고 .Net Core는 여전히 미리보기입니다.

+0

"미리보기"에 약간의 잘못된 이름이있을 수 있습니다. 적어도 1.0이 아니라면 1.1입니다. RTM입니다. https://blogs.msdn.microsoft.com/webdev/2016/11/16/announcing-asp-net-core-1-1/ – BradleyDotNET

+0

@BradleyDotNET 맞아.하지만 ASP.NET Core에만 적용됩니다. 실행되는 모듈 식 프레임 워크입니다. NET 및 .NET 코어. .Net 핵심 프레임 워크는 현재 미리보기 4에 있습니다. – SiriusBits

+0

미리보기에서 SDK : https://github.com/dotnet/core/releases 중에서 유일한 것으로 보이지만 버전이 반드시 일치하지는 않습니다. – BradleyDotNET

관련 문제