title: Linux Deamon in C++ or Java?
body: <p>I have a Windows service written by another developer who no longer works with me. It was written in C# with .NET 4.5 requirements. Our solution is making the move to Linux and the daemon naturally needs to be converted.</p>
  
  <p>My dilemma is what to rewrite it in? C++ or Java? The daemon is not complicated. It's simply a controller for our other applications to ensure if they crash or are killed they are restarted. Aside from that it performs health checks through a named pipe and is controlled via a password protected web socket via a separate management Tomcat web interface and writes all of it to logs.</p>
  
  <p>Please put aside any suggestions of "write in what you're most comfortable with" I have a fair amount of experience and knowledge in both languages, and I'll learn whatever else I need to as I go. My concern is the feasibility and effort to accomplish everything I need. I don't have any particular time constraints, but if one language is a fraction of the time of the other then maybe that's a better solution.</p>
  
  <p>Writing it in Java looks like the easiest solution currently, but writing it in C++ has the advantage of being native no-frills code. However, I haven't ever written any web interface or socket code in C++ before, so I do not know the effort involved with that.</p>
  
  <p>To break down my requirements:</p>
  
  <ul>
  <li>Linux</li>
  <li>Web interface for control</li>
  <li>Named pipe for communicating with client applications</li>
  <li>Existing code needs to be heavily refactored</li>
  </ul>
  
  <p>Is C++ or Java more appropriate?</p>
  
  <p>Edit: added more info</p>
  
  <p>Edit2: I guess I should have mentioned that the code needs to be heavily refactored anyways. It was originally written in such a way that renders it difficult to make changes and additions. So rewriting is a cleaner solution at this point. As I mentioned, it's not a large program. Just a controller service.</p>